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
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
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
Vincent Breitmoser
04c88b6cda
Merge pull request #3736 from k9mail/fix-set-openpgp-provider
...
Refresh OpenPGP provider setting onResume
2018-11-22 12:22:05 +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
683b7d6eaf
Merge pull request #3733 from k9mail/fix_folder_extra_values
...
Fix reading/writing values from/to folder_extra_values
2018-11-21 16:29:20 +01:00
Vincent Breitmoser
81f496b7f3
Refresh OpenPGP provider setting onResume, and small cosmetic changes
2018-11-21 14:25:34 +01:00
Vincent Breitmoser
0f7d0963f5
Merge pull request #3734 from k9mail/fix_expunge_message
...
Only try to expunge a message if the Backend supports it
2018-11-21 10:29:19 +01:00
Vincent Breitmoser
8df62f136d
Merge pull request #3730 from wiktor-k/remove-unsaved-accounts
...
Remove partially constructed accounts on resume
2018-11-21 10:28:58 +01:00
cketti
ff5d3f3d06
Fix reading/writing values from/to folder_extra_values
2018-11-21 02:36:44 +01:00
cketti
e79766b871
Only try to expunge a message if the Backend supports it
2018-11-21 02:35:18 +01:00
cketti
0d6634d5b5
Allow intermediate states where there's no Inbox folder
2018-11-20 21:17:05 +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
d5596f7565
Remove checked exceptions from LocalSearch and ConditionsTreeNode
2018-11-17 01:50:03 +01:00
cketti
c7a7bbfc8c
Extract strings
2018-11-14 03:32:26 +01:00
cketti
ab192ece8a
Pass in dependencies via constructor
2018-11-14 02:44:34 +01:00
cketti
05c091212c
Rename NotificationChannelUtils to NotificationChannelManager
2018-11-14 02:30:55 +01:00
cketti
eeb545dc3d
Add support for importing/exporting SpecialFolderSelection
2018-11-14 00:25:23 +01:00
cketti
7680a1ac70
Always show special folders at the top of the folder list
2018-11-13 20:38:46 +01:00
cketti
72a664458e
Remove StoreConfig.set*Folder()
2018-11-13 20:38:46 +01:00
cketti
5cd28280ca
Update special folders when folders change on server
2018-11-13 20:38:45 +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
4847c0fa31
Add FolderType support to (K9)BackendStorage
2018-11-13 16:57:32 +01:00
cketti
91ae94d432
Add FolderType support to (Local)Folder
2018-11-13 16:57:32 +01:00
cketti
fbf4f44876
Add 'type' column to 'folders' table
2018-11-13 16:57:32 +01:00
cketti
fa1d6aab18
Remove EXTRA_SHOW_FOLDER_NONE from ChooseFolder
2018-11-11 23:28:41 +01:00
cketti
8a87437e98
Rewrite folder values in Storage database
2018-11-11 23:28:41 +01:00
cketti
a408a21c88
Change import/export settings descriptions for folder values
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
cketti
272b2e3cc4
Extract migration logic from 'Storage' class
2018-11-10 20:18:15 +01:00
Oji Ofong
dbd1c254a5
Update channels in the background thread
2018-11-10 09:42:24 -05: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
baa653ba3a
Re-generate group if name was changed
2018-11-07 22:08:55 -05:00
ByteHamster
06bc5fdd40
Mocking UUID
2018-11-07 22:08:55 -05: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
0837cf5dcc
Convert 'TextQuoteCreator' to Kotlin
2018-10-25 02:07:43 +02:00
cketti
101573c59f
WIP: Renaming file 'TextQuoteCreator' with Kotlin extension
2018-10-25 01:45:56 +02:00
cketti
63b3379e5d
Use TextQuoteCreator instances instead of static method
2018-10-25 01:41:00 +02:00