Wiktor Kwapisiewicz
6e2690a552
Fix crash of SettingsActivity on resume
...
`SettingsActivity#populateSettingsList` listens for changes in accounts
using `observeNotNull` that throws when a `null` value is assigned.
This change leaves the old value when `onInactive` is called.
See: https://github.com/k9mail/k-9/pull/3819#issuecomment-447523394
2018-12-15 11:42:14 +01:00
cketti
2798a13669
Remove storage permission
2018-12-14 01:59:52 +01:00
cketti
c2e80122f7
Use Storage Access Framework to save attachments
2018-12-14 01:44:13 +01:00
cketti
ffc69c9f34
Use DownloadManager to save linked images
2018-12-14 01:14:51 +01:00
cketti
a3735c671d
Remove attachment default path setting
2018-12-14 01:05:29 +01:00
cketti
57ebf05b63
Always ask for the storage location when saving an attachment
2018-12-14 00:55:06 +01:00
cketti
796738db57
Remove "Save attachments to…" from general settings
2018-12-14 00:37:17 +01:00
cketti
ae2f831b7d
Merge pull request #3806 from k9mail/outbox_state
...
Persist send error state
2018-12-13 22:58:17 +01:00
cketti
6a408df8fe
Properly delete message after sending (destroy)
2018-12-13 19:59:53 +01:00
cketti
6f49b97514
Don't move message that failed to send to Drafts folder
2018-12-13 19:59:52 +01:00
cketti
e5025e1ab8
Use 'outbox_state' table for send error handling
2018-12-13 19:59:52 +01:00
cketti
03f0fa9f0f
Add 'outbox_state' table to database
2018-12-13 19:59:52 +01:00
Wiktor Kwapisiewicz
cad4cac6df
Fix consistent crashes when using dark theme
...
Commit 212f36170
moved dark theme's parent to
Theme.AppCompat.NoActionBar but the theme file for v21 was not updated.
This caused IllegalStateException to be thrown when constructing
K9Activities when dark theme has been selected.
The fix corrects the parent value.
2018-12-12 21:50:13 +01:00
Vincent Breitmoser
ecfbbca9d9
Merge pull request #3814 from wiktor-k/fix-missing-subject
...
Fix subject being overwritten with `null`
2018-12-12 12:52:58 +01:00
Vincent Breitmoser
ac8fe9dbe7
Merge pull request #3790 from k9mail/accounts-listener
...
add AccountsChangeListener to Preferences
2018-12-12 12:42:09 +01:00
Vincent Breitmoser
099e13f0c4
Merge pull request #3800 from k9mail/manage-folders-item
...
add "Manage folders" item to drawer footer
2018-12-12 11:43:42 +01:00
Wiktor Kwapisiewicz
314cb93d2b
Fix subject being overwritten with null
...
Not using crypto-provider passes `null` as `plaintextSubject`.
`saveDraft` already has protection against overwriting subject with `null`.
This change adds the same check to `sendMessage`.
Fixes #3811 .
2018-12-11 12:23:11 +01:00
Vincent Breitmoser
037b19d7ce
Merge pull request #3807 from k9mail/message_list_title
...
Remove custom view in MessageList toolbar
2018-12-10 19:11:49 +01:00
Vincent Breitmoser
214580a2ec
reload account onActive
2018-12-10 18:54:27 +01:00
Vincent Breitmoser
012742787e
synchronized Preferences with a lock object
2018-12-10 18:43:22 +01:00
Vincent Breitmoser
e7d6f85e66
add AccountsChangeListener to Preferences
2018-12-10 18:13:34 +01:00
Vincent Breitmoser
216d51a069
StorageEditor: add test
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
474610139f
StoagePersister: add test
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
342048e961
StoragePerister: use statement for delete, drop intermediate map
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
40b4ebbc8e
add unit test for Storage
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
9c6952275a
Storage may still be written to and read from concurrently
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
75c4b9ff73
revert accidental changes
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
f7faccf5d9
extract persistence logic from Storage into StoragePersister
2018-12-10 13:06:52 +01:00
cketti
2f80530b2d
Use FolderNameFormatter to get display names for folders
2018-12-08 23:23:13 +01:00
cketti
958c3cf29c
Remove custom actionbar view
2018-12-08 23:23:06 +01:00
cketti
3c16d2caed
Fix empty view handling in K9ListActivity
2018-12-08 22:37:55 +01:00
cketti
227972ffde
Fix layouts
2018-12-08 22:00:06 +01:00
ByteHamster
212f36170f
Switch to Toolbar
...
This allows to show the sidebar above the ActionBar.
2018-12-08 21:59:22 +01:00
cketti
8b676343a4
Make MessagingController.checkMailBlocking() actually terminate
2018-12-06 23:34:51 +01:00
cketti
2f8778be33
Merge pull request #3763 from ojiofong/oji_mail_sync
...
Change mail sync to work with background execution limits
2018-12-06 19:57:00 +01:00
cketti
fa3458f920
Make mail check blocking when called from MailSyncJob
2018-12-06 19:45:11 +01:00
cketti
c555790ca3
Merge pull request #3798 from k9mail/helo-ip
...
Always send IP instead of hostname in HELO/EHLO
2018-12-06 04:02:59 +01:00
Vincent Breitmoser
c3c7593458
add "Manage folders" item to drawer footer
...
part of #3750
2018-12-05 16:47:27 +01:00
Vincent Breitmoser
4333a3a16f
remove "hideHostnameWhenConnecting" from global settings
2018-12-05 14:39:08 +01:00
Vincent Breitmoser
c06e1a9d9b
always just send IP instead of hostname in SMTP EHLO message
...
Clients are very often behind NATs, which makes the hostname in
HELO/EHLO messages virtually useless these days. Attempting to figure
out a hostname we could use also led to issues with some strict Postfix
configurations (see https://github.com/k9mail/k-9/issues/3387 ). This
commit changes our behavior to simply send the local IP always, getting
rid of this metadata.
Fixes #3387
2018-12-05 14:36:06 +01:00
cketti
48ef5e43b7
Merge pull request #3769 from Khyojung/khyojung
...
Add padding between labels and input fields in message composition screen
Fixes #3768
2018-12-04 21:59:24 +01:00
cketti
6bb9f844e9
Add padding between labels and input fields in message composition screen
2018-12-04 21:47:14 +01:00
H. Lehmann
03907d8861
Add icons to account settings screen ( #3792 )
2018-12-04 21:37:31 +01:00
Oji Ofong
49917278de
Resolve scheduled job issues
2018-12-04 13:42:22 -05:00
Vincent Breitmoser
8b3d51686a
Merge pull request #3788 from k9mail/empty_trash
...
Add "empty trash" action to MessageList activity
2018-12-03 20:09:39 +01:00
Vincent Breitmoser
62411ace05
Fix assigning account number when Account is first saved ( fixes #3787 )
2018-12-03 14:12:25 +01:00
cketti
e18c9167fd
Hide crypto indicator in initial message header layout
2018-12-03 05:17:45 +01:00
Vincent Breitmoser
7e47519223
adjust mark as read/unread icon according to read status
2018-12-03 04:34:32 +01:00
Vincent Breitmoser
41c4f02a44
move star and crypto status next to subject
2018-12-03 04:34:32 +01:00
Vincent Breitmoser
ee44e03b43
display subject inline
2018-12-03 04:34:32 +01:00
Vincent Breitmoser
c96ced3bc3
drop specialized MessageCryptoStatusView
...
This was introduced when the crypto icon was combined from an icon and
dots. That's no longer the case, so we can simplify.
2018-12-03 04:34:32 +01:00
Vincent Breitmoser
a592b0dfba
add reply button to message header
2018-12-03 04:34:31 +01:00
cketti
b503e1eeb1
Add "empty trash" action to MessageList activity
2018-12-03 04:18:19 +01:00
Marc K
ecd3238dd1
Update drawer when re-opened via intent ( #3765 )
...
Fixes #3764
2018-12-03 04:04:16 +01:00
cketti
1552c151a5
Merge pull request #3785 from wiktor-k/fix-notifications
...
Fix NPE when accessing settings screens
2018-12-02 18:25:12 +01:00
cketti
8f699ee542
Merge pull request #3771 from wiktor-k/app-compat-fixes
...
Add ActionBars to activities extending K9PreferenceActivity
2018-12-02 18:08:22 +01:00
Wiktor Kwapisiewicz
5c2bb43844
Fix NPE when accessing settings screens
...
Previous PR did not check if preferences to be removed exist on the
current screen and failed when the current screen was not the
notification settings.
Fixes #3782 .
2018-12-02 17:50:46 +01:00
Oji Ofong
c3fcf5986d
Change mail sync to work with background execution limits
2018-12-02 08:52:46 -05:00
Vincent Breitmoser
e6e0d7c1c2
Merge pull request #3772 from k9mail/cleanup-localkeystore
...
Clean up LocalKeyStore and related
2018-12-02 05:08:03 +01:00
Meteor0id
aa8621cc58
Attempt to order menu items similar across views ( #3511 )
2018-12-02 02:24:28 +01:00
Wiktor Kwapisiewicz
e757e59156
Hide built-in notification settings on Android O
...
Resolves #3722 .
2018-12-01 21:05:05 +01:00
Wiktor Kwapisiewicz
d9ddba4e60
Add an item that opens system notification settings
...
This item is displayed only on Oreo or higher and is hidden in previous
versions of Android.
2018-12-01 21:04:39 +01:00
Vincent Breitmoser
5ead340cde
more clearly use getExternalFilesDir in ExternalStorageProvider
2018-12-01 14:10:22 +01:00
Vincent Breitmoser
df85d7b0f3
Clean up TrustManager, KeyStore and SocketFactory use
2018-11-30 15:47:57 +01:00
Wiktor Kwapisiewicz
4578863118
Convert PreferenceScreens to Categories
...
Nested PreferenceScreens do not get the AppCompat Action Bar.
Converting them to categories works-around the issue.
Resolves #3753 .
2018-11-30 13:27:36 +01:00
Wiktor Kwapisiewicz
3caa56a57e
Add Action Bars to Preference activities
2018-11-30 13:26:11 +01:00
Khyojung
5a00c3b3fd
add padding of user email in creation UI
2018-11-30 15:40:38 +09:00
cketti
bb6427cec0
Merge pull request #3744 from k9mail/dumb-account-1
...
Move logic out of Account class (1)
2018-11-30 01:45:53 +01:00
cketti
55746ea3ff
Merge pull request #3760 from sgomin/master
...
Optionally enable web cache
2018-11-29 23:30:54 +01:00
Stan Gomin
959b022ee2
Enabling Web cache unconditionally
2018-11-30 09:05:36 +11:00
Vincent Breitmoser
3e5c9a9616
slight cleanup in AccountSearchConditions
2018-11-29 18:37:26 +01:00
Vincent Breitmoser
47767b9e3f
small code cleanup
2018-11-29 18:23:30 +01:00
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
4a386b6c9b
extract setup of default values from Account
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
cd01aec9d8
rename AccountManager to AccountPreferenceSerializer, move more things out of 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
David Hoppenbrouwers
0f33a43a8c
Added colored chip in Unified Inbox widget items ( #3759 )
...
Add colored chip in Unified Inbox widget items
2018-11-29 17:15:01 +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
d0a1535547
only add draft header to drafts
2018-11-29 13:56:03 +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
f7fb48f53f
Disable payload header mechanisms for pgp/inline mails
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
10875134f4
Always use PGP/MIME for drafts
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
d7649a4391
Use \Draft flag to find if message is a draft
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
0c911dbac3
Increase targetSdkVersion to 23
2018-11-28 05:16:01 +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
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
cketti
5aba2d0327
Convert 'QuoteHelper' to Kotlin
2018-10-25 01:32:40 +02:00
cketti
7652a247f0
WIP: Renaming file 'QuoteHelper' with Kotlin extension
2018-10-25 01:25:56 +02:00
cketti
99be379013
Use QuoteHelper instances instead of a static method
2018-10-25 01:25:26 +02:00
cketti
5374173233
Remove line wrapping when prefix-quoting
...
We're using "quoted-printable" for transport encoding. So manually
wrapping lines shouldn't be necessary.
See #3654
2018-10-25 01:14:13 +02:00
cketti
04111290fc
Use Matcher.quoteReplacement() for escaping
2018-10-25 01:03:10 +02:00
cketti
ba7c8a77f9
Add line break after "header" when prefix-quoting text
2018-10-25 00:54:55 +02:00
cketti
b6b71cbf42
Don't strip \r from quoted text
2018-10-25 00:51:06 +02:00
cketti
1222a2730b
Add (failing) tests for TextQuoteCreator
2018-10-25 00:50:23 +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
b1cfa302ba
Use different method to convert HTML to plain text
...
Html.fromHtml() exhibited some serious performance issues with certain
inputs.
See issue #3624
2018-10-03 12:23:50 +02:00
cketti
032c6b3ed9
Simplify NotificationActionCreator interface
2018-09-12 21:40:12 +02:00
cketti
7e5fed9990
Only use FLAG_UPDATE_CURRENT when creating PendingIntents
...
Using FLAG_ONE_SHOT is asking for trouble because we have no checks in
place to guarantee PendingIntents aren't reused.
Same goes for FLAG_NO_CREATE. We used this in a couple of places where
we previously created a PendingIntent for a "device action" and then
tried to reuse that PendingIntent for a "Wear action". But in some cases
only a "Wear action" was created. So creating a PendingIntent with
FLAG_NO_CREATE returned null. As a result we got notifications with
action buttons that did nothing.
2018-09-12 21:40:12 +02:00
cketti
cd08af2894
Merge pull request #3600 from k9mail/fix_reply_to_unencrypted_message
...
Fix bug where subject field isn't populated when replying to an unencrypted message
2018-09-11 00:54:09 +02:00
Oji
0eceb9bcc7
Expose package static methods in NotificationActionService
2018-09-10 17:12:04 -04:00
cketti
8835b1e485
Extract subject when constructing MessageViewInfo for unencrypted emails
2018-09-07 01:31:31 +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
de73504be0
Merge pull request #3581 from k9mail/encryption_extractor_interface
...
Extract database schema creation + EncryptionExtractor interface
2018-09-04 15:44:25 +02:00
cketti
cda778e491
Remove unused method Message.clone()
2018-09-03 01:17:25 +02:00
cketti
a8f41118e3
Add interface for detection of encrypted messages
...
This includes some capabilities that are not currently used by K-9 Mail,
e.g. the ability to supply additional data to be inserted into the
database.
2018-09-03 00:57:41 +02:00
cketti
18bbd76783
Add a way to inject SchemaDefinition into LocalStore
2018-09-03 00:57:41 +02:00
cketti
83b6ab0620
Merge pull request #3570 from k9mail/mime_parameter_decoder
...
Add proper header parameter parser/decoder
2018-09-03 00:43:30 +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
5d98c15bce
Use MimeParameterEncoder and MimeParameterDecoder in MimeMessageHelper
2018-08-26 18:09:29 +02:00
cketti
5f7dac4556
Remove unwarranted usage of MimeUtility.unfoldAndDecode()
2018-08-26 17:18:22 +02:00
cketti
721c97fe39
Make MessageLoaderHelper call callbacks on the main thread
2018-08-20 18:33:12 +02:00
cketti
c8de3e6a18
Create ControllerExtension to allow accessing MessagingController internals
2018-08-17 18:22:53 +02:00
cketti
ea07d248df
Create MessagingController instance using Koin
2018-08-15 23:01:59 +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
M Madison Phillips
262e0840ba
Update address validator to conform to RFC 5321
2018-08-09 18:12:20 +02:00
cketti
02db5651aa
Add tests for K9BackendFolder.getMessageFlags()
2018-08-05 19:43:08 +02:00
cketti
880f00ac51
Extract code to decode flags column to separate function
2018-08-05 15:28:57 +02:00
morckx
229a0a03c9
Don't crash on empty flags
2018-08-05 14:50:47 +02:00
leggewie
ae38778ec1
allow installation to external media (micro SD)
...
This change will enable installation of the app to external as well as internal flash memory which is important for devices where internal memory is limited but external memory is cheap and abundant in form of micro SD cards. Thank you for your consideration.
2018-08-02 20:58:20 +08:00
cketti
da6eca639c
Move file to correct location
2018-07-26 23:44:11 +02:00
cketti
28f0aa642b
Merge pull request #3524 from k9mail/local_only_folders_column
...
Add 'local_only' column to 'folders' table
2018-07-26 23:30:14 +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
de61ec288c
Use local_only column in FolderRepository
2018-07-23 14:25:30 +02:00
cketti
ee777e62eb
Use local_only column for retrieving folders in K9BackendStorage
2018-07-23 14:25:30 +02:00
cketti
1f0f4285d2
Add support for local_only column to LocalFolder
2018-07-23 14:25:30 +02:00
cketti
f40e7378fb
Add 'local_only' column to folders table
2018-07-23 14:25:29 +02:00
cketti
c8da50f945
Merge pull request #3521 from k9mail/folder_list_sync
...
Move folder list sync logic into Backend implementations
2018-07-23 13:24:29 +02:00
cketti
91164e04ed
Make sure account display name is never null
2018-07-23 12:54:09 +02:00
cketti
de49c9d6c2
Move folder list sync logic into Backend implementations
2018-07-22 18:34:16 +02:00
cketti
dc785a8e92
Fix error handling when refreshing the folder list fails
2018-07-22 18:31:41 +02:00
cketti
87132562f8
Remove unused parameter
2018-07-22 18:31:41 +02:00
cketti
b35074315c
Merge pull request #3519 from k9mail/add_folder_extra_values
...
Allow backend code to store additional per-account and per-folder data
2018-07-22 18:21:51 +02:00
cketti
5104780468
Update BackendStorage to allow getting/setting extra values
2018-07-22 18:06:21 +02:00
cketti
e56b03d7bc
Create account_extra_values table
2018-07-22 18:06:21 +02:00
cketti
5e9dfa3656
Merge pull request #3520 from k9mail/fix_backend_manager_cache
...
Only reuse Backend instances when server settings haven't changed
2018-07-22 13:33:15 +02:00
cketti
c91b482d30
Only reuse Backend instances when server settings haven't changed
2018-07-21 16:40:47 +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