Commit graph

1819 commits

Author SHA1 Message Date
cketti
dfcea339a3 Version 5.735 2021-06-24 13:36:05 +02:00
cketti
44d6023e23
Merge pull request #5361 from k9mail/idle_config
Re-enable "advanced" IMAP IDLE settings screen
2021-06-24 12:59:43 +02:00
cketti
3c354940e3 Update translations 2021-06-23 18:05:16 +02:00
cketti
5c25d454b1 Re-enable 'Advanced' settings screen for IDLE settings 2021-06-23 15:34:31 +02:00
cketti
ebbe02c057 Add ImapPushConfigProvider 2021-06-23 15:34:31 +02:00
cketti
145eba5e2e
Merge pull request #5360 from k9mail/account_flow
Add AccountManager.getAccountFlow()
2021-06-23 12:59:59 +02:00
cketti
15bac4c18a Add AccountManager.getAccountFlow()
Instead of adding a custom callbackFlow() for each account property we're interested in, we can now use `AccountManager.getAccountFlow(accountUuid).map { it.relevantProperty }`.
2021-06-23 10:05:52 +02:00
cketti
a7f4093147 Remove unused K9JobManager.schedulePusherRefresh() 2021-06-22 16:04:20 +02:00
cketti
594cb75ca5
Merge pull request #5356 from k9mail/push_controller
Add implementation for PushController
2021-06-22 15:57:12 +02:00
cketti
72a07b1169 Add back 'push folders' and 'folder push class' settings 2021-06-22 15:30:23 +02:00
cketti
8fea80f14c Add PushController implementation 2021-06-22 15:30:23 +02:00
cketti
e157203056
Merge pull request #5358 from Monkey-Matt/account-setup-textinputlayout
Use TextInputLayout to match other setup screens
2021-06-22 15:00:41 +02:00
cketti
027b3e5a41
Merge pull request #5357 from k9mail/global_search
Add 'search everywhere' menu item
2021-06-22 13:49:16 +02:00
cketti
f8b88ef9d0
Merge pull request #5355 from k9mail/request_code_fix
Fix request code handling
2021-06-22 12:56:58 +02:00
Matt Smith
a3f65ff5c8 Use textinputlayout to match other setup screens 2021-06-22 21:48:29 +12:00
cketti
f40e74886b Add 'search everywhere' menu item
When starting a search in a regular folder only messages in that folder are searched. 'Search everywhere' will re-run that search in all accounts and all folders.
2021-06-22 01:20:22 +02:00
cketti
4caeb6caa3 Start PushController from K9Activity 2021-06-21 14:24:54 +02:00
cketti
0b1a3a01fb
Merge pull request #5354 from k9mail/backend_changed_listener
Add listener mechanism to BackendManager
2021-06-21 14:16:29 +02:00
cketti
89d3cdbad5 Add listener mechanism to BackendManager 2021-06-21 14:03:45 +02:00
cketti
13caecad2d
Merge pull request #5353 from k9mail/connectivity_manager
Add ConnectivityManager to listen for changes in network availability
2021-06-21 13:58:53 +02:00
Art O Cathain
05c5319b45 Fix error when forwarding encrypted attachments
SafeContentResolver refuses to load encrypted attachments with an error:
"Content provider is not explicitly allowed:
com.fsck.k9.debug.decryptedfileprovider"

For internally provided attachments, there is no need to use
SafeContentResolver, so we use the default system ContentResolver
2021-06-21 21:08:24 +10:00
cketti
20c3a4179f Fix request code handling
For its result dispatching mechanism ComponentActivity uses random request codes that may have one of "our" bits set. Those random request codes will always be greater than 0x00010000. We use this information to ignore all request codes that aren't ours.
2021-06-21 12:16:17 +02:00
cketti
37c9ffbe90 Add ConnectivityManager to listen for changes in network availability 2021-06-19 16:11:51 +02:00
cketti
190242943c
Merge pull request #5352 from k9mail/alarm_manager
Add implementation for AndroidAlarmManager
2021-06-19 16:06:37 +02:00
cketti
f7277c911e Add implementation for AndroidAlarmManager 2021-06-18 20:29:35 +02:00
cketti
bf21572b57 Add AlarmManagerCompat 2021-06-18 19:47:00 +02:00
cketti
78ad10e3df Remove unused K9AlarmManager 2021-06-18 19:46:48 +02:00
cketti
7a940240c3 Add BootCompleteReceiver to start PushController on device boot 2021-06-18 19:34:28 +02:00
cketti
5520fdac96
Merge pull request #5347 from k9mail/idle_refresh_manager
Add implementation for BackendIdleRefreshManager
2021-06-18 16:27:59 +02:00
cketti
be17063212
Merge pull request #5348 from k9mail/account_push_controller
Add AccountPushController
2021-06-17 22:15:20 +02:00
cketti
bf1d528972 Add AccountPushController 2021-06-17 21:49:23 +02:00
cketti
a2a6b93253
Merge pull request #5349 from k9mail/fix_attachment_box
Fix attachment box layout in compose screen
2021-06-17 21:38:47 +02:00
cketti
129ec0de98
Merge pull request #5350 from k9mail/fix_expunge_immediately
Honor expunge policy when deleting messages
2021-06-17 21:38:25 +02:00
cketti
cf4a6233fd
Merge pull request #5344 from arissystem-labs/bugfix-5343
fix some issues with "Add from Contact" when permission not granted
2021-06-17 21:33:39 +02:00
cketti
e4af588431 Honor expunge policy when deleting messages
Previously, we didn't expunge messages when the expunge policy was set to 'immediately' (default) and no Trash folder was configured.
2021-06-16 19:47:01 +02:00
cketti
6562ee4ac8 Fix attachment box layout in compose screen 2021-06-16 19:15:53 +02:00
cketti
a74c206a0c Add implementation for BackendIdleRefreshManager 2021-06-16 15:04:01 +02:00
r.zarchi
66d37a0db2 Ignore fillContactDataFromLookupKey if we don't have the necessary permission 2021-06-16 10:00:53 +04:30
r.zarchi
fb9ed80df6 check for contact permission and contact picker to show or hide "Add from Contacts" option 2021-06-16 09:46:08 +04:30
cketti
c8808ae447 Add ImapBackendPusher that manages multiple ImapFolderPusher instances 2021-06-13 00:51:23 +02:00
cketti
ac0f01c206
Merge pull request #5338 from k9mail/push_service
Add foreground service for Push
2021-06-13 00:09:02 +02:00
cketti
f45b8a2317 Add AutoSyncManager to listen for changes to the "auto sync" system setting 2021-06-12 23:53:15 +02:00
cketti
46a2c351d5 Add foreground service for Push 2021-06-12 17:04:45 +02:00
cketti
fb55ee76f9
Merge pull request #5337 from k9mail/notification_ids_test
Rewrite tests for NotificationIds
2021-06-12 16:00:28 +02:00
cketti
f3b7cd7d14 Add notification channel for a Push foreground service 2021-06-11 18:33:09 +02:00
cketti
5df81c2908 Rewrite tests for NotificationIds
Check the properties we actually care about instead of testing implementation details.
2021-06-11 13:52:01 +02:00
cketti
296ba92221
Merge pull request #5333 from k9mail/imap_interfaces 2021-06-10 21:28:01 +02:00
cketti
e877c3b313
Merge pull request #5329 from k9mail/fix_locale_override
Re-apply the locale override to the configuration if necessary
2021-06-10 21:27:35 +02:00
cketti
94f630cf88 Introduce ImapStore interface 2021-06-10 21:00:58 +02:00
cketti
7fcd1976e9 Minor cleanup 2021-06-05 15:08:06 +02:00
cketti
db0bd06f21 Re-apply the locale override to the configuration if necessary 2021-06-05 14:18:00 +02:00
Art O Cathain
886a5a0610 Show account unread count on account list in drawer 2021-06-05 15:28:43 +10:00
cketti
295b9d8d28
Merge pull request #5327 from k9mail/issue_4407_unifiedInbox 2021-06-04 21:38:15 +02:00
cketti
2e785325de Simplify logic in MessageListFragment.setWindowTitle() 2021-06-04 11:47:55 +02:00
plan3d
4b488d9cbf Issue #4407: Fixed localized unified inbox title if app language was changed 2021-06-04 11:30:38 +02:00
cketti
63e6c61368 Make sure BodyTextExtractor.getBodyTextFromMessage() never returns null 2021-06-02 00:32:35 +02:00
cketti
c6fc922e5b
Merge pull request #5323 from k9mail/remove_notification_opens_unread
Remove "Notification opens unread messages" option
2021-06-01 16:05:29 +02:00
cketti
240c935f85
Merge pull request #5321 from plan3d/issue_4407_setTitle 2021-06-01 15:46:28 +02:00
cketti
bca8f2f301 Explicitly set activity titles
This is so cached activity titles aren't used when changing the app language.
See https://proandroiddev.com/change-language-programmatically-at-runtime-on-android-5e6bc15c758
2021-06-01 15:32:40 +02:00
cketti
2598d3e199 Remove "Notification opens unread messages" option 2021-06-01 09:45:12 +02:00
plan3d
1066cf84b0 Removed dead code 2021-05-31 16:30:53 +02:00
plan3d
26db6638d8 Issue #4407: Fixed localized titles if app language and system language are different 2021-05-31 16:10:36 +02:00
cketti
11c85017e2
Merge pull request #5313 from k9mail/push_folders_flow
Add FolderRepository.getPushFoldersFlow()
2021-05-29 13:23:08 +02:00
cketti
6862b737ed Add FolderRepository.getPushFoldersFlow()
This method returns a flow that emits the list of folders to sync via Push. It will automatically update when the account's 'Push folders' setting or a folder's Push class is changed.
2021-05-28 14:15:48 +02:00
cketti
fdaf91cd2e Remove 'Poll when connecting for push' setting 2021-05-28 12:28:54 +02:00
cketti
72b1ab5ac5 Remove message list update mechanism that no longer works
The adapter in MessageListFragment used a complicated mechanism that allowed for changing the displayed list by changing the cache and not reading the data from the database again. With the latest change to the adapter this no longer works. And so the associated "notification" mechanism can be removed.
2021-05-23 10:01:10 +02:00
Nuno Ferreira
18e8b31f1c
Add long-press action to copy subject text to clipboard (#5296) 2021-05-14 18:21:00 +02:00
cketti
ec8efc631e Merge branch 'long_folder_names' into main
Closes #5291
2021-05-12 15:21:10 +02:00
cketti
66bae83468 Use custom layout for folders in drawer 2021-05-12 15:12:26 +02:00
Marcus Wolschon
6f615337c0 Improve support for long folder names in drawer
Ellipsize long folder names in the middle, not the end.
2021-05-12 14:42:02 +02:00
cketti
769d658e5a Correctly persist message download state
Add the flag X_DOWNLOADED_FULL when the message has been downloaded completely, the flag X_DOWNLOADED_PARTIAL when only the text of a message has been downloaded, and set no additional flag when only the envelope and structure of the message has been downloaded. The latter happens when we fetch remote search results.
2021-05-10 00:47:27 +02:00
cketti
a3d6fd7ab4
Merge pull request #5283 from k9mail/drawer_toggle
Remove ActionBarDrawerToggle
2021-05-02 14:58:07 +02:00
cketti
79fe2ca7ab Remove ActionBarDrawerToggle
The animation of the menu icon was mostly obscured by the drawer anyway.
2021-05-01 03:43:59 +02:00
cketti
48c9a061c1 Use SummaryProvider instead of summary attribute with format strings 2021-05-01 03:11:41 +02:00
cketti
e32c497f8f Prepare for version 5.735 2021-05-01 00:14:06 +02:00
cketti
9c1c464dc3 Version 5.734 2021-04-30 23:54:36 +02:00
cketti
5313f0e01d Update translations 2021-04-30 23:21:10 +02:00
cketti
1459a2feda Remove duplicate drawable 2021-04-24 03:01:09 +02:00
cketti
a389c1860f Move notification mechanism from K9MessageStore to NotifierMessageStore 2021-04-24 01:09:37 +02:00
cketti
8d45e9cdd3 Remove now unused code from LocalFolder 2021-04-23 22:28:40 +02:00
cketti
c204c24c23 Use new implementation in MessageStore to copy messages 2021-04-23 22:28:40 +02:00
cketti
e05bc461b5 Re-implement copy message functionality in MessageStore
Instead of loading a message into memory and then saving it to the new folder the new code copies the database entries and data files.
2021-04-23 22:28:40 +02:00
cketti
9ef105d74f
Merge pull request #5267 from k9mail/update_dependencies 2021-04-22 18:37:38 +02:00
cketti
5444d8be3a Remove explicit dependency on Kotlin's standard library 2021-04-22 03:54:15 +02:00
cketti
632d8f3cb7 Upgrade Mockito-Kotlin to 3.1.0 2021-04-22 03:54:15 +02:00
cketti
0e7ec3846d Upgrade Koin to 2.2.2 2021-04-22 03:54:15 +02:00
cketti
65d3df63b0 Upgrade AndroidX lifecycle libraries to 2.3.1 2021-04-22 03:54:15 +02:00
cketti
105d55a303 Remove unnecessary code to update thread entry 2021-04-22 03:43:00 +02:00
cketti
4573b5d001 Clean up ThreadInfo 2021-04-22 03:33:32 +02:00
cketti
813cc4eec2 Remove unused ThreadInfo.messageIdHeader 2021-04-22 03:17:48 +02:00
cketti
826e4a470e Various message threading fixes 2021-04-21 20:44:47 +02:00
cketti
341687e9dc
Merge pull request #5263 from k9mail/custom_language_rewrite
Rewrite custom app language feature
2021-04-20 22:12:27 +02:00
cketti
a61429e8c5 Rewrite custom app language feature
Add AppLanguageManager that notifies listeners when the app language has been changed. K9Activity uses this mechanism to restart() on language changes. The Application object will update its configuration.

Instead of using the deprecated Resources.updateConfiguration() we now use LocaleContextWrapper (in combination with AppCompat) to override the locale in the configuration.
2021-04-20 21:41:18 +02:00
cketti
c43f27a9ff
Merge pull request #5259 from k9mail/save_messages 2021-04-20 21:23:47 +02:00
cketti
034e1fbd79 Fix crash when starting MessageCompose without an account UUID 2021-04-19 21:21:13 +02:00
cketti
abd336addb Save message in Outbox folder using MessageStore 2021-04-18 02:28:33 +02:00
cketti
903babe917 Save drafts using MessageStore 2021-04-17 23:26:46 +02:00
cketti
f58860f8bb
Merge pull request #5257 from k9mail/save_messages
Split Backend.fetchMessage() into two methods
2021-04-17 21:45:00 +02:00
cketti
127e311385 Change FolderDetailsAccessor to better support local folders
For "local-only" folders the server ID column in the database is NULL.
2021-04-17 17:54:25 +02:00
cketti
53d8ddef81 Clean up code in FolderSettingsFragment 2021-04-17 17:54:25 +02:00