cketti
e24d51a437
Remove @OptIn annotations that are now unnecessary
2022-03-03 16:55:36 +01:00
cketti
f66f7e5073
Use account settings when creating the NotificationChannel for messages
2022-03-01 16:42:33 +01:00
cketti
237a6024e4
Remove unused callbacks
2022-02-24 20:46:58 +01:00
cketti
c206af5ab0
Remove unnecessary method parameter
2022-02-24 20:34:45 +01:00
cketti
51457a6859
Simplify LocalStore.searchForMessages()
2022-02-24 20:28:03 +01:00
cketti
4bed7a595b
Remove unused method parameters
2022-02-24 19:56:50 +01:00
cketti
e59f57f602
Remove unused callbacks from MessageRetrievalListener
2022-02-24 19:42:01 +01:00
cketti
065f98cfdd
Remove unnecessary method parameters
2022-02-24 19:24:17 +01:00
cketti
dea6bf1f01
Don't create notifications when manually refreshing the message list
2022-02-24 00:05:51 +01:00
cketti
58709b156a
Remove commented out code
2022-02-22 22:14:21 +01:00
cketti
e1c43beee1
Remove 'new message' notification when user deletes the message
...
We already handled the case where the deletion was synced from the server. This handles the case where the user locally deletes the message.
2022-02-22 19:22:21 +01:00
cketti
7a784f1fcd
Remove 'new message' notification when user marks the message as read
...
We already handled the case where the message was marked as read on the server. This handles the case where the user marks the message as read locally.
2022-02-22 19:22:21 +01:00
cketti
c0f8c43baa
Add logging for summary notifications
...
These are the notifications responsible for sound/vibration/light.
2022-02-22 17:44:01 +01:00
cketti
48caeffe10
More logging when recreating a NotificationChannel
2022-02-22 17:44:01 +01:00
cketti
91239f92d2
Update StrictMode policy
2022-02-21 18:43:01 +01:00
cketti
8847e30cb7
Add appropriate mutability flags to PendingIntents
2022-02-21 18:42:27 +01:00
cketti
ad18dc2f74
Create Outbox if necessary when attempting to send a message
2022-02-21 16:58:43 +01:00
cketti
9cf0708683
Display "New mail ringtone" setting on Android 8+
...
Some vendors don't support changing the notification sound via the system's user interface to configure notification categories.
2022-02-15 21:21:18 +01:00
cketti
55e0288ffe
Hold accountLock
while saving an account
2022-02-12 00:00:11 +01:00
cketti
ffa0ebb5bb
Change the Storage class to be immutable
...
Also make sure the in-memory state and the database are modified together while a lock is being held.
2022-02-12 00:00:11 +01:00
cketti
56ac6ab0bd
Rework notification light setting
2022-02-11 23:56:12 +01:00
cketti
4d0bbd1e8a
Remove rows from 'notifications' table when clearing notifications
2022-02-10 01:49:53 +01:00
cketti
d087fde125
Change NotificationSettings
into a data class
2022-02-09 19:36:33 +01:00
cketti
0fb6bd9198
Add a proper type for the vibration pattern the user can select
2022-02-09 19:36:33 +01:00
cketti
c58e357030
Convert 'NotificationSettings' to Kotlin
2022-02-09 19:36:33 +01:00
cketti
6256ec6d89
Rename .java to .kt
2022-02-09 19:36:33 +01:00
cketti
b91c902247
Rename class NotificationSetting
to NotificationSettings
2022-02-09 19:36:33 +01:00
cketti
f923da4487
Convert 'Account' to Kotlin
2022-02-09 19:36:33 +01:00
cketti
2dbdca0fc4
Rename .java to .kt
2022-02-09 19:36:33 +01:00
cketti
f196b8ca5e
Convert 'SearchAccount' to Kotlin
2022-02-09 19:36:33 +01:00
cketti
566be079c9
Rename .java to .kt
2022-02-08 17:07:38 +01:00
cketti
dee2ca345d
Convert 'BaseAccount' to Kotlin
2022-02-08 16:54:15 +01:00
cketti
4583218750
Rename .java to .kt
2022-02-08 16:54:15 +01:00
cketti
eff9f1bf5e
Improve support for empty account name
2022-02-08 02:23:04 +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
ff97264c08
Use Account.toString() in log messages
...
Have Account.toString() only return the account name when sensitive debug logging is enabled. Otherwise return the account UUID.
2022-02-08 00:16:33 +01:00
cketti
deecc9ea16
Fix NotificationChannel recreation avoidance logic
2022-02-07 19:22:03 +01:00
cketti
d161f7972d
Merge pull request #5895 from k9mail/vibration_pattern
...
Unify settings to configure notification vibration
2022-02-07 18:29:52 +01:00
cketti
64c6bcd48f
Unify settings to configure notification vibration
2022-02-04 06:52:52 +01:00
cketti
4c875027a6
Crash app when trying to add duplicate notification on debug builds
...
This is not a critical error. So we're not crashing release builds. We could skip the duplicate notification in release builds. But the hope is that users will notice them and report a bug, allowing us to find and fix the root cause rather than the symptom.
2022-02-03 02:16:06 +01:00
cketti
a4e1a77892
Switch to mockito-inline
2022-02-03 01:10:52 +01:00
cketti
587e964e87
Merge pull request #5885 from k9mail/html_cleaner_cli
...
Add command line application to sanitize HTML files
2022-01-28 16:53:10 +01:00
cketti
6e9a8f9559
Move HtmlProcessor into a separate module
2022-01-28 04:40:30 +01:00
parkerfath
1265d0724b
Open Outbox from 'send failed' notification ( #5887 )
2022-01-28 03:33:06 +01:00
cketti
f74d1c0fee
Change HtmlProcessor to retrieve custom <head> contents from an interface
2022-01-26 03:19:48 +01:00
cketti
7c05ec5b21
Don't use dependency injection for HtmlSanitizer
2022-01-26 03:12:11 +01:00
cketti
013e0dc788
Convert 'HtmlProcessor' to Kotlin
2022-01-26 03:05:42 +01:00
cketti
f84ebecd73
Rename .java to .kt
2022-01-26 02:57:01 +01:00
cketti
4f7bda0c29
Convert 'HeadCleaner' to Kotlin
2022-01-26 02:44:57 +01:00
cketti
2dd2b7492c
Rename .java to .kt
2022-01-26 02:44:04 +01:00
parkerfath
fda4e8243a
Allow remote search by default ( #5867 )
2022-01-20 00:20:22 +01:00
schlagi123
e8a798c9de
Change default color for registered contacts ( #5865 )
...
Change default value of `registeredNameColor` to have enough contrast in both the light and dark theme.
2022-01-20 00:10:05 +01:00
cketti
6e6fd8623a
Only remove notifications for messages currently displayed
...
This only works for the Unified Inbox, the "new messages" view, and when viewing a single folder. Search views are currently not supported.
2022-01-11 01:46:01 +01:00
cketti
2dff253d43
Change code to remove notifications to accept a selector function
2022-01-10 22:01:13 +01:00
cketti
d68b326994
Trigger folder list update when a message has been sent
2022-01-09 08:12:29 +01:00
cketti
17e69419b8
Remove now unused BackendFolder.getLastUid()
2022-01-05 20:21:58 +01:00
schlagi123
30f5cac95e
Make ThemeManager listen to theme setting changes ( #5833 )
...
This way importing settings will automatically apply the imported theme value.
2021-12-29 23:03:49 +01:00
cketti
955b22b970
Add support for setting the notification vibration pattern on Android 8+
2021-12-22 02:59:27 +01:00
cketti
448439609f
Change UI to configure the notification vibration pattern
2021-12-22 01:32:23 +01:00
cketti
69490a2c43
Add support for changing the notification light color on Android 8+
...
Android doesn't support changing this setting on an existing NotificationChannel. So we delete the existing NotificationChannel and create a new one with the same settings as the old one and the new notification light color.
2021-12-15 19:05:59 +01:00
cketti
36364f0463
Display notification light color picker on API 26+ devices
2021-12-15 19:05:59 +01:00
cketti
fc5aa0a004
Specify which colors to display in notification LED color picker
2021-12-14 01:38:48 +01:00
cketti
3298a8e90d
Add message notification channel versioning
2021-12-13 21:23:51 +01:00
cketti
fd920971b8
Mark all messages as "not new" when summary notification is dismissed
2021-12-11 18:56:02 +01:00
cketti
a8937a2a2d
Mark all messages as "not new" when leaving the "New messages" view
2021-12-11 15:41:15 +01:00
cketti
4e3d8789e3
Mark a message as "not new" when opening it for viewing
2021-12-11 15:41:15 +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
386dd9073f
Update 'new_message' column when adding and removing notifications
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
3d04523429
Set account color on status/error notifications
2021-12-08 17:46:35 +01:00
cketti
4da9e023be
Create public version for authentication 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
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
c47d79094c
Create public version for send failed notifications
...
Don't expose error details when Android is configured to hide sensitive information on the lock screen.
2021-12-08 02:37:21 +01:00
cketti
725c32ea0c
Create public versions for sync/sending notifications
...
When Android is configured to not show sensitive notification content, we no longer display account and folder names on the lock screen.
2021-12-08 02:22:18 +01:00
cketti
f042e2babd
Merge pull request #5812 from k9mail/fix_vibrate_on_notification
...
Only set vibration pattern if vibration is enabled
2021-12-07 20:23:40 +01:00
cketti
0964d50f2d
Only set vibration pattern if vibration is enabled
2021-12-07 02:11:53 +01:00
cketti
229eaa6350
Restore notifications when the app is restarted
2021-12-05 21:51:32 +01:00
cketti
14be46389f
Persist data about notifications
2021-12-04 21:59:06 +01:00
cketti
443a1d5d04
Create NotificationDataStore and make NotificationData immutable
2021-12-02 21:54:58 +01:00
cketti
d4887866c1
Remove unused @JvmStatic and @JvmName annotations
2021-11-30 22:56:09 +01:00
cketti
aee9088874
Save the timestamp when a notification was created for the first time
2021-11-30 01:46:53 +01:00
cketti
c9be254f0a
Get rid of Range lint warnings
2021-11-26 21:38:49 +01:00
cketti
a3033d1983
Use Timber for logging
2021-11-26 15:52:11 +01:00
cketti
878400c15f
Explicitly specify locale in case conversion or string formatting
2021-11-26 15:43:28 +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
1fe6b454cd
Add support for properly importing/exporting "Auto-expand folder" = "None"
2021-11-24 22:34:46 +01:00
cketti
835eb6a7cc
Use the inbox for the auto-expand folder by default
2021-11-24 22:34:46 +01:00
cketti
04c114bbca
Merge pull request #5788 from k9mail/notification_refactoring
...
Separate notification UI/UX logic from notification creation
2021-11-24 21:17:36 +01:00
cketti
b7526588c7
Separate notification UI/UX logic from notification creation
2021-11-24 17:49:14 +01:00
Tobias Preuss
f0d3f371f0
Avoid leaking CountingOutputStream.
...
+ Affects com.fsck.k9.mail.filter.CountingOutputStream.
2021-11-23 09:45:05 +01:00
Tobias Preuss
2db95470db
Avoid leaking CountingOutputStream.
...
+ Affects org.apache.commons.io.output.CountingOutputStream.
2021-11-23 09:44:27 +01:00
cketti
63364b5c30
Refactor code to export the debug log
2021-11-15 16:29:39 +01:00
cketti
61046ef0fd
Update Mockito (Kotlin) to version 4.0.0
2021-10-30 05:32:51 +02:00
cketti
80f29f9b3b
Update Koin to version 3.1.3
2021-10-30 05:32:51 +02:00
cketti
ac8e61b6e9
Update AndroidX WorkManager to version 2.7.0
2021-10-30 04:22:16 +02:00
cketti
96f9b3bdd6
Update AppCompat to version 1.3.1
...
Update AndroidX Core to version 1.7.0
Update AndroidX Activity to version 1.4.0
Update Androidx Fragment to version 1.3.6
Update Androidx Lifecycle to version 2.4.0
2021-10-30 03:28:36 +02:00
cketti
a951e07fed
Merge pull request #5752 from k9mail/clock
...
Convert class 'Clock' to an interface
2021-10-25 18:10:20 +02:00
cketti
20dfc9a75b
Convert class 'Clock' to an interface
2021-10-23 04:00:15 +02:00
cketti
bbe015eea8
Rename .java to .kt
2021-10-23 03:53:19 +02:00
cketti
0f278ebfe2
Set subject when forwarding a message as attachment
2021-10-22 19:46:31 +02:00
cketti
01f3be62dd
Don't set notification priority to high for starred messages
...
This is an obscure feature I doubt was used much. It only worked on Android versions prior to 8.0 anyway.
2021-10-18 17:26:24 +02:00
cketti
266064c6cf
Add parameter names to Koin declarations
2021-10-15 18:07:53 +02:00
cketti
d42ddd4698
Rename NewMailNotifications to NewMailNotificationController
2021-10-15 18:07:53 +02:00
cketti
7668e14577
Rename MessageSummaryNotifications to SummaryNotificationCreator
2021-10-15 18:07:52 +02:00
cketti
5aa465a68e
Rename SingleMessageNotifications to SingleMessageNotificationCreator
2021-10-15 18:07:23 +02:00
cketti
13f64bd0d7
Rename LockScreenNotifications to LockScreenNotificationCreator
2021-10-15 18:07:21 +02:00
cketti
ad5b9a300b
Rename SyncNotifications to SyncNotificationController
2021-10-14 17:28:15 +02:00
cketti
f48ff91af8
Rename SendFailedNotifications to SendFailedNotificationController
2021-10-14 17:22:51 +02:00
cketti
05a75b898e
Rename CertificateErrorNotifications to CertificateErrorNotificationController
2021-10-14 17:20:30 +02:00
cketti
50187f8b53
Rename AuthenticationErrorNotifications to AuthenticationErrorNotificationController
2021-10-14 17:11:15 +02:00
cketti
8836ed4dec
Merge pull request #5734 from k9mail/remove_base_notifications
...
Remove BaseNotifications class
2021-10-12 18:49:01 +02:00
cketti
909904fd73
Remove BaseNotifications class
2021-10-11 20:26:26 +02:00
cketti
55ed63dee1
Remove unused code
2021-10-11 19:19:12 +02:00
cketti
7a572731a2
Don't use "unread count" in notifications
2021-10-11 18:42:51 +02:00
cketti
7e80d61f08
Don't limit line length when converting from HTML to plain text
2021-10-04 17:06:06 +02:00
cketti
84eca27d4f
Avoid crash when getting flow for non-existent account
2021-09-29 23:47:34 +02:00
cketti
b2c998f0c5
Convert MessageReferenceTest to Kotlin
2021-09-29 15:51:30 +02:00
cketti
f17f0c6630
Rename .java to .kt
2021-09-29 15:51:30 +02:00
cketti
7d984f8918
Convert MessageReference to Kotlin
2021-09-29 15:38:23 +02:00
cketti
44275da943
Rename .java to .kt
2021-09-29 15:38:23 +02:00
cketti
8ae5378942
Remove Flag from MessageReference
2021-09-29 15:27:45 +02:00
cketti
2ad12fbb6d
Merge pull request #5700 from k9mail/MessageStore_getFolderServerId
...
Moving another method from LocalStore to MessageStore
2021-09-28 15:19:48 +02:00
cketti
fc253f7fae
Merge pull request #5699 from k9mail/StorageManager_cleanup
...
Remove unused functionality from StorageManager and StorageProvider
2021-09-28 15:17:42 +02:00
cketti
03370b2aca
Merge pull request #5698 from k9mail/small_K9BackendStorage_fix
...
Don't call MessageStore.deleteFolders() with an empty list
2021-09-28 15:16:25 +02:00
cketti
fd52f60c40
Merge pull request #5696 from k9mail/fix_MemorizingMessagingListener
...
Make sure "memory key" in MemorizingMessagingListener doesn't change
2021-09-28 15:16:02 +02:00
cketti
96b03b71e5
Merge pull request #5695 from k9mail/fix_lock_screen_notification
...
Fix lock screen notification when there's only one new message
2021-09-28 15:14:24 +02:00
cketti
a6db05717e
Remove LocalStore.getFolderServerId()
2021-09-24 18:55:38 +02:00
cketti
d211b72892
Add MessageStore.getFolderServerId()
2021-09-24 18:52:42 +02:00
cketti
c6936043c6
Remove unused functionality from StorageManager and StorageProvider
2021-09-24 18:39:20 +02:00
cketti
0bc6d380c5
Don't call MessageStore.deleteFolders() with an empty list
2021-09-24 18:22:24 +02:00
cketti
526a0440e1
Make sure "memory key" in MemorizingMessagingListener doesn't change
...
Previously, renaming an account could lead to old sync state being retained. I noticed this when the progress bar beneath the toolbar was shown even though no sync was in progress.
2021-09-23 22:07:44 +02:00
cketti
8f4c10d8b4
Fix lock screen notification when there's only one new message
2021-09-23 12:25:34 +02:00
cketti
8350a62cad
Merge pull request #5692 from k9mail/refactor_TracingPowerManager
...
Refactor TracingPowerManager
2021-09-23 11:46:01 +02:00
cketti
1cc41ce69d
Merge pull request #5690 from k9mail/remove_legacy_notification_settings
...
Remove "hide subject in notifications" setting
2021-09-22 18:37:40 +02:00
cketti
a06c54f1ad
Merge pull request #5689 from k9mail/remove_WrappedException
...
Remove WrappedException
2021-09-22 18:32:33 +02:00
cketti
e9d7606592
Merge pull request #5687 from k9mail/update_folder_list
...
Update displayed folder list when folders on server have changed
2021-09-22 18:29:37 +02:00
cketti
a63daa50a8
Rename TracingPowerManager to AndroidPowerManager
2021-09-22 12:49:45 +02:00
cketti
cd267a8e8a
Use Koin to manage/obtain the TracingPowerManager instance
2021-09-22 12:47:55 +02:00
cketti
3393ae16ed
Convert TracingPowerManager to Kotlin
2021-09-22 12:34:36 +02:00
cketti
27cc4d34ca
Rename .java to .kt
2021-09-22 12:33:13 +02:00
cketti
8a0a56d671
Remove (unused) timer functionality from TracingPowerManager
2021-09-22 12:11:55 +02:00
cketti
1ff1bd8454
Remove "hide subject in notifications" setting
...
This feature didn't work properly. And the "lock screen notifications" setting offers very similar functionality.
2021-09-21 19:59:30 +02:00
cketti
1231bd5975
Remove WrappedException
2021-09-21 16:33:31 +02:00
cketti
2e1b002b21
Update displayed folder list when folders on server have changed
2021-09-21 14:30:32 +02:00
cketti
9990908640
Remove default account setting
...
The first account in the account list is now the default account.
2021-09-21 13:52:48 +02:00
cketti
51e6820d92
Merge pull request #5677 from k9mail/remove_Account_isAvailable
...
Remove Account.isAvailable()
2021-09-21 13:19:02 +02:00
cketti
d57b85b820
Fix notification sound for single message "summary" notification
2021-09-18 19:19:41 +02:00
cketti
18fbb45352
Remove UnavailableStorageException
2021-09-17 11:06:17 +02:00
cketti
0167d8dfef
Remove UnavailableAccountException
2021-09-17 10:56:53 +02:00
cketti
fb8f98486f
Remove Account.isAvailable()
2021-09-17 10:47:03 +02:00
cketti
129557da99
Remove storage provider locking
2021-09-17 10:37:11 +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
73bcfb3837
Remove unused class FixedStorageProviderBase
2021-09-17 09:47:34 +02:00
cketti
29e1593d79
Update sync notification instead of recreating it for every folder
2021-09-17 05:31:58 +02:00
cketti
79514fbad1
Replace Account.setRingNotified() mechanism
...
MessagingController now uses NotificationState to make sure there's only one audible notification during a single sync operation.
2021-09-16 17:54:56 +02:00
cketti
ad21449a0b
Refactor notification code
2021-09-16 12:42:51 +02:00
plan3d
5437fd2024
Issue #5611 : Add support for setting Reply-To header
2021-09-13 14:52:28 +02:00
cketti
0c413e34a7
Merge pull request #5650 from k9mail/show_gitlab_usernames
...
Show name part of certain addresses even if they contain an @ symbol
2021-09-09 12:47:00 +02:00
cketti
9156e8f699
Show name part of certain addresses even if they contain an @ symbol
2021-09-06 07:58:05 +02:00
cketti
c0f7996858
Move accounts flow code from AccountsViewModel to Preferences
2021-09-05 22:53:21 +02:00
cketti
58498b8fc2
Fix sending results in callback flows
...
Launching new coroutines to deliver the results from the callback to the channel can lead to the results arriving out of order.
2021-09-04 18:45:46 +02:00
cketti
288486e247
Rewrite FoldersViewModel to use Flow
2021-09-02 21:04:03 +02:00
cketti
a36d7e9d78
Merge pull request #5633 from k9mail/notification_tests
...
Convert notification tests to Kotlin
2021-09-02 19:13:02 +02:00
cketti
c8268dbe45
Convert notification tests to Kotlin
2021-09-01 02:19:46 +02:00
cketti
140da14939
Rename .java to .kt
2021-09-01 02:18:54 +02:00
cketti
701b640da3
Move LocalFolder.getMessageCount() to MessageStore
2021-08-31 18:38:16 +02:00
cketti
74f7eed769
Merge pull request #5620 from k9mail/refactor_FolderRepository
...
Remove FolderRepositoryManager
2021-08-27 22:28:24 +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
6084321bde
Update Kotlin to 1.5.30
...
Replace calls to deprecated stdlib functions
2021-08-26 17:44:49 +02:00
cketti
e0fe1a2dfa
Merge pull request #5618 from k9mail/convert_to_kotlin
...
Convert classes in the "notification" package to Kotlin
2021-08-26 16:51:20 +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
d9bf7b491e
Merge pull request #5603 from k9mail/format_flowed_reply
...
Properly decode format=flowed body before including the text in a reply
2021-08-24 18:57:35 +02:00
cketti
9ee3a76ef1
Move format=flowed decoding to MessageExtractor
2021-08-22 16:20:15 +02:00
cketti
93a1df5bd0
Remove LocalStore.getFolderId()
2021-08-21 22:45:40 +02:00
cketti
f09f2d4003
Move LocalStore.compact() to MessageStore
2021-08-21 22:39:09 +02:00
cketti
baa94b84b9
Remove unused code
2021-08-21 22:38:10 +02:00
cketti
766cf838e0
Merge pull request #5578 from k9mail/ignore_chat_messages
...
Add setting to suppress notifications for chat messages
2021-08-21 21:26:45 +02:00
cketti
e229254e53
Merge pull request #5574 from k9mail/no_notification_on_first_sync
...
Don't create notifications when first syncing a folder
2021-08-21 21:22:57 +02:00
cketti
beaefd84d0
Merge branch '5.8-MAINT' into main
2021-08-21 21:17:37 +02:00
cketti
0ad8ce2c0d
Fix check for missing incoming/outgoing server credentials
2021-08-19 23:09:39 +02:00
cketti
21102b50dc
Set 'last_updated' column to NULL when clearing local messages
2021-08-18 11:55:55 +02:00
cketti
9c185b15cb
Remove unnecessary code
...
Backend.sync() already sets the 'last checked' time.
2021-08-18 11:55:55 +02:00
cketti
326d27476b
Don't create notifications when syncing a folder for the first time
2021-08-18 11:55:55 +02:00
cketti
bc366e98eb
Add support for retrieving a folder's last checked time via MessageStore
2021-08-18 11:55:21 +02:00
cketti
3252002629
Rename MessageStore.setLastUpdated() to setLastChecked()
2021-08-18 11:53:53 +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
ddcdc72321
Merge pull request #5519 from andrewfg/starred-unread-count
...
Display both unread and starred message counts in navigation drawer
2021-08-18 01:05:30 +02:00
cketti
74a0ed8b93
Remove UnreadMessageCountProvider
2021-08-17 20:02:56 +02:00
cketti
106c132d8d
Code cleanup
2021-08-17 19:57:02 +02:00
Andrew Fiddian-Green
4729ae044a
Optionally show starred message count in navigation drawer
2021-08-17 19:18:26 +02:00
cketti
46c4e6fd8d
Don't connect to server when incoming/outgoing server passwords are missing
...
If a user imports an account but doesn't provide server passwords, don't attempt to connect to the incoming or outgoing server of that account.
2021-08-17 01:19:41 +02:00
cketti
04d68624ad
Remove notification when a message was deleted
2021-08-07 21:48:01 +02:00
lostfictions
8c56d0c702
make push notification low priority
...
fixes #5521 .
2021-08-04 19:01:16 -04:00
cketti
97891d15e0
Merge pull request #5511 from k9mail/fix_identity_header
...
Fold identity header value so we're not generating invalid messages
2021-08-04 15:36:00 +02:00
cketti
0e54bd2bc5
Fold identity header value so we're not generating invalid messages
2021-08-04 15:21:29 +02:00
cketti
e9c45b4aa8
Disable Push if not supported by the server
2021-08-02 18:49:06 +02:00
cketti
49600c470c
Reset "ring notified" flag when syncing a folder after a Push event
...
Without this (but with the new silent fixes) new messages downloaded after a Push event would only create silent notifications.
2021-07-31 20:38:50 +02:00
cketti
d461dece67
Fix sound/vibration for the summary notification
2021-07-31 20:36:01 +02:00
cketti
529a6c0aad
Make sure summary notification is silent during quiet time
2021-07-31 20:02:59 +02:00
cketti
2ef430565d
Make sure "stacked notifications" are silent
2021-07-31 20:02:18 +02:00
Matt Smith
baed7c09b8
Show full error message in notification
2021-07-17 15:36:18 +12:00
cketti
26c64806f2
Add "Push Info" screen
2021-07-15 00:20:48 +02:00
cketti
00be66b1c1
Don't throw in AccountPushController.updatePushFolders()
...
When the 'backendPusher' property is null the AccountPushController (and BackendPusher) have already been stopped.
2021-07-13 15:45:21 +02:00
cketti
38c0b2dfb2
Restart AccountPushControllers when connectivity returns
...
PushController.onConnectivityChanged() is not only called when the active network changes, but also when connectivity returns (offline -> online). In that case we need to restart the AccountPushControllers.
2021-07-10 14:28:57 +02:00
cketti
108868155e
Persist general settings on a background thread
2021-07-08 22:56:45 +02:00
plan3d
68fd9cf819
Issue #2490 : Inline attachments are included in forwarded messages
2021-07-06 21:00:18 +02:00
cketti
7580c04d6c
Don't allow an IDLE refresh interval of 1 minute
2021-07-05 17:38:49 +02:00
cketti
95ecac8893
Close all Push connections when Android connects to another network
...
When the default network changes Android usually kills connections established over the old network after a little while. K-9 Mail treats this as a regular network error and sleeps for 5 minutes before trying to re-establish the Push connection(s). Closing old connections and opening new ones when a network change is detected avoids this error.
2021-07-04 21:27:38 +02:00
cketti
830b358ff3
Change 'ConnectivityChangeListener' interface
...
Distinguish between 'connectivity changed' and 'connectivity lost' events.
2021-07-04 21:17:06 +02:00
cketti
1a12ab3177
Add new setting: showRecentChanges
2021-07-03 14:13:29 +02:00
cketti
991f814980
Introduce GeneralSettingsManager
...
A first step towards moving away from the global mutable state in `K9`.
2021-07-01 17:47:10 +02:00
cketti
198975dda3
Use ConnectivityManager.registerDefaultNetworkCallback() on API 24+
2021-06-26 23:15:15 +02:00
cketti
ec6e976198
Merge pull request #5370 from k9mail/inbox_push_class
...
Set push class of Inbox to 'first class' by default
2021-06-26 22:37:50 +02:00
cketti
f9f5f8eb1c
Set push class of Inbox to 'first class' by default
2021-06-26 22:17:24 +02:00
cketti
fe4282a03c
Merge pull request #5368 from k9mail/connectivity_manager_network_change
...
Make ConnectivityManager notify when the active network changes
2021-06-26 22:02:16 +02:00
cketti
1bd3173f71
Don't start PushService if there are no Push-enabled accounts
2021-06-26 21:22:19 +02:00
cketti
0ca3c5575f
Make ConnectivityManager notify when the active network changes
...
Also fix how isNetworkAvailable() works. We now always query the active network (if there is one).
2021-06-26 21:11:33 +02:00
cketti
ac131758b1
Make sure PushController only deals with Push accounts
...
We could end up with a non-Push-capable account that has `folderPushMode` set to something other than `NONE` due to missing checks in the settings import code. See issue #5363 .
2021-06-24 15:22:10 +02:00
cketti
211ffb98df
Set default value of 'Push folders' to 'None'
2021-06-24 14:22:00 +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
8fea80f14c
Add PushController implementation
2021-06-22 15:30:23 +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
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
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
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
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
295b9d8d28
Merge pull request #5327 from k9mail/issue_4407_unifiedInbox
2021-06-04 21:38:15 +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
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
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
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
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
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
c43f27a9ff
Merge pull request #5259 from k9mail/save_messages
2021-04-20 21:23:47 +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
428ae60a58
Split Backend.fetchMessage() into two methods
...
The two new methods now also save the downloaded message data instead of returning a Message instance.
MessageStore.saveRemoteMessage() will now replace a message if it already exists.
2021-04-17 00:04:58 +02:00
cketti
4bfe03de35
Merge pull request #5255 from k9mail/BackendStorage_to_MessageStore
2021-04-16 20:46:06 +02:00
cketti
1bbaf668f6
Remove K9BackendStorage's dependency on LocalStore
2021-04-15 01:51:57 +02:00
cketti
289744ec24
Change key/value functions in K9BackendFolder to use MessageStore
2021-04-15 01:51:54 +02:00
cketti
cf51883637
Change K9BackendFolder.getOldestMessageDate() to use MessageStore
2021-04-15 01:51:52 +02:00
cketti
0a50acd38b
Merge pull request #5251 from k9mail/BackendStorage_to_MessageStore
...
Change K9BackendFolder.saveMessage() to use MessageStore
2021-04-15 01:51:24 +02:00
cketti
4e4babeea6
Change K9BackendFolder.saveMessage() to use MessageStore
2021-04-15 01:19:18 +02:00
plan3d
352cd7a356
Issue #1430 : Fixed lost signature spaces
2021-04-13 07:37:52 +02:00
plan3d
960989bdb2
Fixed TextBodyBuilder
2021-04-13 07:37:52 +02:00
plan3d
20a00de34c
Rewrote TextBodyBuilderTest
2021-04-13 07:37:52 +02:00
cketti
1a68adc803
Merge pull request #5242 from k9mail/BackendStorage_to_MessageStore
2021-04-12 21:00:07 +02:00
cketti
35da587399
Save new account order in background thread
2021-04-10 07:29:37 +02:00
Poldi
3d9e9d96fc
Allow reordering accounts in settings
2021-04-10 06:47:02 +02:00
cketti
923b0308b4
Change K9BackendFolder.setMessageFlag() to use MessageStore
2021-04-09 03:08:25 +02:00
cketti
c20de077d9
Change K9BackendFolder.getMessageFlags() to use MessageStore
2021-04-09 02:24:02 +02:00
cketti
c17db2cb94
Change K9BackendFolder.isMessagePresent() to use MessageStore
2021-04-09 02:00:10 +02:00
cketti
d52b4511fe
Change K9BackendFolder.setStatus() to use MessageStore
2021-04-08 21:33:25 +02:00
cketti
e7b764e6e8
Change K9BackendFolder.setLastChecked() to use MessageStore
2021-04-08 21:28:05 +02:00
cketti
cbb5825d03
Change K9BackendFolder.setMoreMessages() to use MessageStore
2021-04-08 21:23:48 +02:00
cketti
7dc4b6dd71
Change K9BackendFolder.getMoreMessages() to use MessageStore
2021-04-08 21:12:01 +02:00
cketti
3336fd3ed3
Extract 'MoreMessages' to a separate file
2021-04-08 20:40:49 +02:00
cketti
3a86cc632e
Update 'delete_message' trigger to delete entries in 'threads' table
2021-04-08 20:27:03 +02:00
cketti
cf9037a513
Add code to delete messages to MessageStore
2021-04-08 20:27:03 +02:00
cketti
9d4d7f0352
Move code to get message server IDs and dates from K9BackendFolder to MessageStore
2021-04-07 20:39:19 +02:00
cketti
484db5730d
Move code to get message server IDs from K9BackendFolder to MessageStore
2021-04-07 20:23:54 +02:00
cketti
102fbc690f
Move code to get highest message UID from K9BackendFolder to MessageStore
2021-04-07 20:23:52 +02:00
cketti
2e6b5710be
Move code to retrieve folder details from K9BackendFolder to MessageStore
2021-04-07 17:21:40 +02:00
cketti
6373d0249f
Move delete folder code from K9BackendStorage to MessageStore
2021-04-06 22:17:38 +02:00
cketti
59b8ead290
Move create/update folder code from K9BackendStorage to MessageStore
2021-04-03 18:35:29 +02:00
cketti
9932ed3b68
Move "extra values" code from K9BackendStorage to MessageStore
2021-04-03 17:48:43 +02:00
cketti
3dd7d1b6d8
Start using MessageStore in K9BackendStorage
2021-04-03 17:12:01 +02:00
cketti
035c853047
Remove unused dependency from FolderRepository
2021-04-03 02:34:57 +02:00
cketti
9c257685a3
Move more code from FolderRepository to MessageStore
2021-04-03 02:32:13 +02:00
cketti
e2bc68e0ac
Move FolderRepository.updateFolderDetails() to MessageStore.updateFolderSettings()
2021-04-03 00:23:11 +02:00
cketti
796d22a132
Move FolderRepository.getFolderId() to MessageStore
2021-04-02 06:12:09 +02:00
cketti
392ae3eb3c
Move FolderRepository.getDisplayFolders() to MessageStore
2021-04-02 05:52:57 +02:00
cketti
05543214e5
Move more code from FolderRepository to MessageStore
2021-04-02 01:26:12 +02:00
cketti
0250736cf5
Move code to read a single folder from FolderRepository to MessageStore
2021-04-02 00:27:02 +02:00
cketti
d5e43594c7
Merge pull request #5226 from k9mail/create_folders
...
Refactor LocalStore.createFolders()
2021-04-01 15:57:16 +02:00
cketti
8f67846813
Merge pull request #5224 from k9mail/MessageStore_getHeaders
2021-04-01 15:21:09 +02:00
cketti
1ee2c54f6d
Refactor LocalStore.createFolders()
2021-04-01 02:45:33 +02:00
cketti
24f55ee03e
Add test for RetrieveMessageOperations.getHeaders()
2021-04-01 01:32:46 +02:00
cketti
e76082568d
Move code from MessageRepository to MessageStore
2021-03-31 23:03:46 +02:00
cketti
f0bb82e1a9
Remove unused code related to "latest old message seen time"
2021-03-31 18:09:25 +02:00
cketti
4748a5a190
Merge pull request #5223 from k9mail/refactor_LocalKeyStore
2021-03-31 15:42:49 +02:00
cketti
0e1ff7d6b1
Remove LocalKeyStore's dependency on Android's Context
...
And lazily initialize the KeyStore so we're not doing any work when the instance is created.
2021-03-30 22:08:06 +02:00
cketti
bb1c9c32be
Convert 'LocalKeyStore' to Kotlin
2021-03-30 22:06:12 +02:00
cketti
e745f55413
Add tests for MessageStoreManager
2021-03-30 16:27:37 +02:00
cketti
cc65f72d66
Make 'MessageStoreManager' listen for account deletions
2021-03-30 16:27:37 +02:00
cketti
e8d9dae3fa
Rename 'MessageStoreProvider' to 'MessageStoreManager'
2021-03-30 16:27:37 +02:00
cketti
2b6be48205
Add listener to be notified when an Account has been deleted
2021-03-30 16:27:37 +02:00
cketti
d3e2c6635c
Add 'SettingsChangeListener' mechanism to 'Preferences'
2021-03-24 17:18:16 +01:00
cketti
827ea0059d
Make everyone use Preferences.saveSettings() to save general settings
2021-03-24 17:08:17 +01:00
cketti
dc93335100
Move old migration code from 'K9' to storage module
2021-03-24 16:28:07 +01:00
cketti
fb426b4008
Remove migration code for really old K-9 Mail versions
2021-03-24 16:04:53 +01:00
cketti
9ee8746255
Move some code from 'Preferences' to 'AccountRemover'
2021-03-24 15:48:30 +01:00
cketti
370481236a
Convert 'Preferences' to Kotlin
2021-03-22 22:57:33 +01:00
cketti
2ddf38e666
Rename .java to .kt
2021-03-22 22:29:04 +01:00
cketti
e642ff2896
Remove Kotlin Android extensions plugin
...
See https://youtrack.jetbrains.com/issue/KT-42121
2021-03-02 17:58:20 +01:00
cketti
3cd28c5b2c
Merge pull request #5152 from ByteHamster/message-header-view
...
Show message headers in fragment
2021-02-23 14:25:10 +01:00
cketti
2630b2a395
Add 'MessageRepository'
2021-02-20 13:28:15 +01:00
cketti
06de64cd2c
Make MessageHeaderParser more flexible
2021-02-20 13:28:15 +01:00
cketti
b4f9ea29d8
Add Malayalam translation
2021-02-19 14:17:38 +01:00
cketti
1fb8c0be14
Merge pull request #5147 from k9mail/update_translations
...
Update translations
2021-02-16 17:13:47 +01:00
cketti
17f447705e
Update translations
...
Add languages: be, en_GB
2021-02-16 15:26:31 +01:00
cketti
705a02f72b
Get rid of Account.isEnabled()
...
We no longer have the concept of disabled accounts.
2021-02-16 00:28:01 +01:00
Ody-sseus
b48ad28743
Fix MessageCompose activity enabled status
2021-02-14 22:49:32 +02:00
cketti
ddabe3a238
Rewrite stored value from "hideSpecialAccounts" to "showUnifiedInbox"
2021-02-07 15:45:14 +01:00
cketti
a3e0b89f01
Rename K9.isHideSpecialAccounts to K9.isShowUnifiedInbox
2021-02-07 13:15:53 +01:00
cketti
08d6d9bebc
Delete remaining store/transport URI functionality
2021-02-01 17:30:21 +01:00
cketti
696901f9c1
Use JSON as serialization format for 'ServerSettings'
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
69ed32ff8a
Convert 'ServerSettings' to Kotlin
2021-02-01 10:39:19 +01:00
cketti
1ebc487b56
Don't use custom ServerSettings subclass in SettingsImporter
2021-01-31 18:50:14 +01:00
cketti
71e2d24fbb
Refresh the folder list when checking the account
2021-01-27 08:04:23 +01:00
MonkeyMatt
835c2200c9
Change default so existing accounts continue to work
...
Ensure accounts made before the setup changes don't get deleted
2020-12-29 13:46:33 +13:00
MonkeyMatt
d6d3fb884e
Add setup finished flag on account
...
Relying on account name caused faults when exiting setup flow at the last step
2020-12-29 13:12:29 +13:00
MonkeyMatt
ee6d7afc75
Allow back navigation through setup screens
...
Fixes setup flow and ensures an account is fully setup before being usable
2020-12-28 17:39:30 +13:00
cketti
011ac576a2
Remove MessageListFragment.context
2020-11-06 14:58:21 +01:00
cketti
760875bb8e
Don't crash when special local folders already exist
2020-11-01 14:44:43 +01:00
cketti
2a6b242d40
Merge pull request #5024 from k9mail/improve_outbox
...
Improve Outbox
2020-10-24 16:52:35 +02:00