Commit graph

302 commits

Author SHA1 Message Date
cketti
14a7f1b0d3 Add support for OAuth 2.0 (Gmail) 2022-05-23 22:26:49 +02:00
cketti
7f343e4fd1 Move DefaultTrustedSocketFactory 2022-04-28 22:18:14 +02:00
cketti
4ad2e04cff Decouple WebDavSocketFactory from DefaultTrustedSocketFactory 2022-04-28 22:02:48 +02:00
cketti
7be4ea62fe Remove ImapStore's dependency on ConnectivityManager 2022-04-12 21:58:15 +02:00
cketti
a796b1d941 Change IMAP code to use single compression setting 2022-04-12 21:58:15 +02:00
cketti
903d0f43c4 Change Account to use a single setting for IMAP compression 2022-04-12 21:58:15 +02:00
cketti
372252710d Update name/description of notification channels when app locale changes 2022-03-17 18:35:59 +01:00
cketti
51457a6859 Simplify LocalStore.searchForMessages() 2022-02-24 20:28:03 +01:00
cketti
5d102ec610 Set targetSdkVersion to 31 2022-02-21 18:43:01 +01:00
cketti
13b57b7eba Use android:exported="false" when possible 2022-02-21 18:42:27 +01:00
cketti
8847e30cb7 Add appropriate mutability flags to PendingIntents 2022-02-21 18:42:27 +01:00
cketti
f6e03ff040 Don't expose MessageProvider to third-party apps
If this was an important feature to you, please contact us and tell us a little bit about your use case.
2022-02-17 20:56:31 +01:00
cketti
dee2ca345d Convert 'BaseAccount' to Kotlin 2022-02-08 16:54:15 +01:00
cketti
bfc708df19 Use Account.getDisplayName() when appropriate 2022-02-08 02:05:05 +01:00
cketti
19829eb2a2 Rename Account.getDescription() to Account.getName() 2022-02-08 01:13:30 +01:00
cketti
1d601c5c59 Rename Account.getName() to Account.getSenderName() 2022-02-08 00:50:26 +01:00
cketti
a4e1a77892 Switch to mockito-inline 2022-02-03 01:10:52 +01:00
cketti
91c0787fa5 Open message from notification in Unified Inbox if possible 2022-01-09 23:10:04 +01:00
cketti
8e12d05a1d Update summary notification click behavior
Open "New messages" view when tapping the summary notification and not all messages either belong to the Unified Inbox or to a single folder.
2021-12-11 15:41:15 +01:00
cketti
c289c74238 Update summary notification click behavior
When tapping the summary notification and all new messages belong to folders that are included in the Unified Inbox, we display the Unified Inbox.
2021-12-09 22:21:55 +01:00
cketti
514802e010 Make sure the message list widget reuses an existing MessageList activity 2021-12-09 02:01:40 +01:00
cketti
6c54b324d6 Switch back to using launchMode="singleTop" for MessageList
We previously removed it because using the default launcher intent would open the default folder instead of just bringing the app to the foreground. We now handle that case by ignoring the default launcher intent in MessageList.onNewIntent().

See 97a75a54ef
2021-12-09 01:50:56 +01:00
cketti
57d7616d5a Create public version for certificate error notifications
Don't expose account name or error details when Android is configured to hide sensitive information on the lock screen.
2021-12-08 02:37:21 +01:00
cketti
981e7fbe70 Improve support for RTL languages in layouts 2021-11-26 22:45:48 +01:00
cketti
1071f3b9dd Fix warnings in AndroidManifest.xml 2021-11-26 16:11:39 +01:00
cketti
9074d6c570 Remove unused strings 2021-11-26 15:23:57 +01:00
cketti
230d0f4a84 Remove unused code (K9.Intents.Share.EXTRA_FROM) 2021-11-26 02:46:58 +01:00
cketti
b7526588c7 Separate notification UI/UX logic from notification creation 2021-11-24 17:49:14 +01:00
cketti
80f29f9b3b Update Koin to version 3.1.3 2021-10-30 05:32:51 +02:00
cketti
086ce98f44 Add sample data and various tools attributes to layouts 2021-10-27 14:38:18 +02:00
cketti
7209dc0ff2 Set theme in ui-legacy module so the IDE preview picks it up 2021-10-27 04:37:51 +02:00
cketti
e1aef32042
Merge pull request #5703 from k9mail/choose_folder_ui
Tweak toolbar in 'choose folder' screen
2021-09-30 14:11:14 +02:00
cketti
8ae5378942 Remove Flag from MessageReference 2021-09-29 15:27:45 +02:00
cketti
4eb0c692d3 Change title of ChooseFolderActivity for copy/move operations 2021-09-28 18:48:53 +02:00
cketti
799917d5b8
Merge pull request #5697 from k9mail/demo_backend
Add "demo" backend
2021-09-28 15:28:35 +02:00
cketti
c6936043c6 Remove unused functionality from StorageManager and StorageProvider 2021-09-24 18:39:20 +02:00
cketti
eae910fe8f Add "demo" backend 2021-09-23 22:43:02 +02:00
cketti
fb8f98486f Remove Account.isAvailable() 2021-09-17 10:47:03 +02:00
cketti
219648f142 Get rid of mount/unmount receivers for external storage
We no longer support storing the database on "external storage". Even when migrating old databases chances are very slim "external storage" actually is a removable storage device.
2021-09-17 10:01:14 +02:00
cketti
f2f8e4d0f3 Remove FolderRepositoryManager
Instead we use one FolderRepository instance and pass Account as parameter to individual functions.
2021-08-26 22:34:57 +02:00
cketti
5bba535699 Convert notification classes to Kotlin 2021-08-26 01:36:25 +02:00
cketti
ed6cbe1c4b Rename .java to .kt 2021-08-26 01:35:18 +02:00
cketti
652d52b6a6 Add setting to suppress notifications for chat messages
Messages containing a 'Chat-Version' header field will not generate notifications when this setting is enabled.
2021-08-18 11:17:06 +02:00
cketti
ac4cb37ea7 Add network security config to allow user-installed CAs 2021-07-29 11:45:17 +02:00
cketti
26c64806f2 Add "Push Info" screen 2021-07-15 00:20:48 +02:00
cketti
cac4874f25 Fix AndroidAlarmManager dropping alarms
It was possible that the 'callback' property was set to 'null' after another alarm was already scheduled. This meant the callback function wasn't called when the next alarm went off.
2021-07-08 18:49:30 +02:00
cketti
0073913279 Show snackbar in MessageList to get to "What's new" when the app was updated 2021-07-03 14:32:40 +02:00
cketti
ebbe02c057 Add ImapPushConfigProvider 2021-06-23 15:34:31 +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
7a940240c3 Add BootCompleteReceiver to start PushController on device boot 2021-06-18 19:34:28 +02:00
cketti
a74c206a0c Add implementation for BackendIdleRefreshManager 2021-06-16 15:04:01 +02:00
cketti
c8808ae447 Add ImapBackendPusher that manages multiple ImapFolderPusher instances 2021-06-13 00:51:23 +02:00
cketti
46a2c351d5 Add foreground service for Push 2021-06-12 17:04:45 +02:00
cketti
f3b7cd7d14 Add notification channel for a Push foreground service 2021-06-11 18:33:09 +02:00
cketti
296ba92221
Merge pull request #5333 from k9mail/imap_interfaces 2021-06-10 21:28:01 +02:00
cketti
94f630cf88 Introduce ImapStore interface 2021-06-10 21:00:58 +02:00
cketti
db0bd06f21 Re-apply the locale override to the configuration if necessary 2021-06-05 14:18:00 +02:00
cketti
2598d3e199 Remove "Notification opens unread messages" option 2021-06-01 09:45:12 +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
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
370481236a Convert 'Preferences' to Kotlin 2021-03-22 22:57:33 +01:00
cketti
9b53ae26d6 Rename 'NotificationDeleteConfirmation' to 'DeleteConfirmationActivity' 2021-03-01 22:21:50 +01:00
cketti
6c3d71c0fa Move 'NotificationDeleteConfirmation' to new package 2021-03-01 22:21:12 +01:00
cketti
c296a0d8d0 Clean up code 2021-02-20 15:32:34 +01:00
ByteHamster
973c5ed02b Show message headers in fragment 2021-02-20 13:28:15 +01:00
cketti
08d6d9bebc Delete remaining store/transport URI functionality 2021-02-01 17:30:21 +01:00
cketti
de2560b90b Remove Account.storeUri and Account.transportUri
The URIs are still used as serialization format when saving settings
2021-02-01 12:54:02 +01:00
cketti
fae9255bca Update/fix notification icons 2021-01-23 04:26:39 +01:00
cketti
5eeb4b56be Unify icon vector drawables for dark and light themes 2021-01-23 04:26:39 +01:00
cketti
1873593dc5 Format Kotlin code 2020-10-16 16:41:19 +02:00
cketti
5f05b8bb07 Show sender/recipient name in message list based on folder
The recipient name is shown for messages in the Sent, Drafts, and Outbox folders. For messages in all other folders the sender name is shown.
2020-10-12 01:48:36 +02:00
cketti
3133573139 Rewrite Share functionality in message view screen
The shared text now contains subject, date, sender, and recipients in addition to the message body text.
2020-10-05 05:38:54 +02:00
Alex Dawson
c671c84191 Persist state in unread widget configuration during screen rotation 2020-10-03 18:11:14 +02:00
cketti
988966d190 Update Glide to 4.11.0 2020-07-17 23:37:17 +02:00
Tobias Preuss
117af49699 Keep cascaded if because code is easier to read. 2020-07-08 19:22:29 +02:00
Tobias Preuss
9c6d08142a Infer type. 2020-07-08 13:58:23 +02:00
cketti
1a96ef4641 Remove Folder.serverId property 2020-06-13 02:02:56 +02:00
cketti
e5d6bf1cc6 Change UnreadWidgetDataProvider to not get FolderDetails 2020-06-13 02:02:56 +02:00
cketti
00fc6708cc Change MessagingController.deleteMessagesSynchronous() to use folder ID 2020-06-12 18:53:11 +02:00
cketti
4976d4e178 Change MessagingListener.folderStatusChanged() to use folder ID 2020-06-12 18:53:11 +02:00
cketti
3ffa488e6c
Merge pull request #4823 from k9mail/always_notify_for_inbox
Don't skip notifications if the Inbox is configured as another special folder
2020-06-12 17:03:26 +02:00
NITIN DUDIA
32a6c8fde1
Update unread_widget_configuration.xml
Allow folder selection only after a account is selected.
2020-06-05 19:57:27 +05:30
cketti
20b473b4d8 Don't skip notifications if the Inbox is configured as another special folder 2020-06-05 01:39:44 +02:00
cketti
f1a08e54f6 Add logging to K9NotificationStrategy 2020-06-02 13:21:32 +02:00
cketti
21c14c49bd Add :app:ui:base module and move K9Activity to it 2020-05-19 18:16:15 +02:00
cketti
981e12965a Add isLocalOnly property to Folder 2020-05-15 19:55:26 +02:00
cketti
5857f18203 Fix displaying the folder name in unread widget title 2020-05-07 17:10:12 +02:00
cketti
d15bfab01c Rewrite unread widget configurations created by old app versions 2020-05-07 17:10:10 +02:00
cketti
8b5055ec40 Update unread widgets from a background thread 2020-05-07 11:36:08 +02:00
cketti
7f80947740 Replace Account.getSentFolder() with Account.getSentFolderId() 2020-05-04 16:31:00 +02:00
cketti
253f4c85ff Replace Account.getSpamFolder() with Account.getSpamFolderId() 2020-05-04 16:31:00 +02:00
cketti
c943c03879 Replace Account.getDraftsFolder() with Account.getDraftsFolderId() 2020-05-04 16:31:00 +02:00
cketti
c56ae6dcab Replace Account.getTrashFolder() with Account.getTrashFolderId() 2020-05-04 16:31:00 +02:00
cketti
c6d96b2b34 Replace Account.getInboxFolder() with Account.getInboxFolderId()
In some instances the check for the Inbox folder could be removed.
We no longer allow one folder to have multiple roles, e.g. Inbox + Drafts.
2020-05-04 16:31:00 +02:00
cketti
010c0b42ef Remove folderServerId from MessageReference 2020-05-04 16:31:00 +02:00
cketti
9291881b6b Switch LocalSearch and everything connected to it to using folder IDs 2020-05-04 16:31:00 +02:00
cketti
dde0ef9820 Change MessageProvider delete URI to use folder ID instead of server ID 2020-05-04 15:01:29 +02:00
cketti
70841e40d7 Change K-9 Mail message URI to use folder ID instead of server ID 2020-05-04 15:01:29 +02:00