Vincent Breitmoser
583c5b0432
extract Account.getLocalStore into LocalStoreProvider
2018-11-29 18:22:12 +01:00
Vincent Breitmoser
a42d1111ae
move extensive setter logic out of Account into saveAccount()
2018-11-29 18:22:12 +01:00
Vincent Breitmoser
6276450c65
move loadAccount logic into AccountPreferenceSerializer
2018-11-29 18:22:12 +01:00
Vincent Breitmoser
86bc5ed823
extract "save" method from Account (and fix unit tests)
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
6c71b13e9b
extract move methods from Account
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
912b5d70a4
extract AccountSearchConditions and LocalKeyStoreManager from Account
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
7819045e1b
Extract deletion and saving of accounts into AccountManager
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
213646d56c
rename _is-reply attribute to _is-reply-to-encrypted
...
as per dkg's comment in https://github.com/autocrypt/autocrypt/pull/376#discussion_r194886487
2018-11-29 14:05:46 +01:00
Vincent Breitmoser
29874cf99f
add unit tests for draft state header
2018-11-29 14:00:46 +01:00
Vincent Breitmoser
4c295e2f1b
use @JvmStatic instead of Companion reference, code style
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
825f06b1f3
fix unit tests
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
7040f855a5
save plaintext subject for encrypted drafts
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
d0e588fb9f
Save draft state in message header for now
...
Apparently, storing the draft state header in the encrypted payload
introduces difficulties in Enigmail due to restrictions from
Thunderbird. To stay compatible, this commit keeps the draft state in
the outer header for now, but we should move it into the encrypted
payload if the issue with Thunderbird is somehow resolved.
see: https://github.com/autocrypt/autocrypt/pull/376#issuecomment-384293480
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
39a732d0c3
Honor encrypt all drafts setting during message compose
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
18ad00790a
Add setting to store all drafts encrypted
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
f9527b9e67
allow building drafts with no recipients in PgpMessageBuilder
2018-11-28 12:23:33 +01:00
Vincent Breitmoser
6a19eb3d3a
convert ComposeCryptoStatus to kotlin
2018-11-28 12:23:33 +01:00
Vincent Breitmoser
e1015d325b
Load draft state from AutocryptDraftState header
2018-11-28 12:23:32 +01:00
Vincent Breitmoser
07b272a161
Add Autocrypt-Draft-State header to saved drafts
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
47451c89fe
Enable encryption if editing an encrypted draft
...
This commit is a hack. It assumes that if a draft is encrypted, the user
chose to encrypt at some point and sets the status based on that
assumption. This is only an assumption though, which becomes a problem
e.g. if some other MUA encrypts all drafts. At some point we should
remember the actual user choice.
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
74a7094944
Move K9-Identity header into encrypted body for encrypted drafts
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
108db7e8a4
Load draft text from correct part
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
d55be9edc4
Encrypt drafts to self
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
0455157eb7
Merge pull request #3632 from GoneUp/runtime_contacts
...
Runtime permissions for contacts
2018-11-28 10:56:27 +01:00
Vincent Breitmoser
94585ffd93
Merge pull request #3745 from morckx/add-accounts-header-to-drawer
...
Add accounts header to the drawer
2018-11-28 10:51:45 +01:00
cketti
1da164bed4
Code style cleanup
2018-11-28 05:16:01 +01:00
cketti
c76d85adde
Use request permission rationale mechanism instead of showing toast
2018-11-28 05:16:01 +01:00
cketti
4a79664139
Move common permissions code to K9Activity
2018-11-28 04:26:05 +01:00
cketti
9cc5b0f179
Don't request permission when recreating Activity from saved state
2018-11-28 03:15:56 +01:00
hstrobel
40143ae207
Addressed Review feedback, extracted EmptyCursor to a own class to reduce duplicated code
2018-11-28 01:24:09 +01:00
hstrobel
72c3ac5ad0
Addressed Review feedback
2018-11-27 23:16:37 +01:00
Henry
455228f182
Added mime4j-dom dependency in app:ui to make sure the package is available. Without it DefaultAddressParser is not found in the RecipentLoaderTest even though the dependecy is declared in common. Looks like a gradle bug to me.
2018-11-27 23:16:37 +01:00
GoneUp
249512e367
Implements runtime permissions for contacts, rebase of #3176
...
A thing to note is that the permission request will only show up when the targetsdk is upped >23.
Old commit message that explains the change:
--
The approach was to make it so that any K9Activity can easily request
whatever permission in the future.
The Contacts permission is now requested in two locations:
1. When a list of Messages is displayed
2. When a new message is first started to be composed.
The permission request is displayed ONCE per onCreate(). Any more than this
and it got really annoying. A typical user who reads or writes emails
WILL see the request, trust me. Once they see the message 2x, they
also have the option to block the requests from appearing.
If they DECLINE the request (or decline + DENY any further attempts),
the app should continues to work, albeit without incorporating contact data
(thumbnails, autocomplete, etc.). Contacts may still be added to the
Contacts app, as this uses an Intent and does not require any permission.
Once the Read Contacts permission is enabled, the app immediately begins
to use it.
To add other permissions in the future (such as External Storage access),
the request can be made in a similar way and the permission request result
handled appropriately by just adding it to K9Activity (or overriding in
a particular Activity).
2018-11-27 23:16:36 +01:00
Marc K
e9d3c14ff8
Add a tinted background image to the drawer account header
...
... using the configured account color as tint color.
Thanks @ByteHamster
2018-11-27 21:19:24 +01:00
morckx
269656dbe3
Render message lists in the background after account switch
2018-11-26 23:53:56 +01:00
morckx
cced6e34f2
Move openRealAccount from Accounts to MessageList
2018-11-26 23:13:05 +01:00
morckx
455b0f2c6c
Make MessageListViewModel.getFolders aware of account switches
2018-11-25 10:50:07 +01:00
morckx
63154d0602
Remove more leftovers
2018-11-25 10:41:11 +01:00
morckx
e5fbedb541
Don't forget to set the photo icon
2018-11-25 00:08:44 +01:00
morckx
98d92d9cf2
Use contact photos as account icons
2018-11-24 23:58:10 +01:00
morckx
f11d0e47ec
Fix account selection and folder list not beeing updated
2018-11-24 23:51:02 +01:00
morckx
a5196ed2f6
Clean up leftovers
2018-11-24 23:51:02 +01:00
cketti
7736d3610e
Merge pull request #3643 from williamvds/master
...
Use an adaptive icon
2018-11-24 18:33:26 +01:00
cketti
f3686a3ff3
Merge pull request #3740 from morckx/fix-uninitialized-drawer-use
...
Don't try to operate on an uninitialized drawer
2018-11-24 18:25:18 +01:00
morckx
830535081a
Use font awesome icon also also for normal account
2018-11-24 13:59:26 +01:00
morckx
ef5cbfb1ec
Use faw-users icon for unified inbox in accounts header
2018-11-24 13:59:26 +01:00
morckx
e8e03b1635
Show detailed unified inbox description in accounts drawer header
2018-11-24 12:22:06 +01:00
Marc K
1e4c7510a6
Add accounts header to the drawer
2018-11-23 22:17:34 +01:00
morckx
ed7ca86b04
Don't forget to set actionBarSubTitle visibility when drawer is null
2018-11-23 21:26:37 +01:00
Vincent Breitmoser
33261885e9
Merge pull request #3742 from k9mail/selectableItemBackground
...
use native selectableItemBackground
2018-11-23 15:44:09 +01:00
Vincent Breitmoser
88a3167b25
use native selectableItemBackground
2018-11-23 15:42:23 +01:00
Marc K
7f8894c8f9
Don't try to operate on an uninitialized drawer
...
This is necessary whenever the account list is configured as default
starting view.
Fixes #3716
2018-11-22 12:14:05 +01:00
Vincent Breitmoser
81f496b7f3
Refresh OpenPGP provider setting onResume, and small cosmetic changes
2018-11-21 14:25:34 +01:00
Wiktor Kwapisiewicz
54d71ac54a
Remove partially constructed accounts on resume
...
Resuming account setup activity when the account has been partially
constructed (the setup has not been finished) resulted in having unsaved
account with ID = -1 in the accounts list. The application would then on
resume proceed to messages list but there won't be any folders as the
setup has been aborted.
The fix clears the list of accounts on resume and create so that the
application properly reacts to the event of no setup accounts.
Fixes #3717 .
2018-11-20 15:10:06 +01:00
cketti
f168985b0b
Merge pull request #3709 from k9mail/automatic_special_folder_selection
...
Automatic special folder selection
2018-11-19 15:47:01 +01:00
cketti
c7a7bbfc8c
Extract strings
2018-11-14 03:32:26 +01:00
cketti
05c091212c
Rename NotificationChannelUtils to NotificationChannelManager
2018-11-14 02:30:55 +01:00
cketti
5e00abfaac
Add support for SpecialFolderSelection to FolderListPreference
2018-11-13 20:38:45 +01:00
cketti
a519c91b64
Add SpecialFolderSelection to Account
2018-11-13 20:38:45 +01:00
cketti
fa1d6aab18
Remove EXTRA_SHOW_FOLDER_NONE from ChooseFolder
2018-11-11 23:28:41 +01:00
cketti
a1b48780fd
Use null instead of special folder value K9.FOLDER_NONE ("-NONE-")
2018-11-11 23:28:41 +01:00
cketti
fe8d01dc32
Merge pull request #3699 from ojiofong/oji-notification-channel-from-ByteHamster
...
Add support for notification channels
2018-11-11 17:18:33 +01:00
Oji Ofong
a1b3cc8f1f
Improve notification channel
2018-11-10 09:40:46 -05:00
cketti
9711b42412
Remove unused Folder.FolderType
2018-11-09 14:19:36 +01:00
ByteHamster
222fc0dcf8
Notification channels
2018-11-07 22:08:55 -05:00
williamvds
88475015ef
Provide adaptive icons
2018-11-04 14:50:14 +00:00
williamvds
424b71cdfc
Move app icons to mipmap directories
2018-11-03 14:02:39 +00:00
cketti
acf6e7c041
Merge pull request #3623 from ByteHamster/main-settings-page
...
Added icons to main settings screen
2018-11-01 04:20:50 +01:00
ByteHamster
23d0ab78cb
Added icons to main settings
2018-11-01 04:08:35 +01:00
cketti
63b3379e5d
Use TextQuoteCreator instances instead of static method
2018-10-25 01:41:00 +02:00
cketti
224174273c
Merge pull request #3650 from williamvds/drawer
...
Add preferences and unified inbox to drawer
2018-10-24 03:27:27 +02:00
cketti
387a668857
Fix item selection in drawer
2018-10-24 03:14:02 +02:00
cketti
a6040a90fc
Don't mutate list of folders being passed to K9Drawer
...
When the same list is passed in again it will be reversed another time
and folders show up in the wrong order. This happens e.g. on orientation
changes.
2018-10-24 02:56:42 +02:00
cketti
edef1e16b5
Code cleanup and variable/field renaming
2018-10-24 02:52:06 +02:00
williamvds
02b253b0f1
Detect and select unified inbox in drawer
2018-10-21 13:31:58 +01:00
williamvds
58598c07cc
Add unified inbox to drawer
2018-10-21 13:09:00 +01:00
williamvds
e5a9580551
Add Settings to drawer
2018-10-21 11:18:56 +01:00
williamvds
d6daea3c12
Move drawer logic from MessageList into K9Drawer
2018-10-21 11:03:10 +01:00
cketti
a8d14c1dc7
Code cleanup
2018-10-18 22:01:10 +02:00
ByteHamster
b2c232e40a
Search function for general settings
2018-10-18 20:57:43 +02:00
cketti
0351dc8694
Hide 'upload sent messages' setting when Backend doesn't support uploads
2018-09-04 18:05:03 +02:00
cketti
7af007ad2f
Add setting to disable uploading of sent messages
...
Some providers automatically add messages sent via their outgoing
server to the Sent folder.
2018-09-04 18:05:03 +02:00
cketti
18bbd76783
Add a way to inject SchemaDefinition into LocalStore
2018-09-03 00:57:41 +02:00
cketti
24b2fbcc9d
Merge pull request #3592 from k9mail/remove_unnecessary_type_casts
...
[Cleanup] Remove unnecessary type casts
2018-09-03 00:42:39 +02:00
BO41
96be7af3f6
Remove unnecessary type casts
2018-09-03 00:31:12 +02:00
cketti
56882dc6c3
Fix unresolved references in Javadoc comments
2018-09-03 00:13:58 +02:00
BO41
c043eb0df4
Replace explicit type arguments with <>
2018-09-02 23:35:09 +02:00
cketti
ffd57c4e86
Merge pull request #3589 from k9mail/BO41_code_cleanup
...
[Cleanup] Improve accessibility, correctness and performance
2018-09-02 23:04:02 +02:00
BO41
f24cb76d9e
Improve accessibility, correctness and performance
2018-09-02 22:49:48 +02:00
cketti
ae76f07ada
Merge pull request #3588 from k9mail/simplify_if_statements
...
[Cleanup] Simplify if statements
2018-09-02 22:48:21 +02:00
BO41
86dde4dabf
Remove unused imports
2018-09-02 22:31:34 +02:00
BO41
dbea2cafa6
Simplify if statements
2018-09-02 22:27:28 +02:00
cketti
97c0d7d4e9
Merge pull request #3572 from k9mail/change_removed_broadcast
...
Don't broadcast message details when message was removed
2018-09-01 17:47:34 +02:00
cketti
9c9c9d475f
Don't broadcast message details when message was removed
...
Turns out reading the message from the database after it has been
deleted doesn't work particularly well 🤦
2018-08-27 01:25:07 +02:00
cketti
721c97fe39
Make MessageLoaderHelper call callbacks on the main thread
2018-08-20 18:33:12 +02:00
M Madison Phillips
33e74567c5
Don't crash when MessageCompose is started with no account configured
2018-08-15 03:55:00 +02:00
cketti
da6eca639c
Move file to correct location
2018-07-26 23:44:11 +02:00
cketti
9eefb0be40
Don't call Contacts.getPhotoUri() from main thread
2018-07-23 17:32:45 +02:00
cketti
79d6d79d1a
Refactor ContactPictureLoader
2018-07-23 17:12:32 +02:00
cketti
e7bf621822
Get rid of FallbackGlideParams
2018-07-23 16:37:54 +02:00
cketti
f610be227b
Add configured background color of fallback contact picture to cache key
2018-07-23 16:20:41 +02:00
cketti
dc785a8e92
Fix error handling when refreshing the folder list fails
2018-07-22 18:31:41 +02:00
cketti
4faf17fbf2
Use Koin for creating instances of ContactPictureLoader
2018-07-21 16:06:17 +02:00
cketti
9ada669e0b
Convert ContactPictureLoader to Kotlin
2018-07-21 16:06:17 +02:00
cketti
2dd7d00f8d
WIP: Renaming file 'ContactPictureLoader' with Kotlin extension
2018-07-21 16:06:17 +02:00
cketti
9f84e43541
Use Koin for dependency injection in contact picture loading classes
2018-07-21 16:06:17 +02:00
cketti
e814b5dca0
Extract code to draw fallback contact pictures to a separate class
2018-07-21 16:06:17 +02:00
cketti
c787845ebe
Extract code to get a displayable contact letter to separate class
2018-07-21 16:06:17 +02:00
ByteHamster
4ecb0d14e4
Cache contact names
2018-07-19 16:21:01 +02:00
cketti
0af83029cc
Change ServerSettings#type to a String
2018-07-19 12:40:57 +02:00
cketti
50e955d2da
Remove default port information from ServerSettings.Type
2018-07-18 19:25:43 +02:00
cketti
fe8477cd9b
Make k9mail module specify which Backend implementations to include
2018-07-15 20:45:05 +02:00
cketti
ec9ba959f8
Remove TransportUris
2018-07-15 20:08:11 +02:00
cketti
e4b6175c45
Remove RemoteStoreManager
2018-07-15 18:36:49 +02:00
cketti
60bfe335aa
Make Autocrypt code use MessagingController instead of TransportProvider
...
This also allows us to get rid of TransportProvider.
2018-07-11 20:15:00 +02:00
cketti
e2c09e4155
Make account setup code use Backend to check outgoing server settings
2018-07-11 19:57:51 +02:00
cketti
a63fcfd7fc
Rename Backend.checkServerSettings() to checkIncomingServerSettings()
2018-07-11 19:45:18 +02:00
cketti
b6f59f40e1
Move erroneously moved XML resources from ui module back to core module
2018-07-08 18:36:37 +02:00
cketti
0d3bfe233b
Move color resource from k9mail to ui module
2018-07-08 16:06:19 +02:00
cketti
87ac35ed68
Move unread widget styles to k9mail module
2018-07-08 16:06:19 +02:00
cketti
f6713ea55a
Clean up modules' dependencies
2018-07-08 16:06:19 +02:00
cketti
f63b4097a1
Remove core module's dependency on HoloColorPicker
2018-07-08 16:06:19 +02:00
cketti
228bba0bf1
Move almost all Android resources from core module to ui module
2018-07-08 00:58:59 +02:00
cketti
408f725b61
Remove string references from SearchAccount
2018-07-07 19:09:31 +02:00
cketti
87d0e05a92
Move helper classes to ui module
2018-07-06 17:24:16 +02:00
cketti
548f908d7c
Remove Android resource references from K9
2018-07-06 16:41:36 +02:00
cketti
de2b99a066
Remove all string references from Account
2018-07-06 02:02:57 +02:00
cketti
ae6c8edf01
Remove string references from Account.SortType
2018-07-05 22:57:45 +02:00
cketti
b46594fed4
Move UI code to ui module
2018-07-02 16:19:21 +02:00