Commit graph

2509 commits

Author SHA1 Message Date
cketti
2d896196ad Add support for converting consecutive spaces to HTML
We use non-breaking space characters when necessary.
2022-08-08 11:56:20 +02:00
cketti
0c449eb70a Add (failing) tests for converting consecutive spaces to HTML
The tests demonstrate the behavior used by Thunderbird.
2022-08-08 11:23:28 +02:00
啊o额iu鱼
7783cc3074
move fulltext entry when message moving
Otherwise, the moved messages cannot be searched,
2022-08-08 16:24:23 +08:00
cketti
9eb081e51b Update LeakCanary to version 2.9.1 2022-08-07 20:10:29 +02:00
cketti
14d5ce7ee3 Revert "Update MaterialDrawer to version 9.0.1"
This reverts commit 8b2fbd0060.
2022-08-07 19:57:31 +02:00
cketti
be649e3ba0 Update Koin to version 3.2.0 2022-08-05 23:51:32 +02:00
cketti
8b2fbd0060 Update MaterialDrawer to version 9.0.1 2022-08-05 22:56:48 +02:00
cketti
5751d4c08b Update SearchPreference to version 2.2.1 2022-08-05 22:43:43 +02:00
cketti
c2aea63223 Update Turbine to version 0.9.0 2022-08-05 21:40:19 +02:00
cketti
2bdc92b6df Update kotlinx.coroutines to version 1.6.4 2022-08-05 16:40:49 +02:00
cketti
d26921e99c Add manifest placeholder to :app:ui:legacy module 2022-08-05 15:59:16 +02:00
cketti
38019dc531
Merge pull request #6222 from thundernest/update_kotlin
Update Kotlin to version 1.7.10
2022-08-05 15:58:19 +02:00
cketti
cb9103448a
Merge pull request #6221 from thundernest/fix_onPendingIntentResult
Fix crash in `MessageViewContainerFragment.onPendingIntentResult()`
2022-08-05 15:57:56 +02:00
cketti
f2ff826675 Update Kotlin to version 1.7.10 2022-08-05 14:19:17 +02:00
cketti
bf41af8cae Fix crash in MessageViewContainerFragment.onPendingIntentResult()
`onPendingIntentResult()` is called before the fragment is in the RESUMED state. This lead to an exception in the `messageViewFragment` property getter when it was checking the value of `isResumed`.
2022-08-05 13:52:10 +02:00
cketti
6ca6c32c91 Clear folder_extra_values when using "clear local messages" 2022-08-05 12:01:18 +02:00
cketti
853c07e8f2 Prepare for version 6.301 2022-08-04 17:40:15 +02:00
cketti
ee7dcd07c6 Version 6.300 2022-08-04 17:27:43 +02:00
cketti
8b546cadd6 Scroll message list to active message 2022-08-03 21:44:35 +02:00
cketti
6992cc732f Handle view pager swipe vs. WebView horizontal scrolling 2022-08-03 21:37:05 +02:00
cketti
3e90e92b2e Only mark a message as read when it is the active message
Previously we marked a message as read when loading it for viewing. But with swiping between messages we could now load a message before it is considered the active message.
2022-08-03 21:37:05 +02:00
cketti
de6d4197f2 Add basic support for swiping between messages 2022-08-03 21:37:05 +02:00
cketti
16ae99ac09 Fix initialization problems with MessageListFragment and MessageViewFragment 2022-08-03 17:30:07 +02:00
cketti
114af53c84 Convert HtmlConverterTest to Kotlin 2022-08-02 16:47:22 +02:00
cketti
7bed9b05b6 Rename .java to .kt 2022-08-02 16:42:58 +02:00
cketti
d014c2f7f3 Fix nullability of parameter 2022-07-29 15:29:32 +02:00
cketti
bfdc0eb04c Convert MessageContainerView to Kotlin 2022-07-29 11:34:52 +02:00
cketti
87dbcfecc5 Rename .java to .kt 2022-07-28 18:44:34 +02:00
cketti
ec80646b6c Simplify message_container layout 2022-07-28 18:02:22 +02:00
cketti
66ebddbd1a Remove unused code 2022-07-28 17:41:16 +02:00
cketti
b05309f316 Convert MessageWebView to Kotlin 2022-07-28 16:05:32 +02:00
cketti
b35e6ac269 Rename .java to .kt 2022-07-28 16:05:32 +02:00
cketti
f16522cdc4 Remove unused code 2022-07-28 15:46:39 +02:00
cketti
4b2c1d9961
Merge pull request #6192 from thundernest/more_notification_fixes
Fix bug when tapping a single message notification
2022-07-27 22:25:27 +02:00
cketti
d11972231a
Merge pull request #6190 from thundernest/fix_duplicate_notifications
Fix removing multiple notifications at once
2022-07-27 22:11:16 +02:00
cketti
1c1dbfbb1e
Merge pull request #6187 from Croydon/url-updates
Update GitHub URLs to new location
2022-07-27 16:13:08 +02:00
cketti
f60f573f07 Don't auto-cancel new message notifications
On one of my test devices (Android 12), tapping a single message notification opens the message view, which leads to the notification being removed. If there's an inactive notification it will be promoted to an active notification and use the notification ID of the notification that was just removed. Due to auto-cancel being used, the delete intent of the first notification is then triggered. However, the system seems to use the notification ID to retrieve the delete intent. Because it will fetch the delete intent from the new notification, not the old one. (I made sure to check that it's not a PendingIntent reuse issue)

Since we remove the notification ourselves, we can simply stop using the (apparently buggy) auto-cancel mechanism.
2022-07-27 00:21:07 +02:00
cketti
bc7758b9cf Remove notificationId parameters from methods in NotificationActionCreator 2022-07-26 23:31:20 +02:00
cketti
147945f757 Make sure Intents used by K9NotificationActionCreator are unique 2022-07-26 23:31:20 +02:00
cketti
7dbae49c8e Fix removing multiple notifications at once 2022-07-26 20:35:32 +02:00
cketti
b1083bef93 Merge branch '6.2-MAINT' into main 2022-07-26 17:15:54 +02:00
cketti
6454d350fb Version Version 6.202 2022-07-26 17:01:41 +02:00
r.zarchi
8fc3e4b1b9 Cc and Bcc text fields checked when handling hide empty field 2022-07-26 16:26:47 +02:00
r.zarchi
f45c5024ca searchEnabled set to false when expanding the search view after the rotate 2022-07-26 16:26:42 +02:00
cketti
fd006bdb2f Add Western Frisian translation 2022-07-26 12:51:17 +02:00
Croydon
c8db3b350a Update GitHub URLs to new location 2022-07-25 20:07:23 +02:00
cketti
351874b9b0
Merge pull request #6185 from arissystem/Issue-6184
Cc and Bcc text fields checked when handling hide empty field
2022-07-25 11:03:56 +02:00
r.zarchi
d27a566a32 Cc and Bcc text fields checked when handling hide empty field 2022-07-25 13:06:03 +04:30
r.zarchi
70f5a589fa searchEnabled set to false when expanding the search view after the rotate 2022-07-25 10:27:40 +04:30
cketti
cc5fc8e2b0 Remove unused code 2022-07-21 13:23:23 +02:00
cketti
3fce00902a Don't invalidate the menu in MessageList 2022-07-21 13:23:23 +02:00
cketti
8214ef3fb7 Move code to disable the delete menu item to MessageViewFragment 2022-07-21 12:21:46 +02:00
cketti
1cb0d15398 Move "search everywhere" menu handling to MessageListFragment 2022-07-21 12:03:53 +02:00
cketti
213cda8881 Rename MessageListFragment.onListVisible() to isActive
Use the same name for the same concept in `MessageListFragment` and `MessageViewFragment`.
2022-07-21 11:50:26 +02:00
cketti
17c51a4900 Remove next/previous entries from message view menu 2022-07-21 11:11:22 +02:00
cketti
995703cc5f Set the "message list visible" flag when the back stack has changed 2022-07-21 11:11:22 +02:00
cketti
d9803c5987 Fix visibility of compose action during transitions 2022-07-21 11:11:22 +02:00
cketti
9c8ac61ed6 Set MessageViewFragment to "active" when its menu should be displayed 2022-07-21 11:11:22 +02:00
cketti
59aac05a8c Initialize MessageViewFragment.messageReference earlier 2022-07-20 20:27:33 +02:00
cketti
0bb4695d4b Move message view menu item handling code to MessageViewFragment 2022-07-20 20:27:33 +02:00
cketti
4d7a40b520 Reformat message_list_option.xml 2022-07-20 20:27:33 +02:00
cketti
03de64e84c Move code to prepare the message view menu to MessageViewFragment 2022-07-20 20:27:33 +02:00
cketti
87dbccdb51 Convert MessageViewFragment to Kotlin 2022-07-20 19:57:05 +02:00
cketti
48847e17ea Rename .java to .kt 2022-07-20 14:19:31 +02:00
cketti
8c6b37cba9
Merge pull request #6172 from thundernest/allow_all_schemes_in_links
Allow all URI schemes in links
2022-07-20 14:19:03 +02:00
cketti
0cae71e53e Allow all URI schemes in links 2022-07-20 14:00:55 +02:00
cketti
42daa056fd Move message list menu item handling code to MessageListFragment 2022-07-19 15:33:32 +02:00
cketti
9f45fe1d46 Refactor MessageListFragment.onOptionsItemSelected() 2022-07-19 15:13:29 +02:00
cketti
4486782166 Move code to prepare the message list menu to MessageListFragment 2022-07-19 14:58:13 +02:00
cketti
1de5fa8cf2 Mark message list as visible when listing messages in a thread 2022-07-19 14:56:57 +02:00
cketti
185a08de0b Remove custom updateMenu() mechanism 2022-07-19 13:00:23 +02:00
cketti
52b22ba2ca Call invalidateMenu() instead of directly updating the current Menu 2022-07-19 12:54:44 +02:00
cketti
4371972654 Prepare for version 6.300 2022-07-18 19:39:53 +02:00
cketti
74a58345d8 Version 6.201 2022-07-15 18:38:36 +02:00
cketti
923453ad3f Don't remove OAuth state on temporary errors 2022-07-14 17:06:31 +02:00
cketti
5ef1930a59 Update translations 2022-07-14 12:57:50 +02:00
cketti
15b360127e
Merge pull request #6162 from thundernest/fix_ghost_message_list_reloaded
Another attempt at fixing the ghost message list
2022-07-14 12:41:51 +02:00
cketti
f0e81c6d4b Use extension function for fragment transaction 2022-07-13 20:56:16 +02:00
cketti
f78045c01f Change method to clear the fragment back stack in MessageList 2022-07-13 20:54:13 +02:00
cketti
15c2402260 Remove unnecessary parameter 2022-07-13 20:39:37 +02:00
cketti
d396e66c57 Set the "message list visible" flag when opening a folder from the drawer 2022-07-13 11:54:44 +02:00
cketti
1c66f29afa
Merge pull request #6155 from thundernest/update_microsoft_oauth_config
Change the OAuth client ID used for Microsoft accounts
2022-07-13 10:59:26 +02:00
cketti
1ff327eda8 Display an error notification when creating a notification fails
When importing settings from another device, we could end up with a notification channel that references a non-existing notification sound. In that case creating a notification for a new message will lead to a `SecurityException`. We catch this case and display an error notification instead. This is fine because we create the "Miscellaneous" notification channel without a notification sound.
2022-07-11 18:06:22 +02:00
cketti
cf4c1f973c Change the OAuth client ID used for Microsoft accounts 2022-07-09 01:41:55 +02:00
cketti
465be90a5a Version 6.200 2022-07-08 11:01:13 +02:00
cketti
3805bcd7f1 Prepare for version 6.102 2022-07-06 14:44:55 +02:00
cketti
f8573017c4 Version 6.101 2022-07-06 14:28:30 +02:00
cketti
a9ff485ad2 Update translations 2022-07-05 21:08:21 +02:00
cketti
badeb252d0
Merge pull request #6149 from thundernest/remove_shared_debug_keystore
Remove shared debug keystore
2022-07-05 20:10:16 +02:00
cketti
7faa66f427
Merge pull request #6148 from thundernest/update_about
Update misc section in settings screen
2022-07-05 20:09:59 +02:00
cketti
c64d10a00b Remove shared debug keystore 2022-07-05 17:33:33 +02:00
cketti
7d69ada798
Merge pull request #6115 from thundernest/oauth_outlook
Add OAuth support for Microsoft accounts
2022-07-05 17:19:35 +02:00
cketti
a101609987 Add link to user manual to settings screen 2022-07-05 16:26:36 +02:00
cketti
020b29a277 Change "User forum" in settings to "Get help" 2022-07-05 16:24:05 +02:00
cketti
225c579d77 Add "AppAuth for Android" to About screen 2022-07-05 15:26:09 +02:00
cketti
38a9f579be
Merge pull request #6144 from thundernest/GH-6141_fix_action_mode
Fix action mode when switching from split view to message view
2022-07-05 13:53:39 +02:00
cketti
5c4af7c965
Merge pull request #6147 from arissystem/Issue-6145
computing Select all visibility each time we rotate the device
2022-07-05 13:50:44 +02:00
cketti
4c36fec1ce
Merge pull request #6122 from thundernest/gmail_oauth_upgrade
Switch Gmail users to OAuth if log-in to IMAP/SMTP has failed
2022-07-05 13:28:27 +02:00
cketti
238a5cd181 Handle authentication failure when refreshing the folder list 2022-07-05 12:40:43 +02:00
cketti
00e0d8b35a Change server settings to use OAuth after an authentication failure 2022-07-05 12:40:43 +02:00
r.zarchi
8cb62434b9 computing Select all visibility each time we rotate the device 2022-07-05 14:42:40 +04:30
cketti
836c467282 Fix action mode when switching from split view to message view 2022-07-04 17:20:27 +02:00
cketti
d7b928bd5d Update link to point to k9mail.app 2022-07-04 15:53:17 +02:00
cketti
9a9c781eaa Flag existing Gmail accounts for OAuth upgrade 2022-06-17 14:40:23 +02:00
cketti
f96154f0b0 Display "authentication failed" notification when OAuth sign-in is required 2022-06-16 14:55:34 +02:00
cketti
c9cec0ceb8 Prepare for version 6.101 2022-06-15 16:26:18 +02:00
cketti
06a537b16d Version 6.100 2022-06-15 15:39:13 +02:00
cketti
9f1d3d0a73 Update translations 2022-06-15 13:45:23 +02:00
cketti
598a171464 Add OAuth support for Microsoft accounts 2022-06-15 13:02:50 +02:00
cketti
f60042d274
Merge pull request #6108 from k9mail/sign_in_progress
Display spinning progress indicator while the OAuth flow is running
2022-06-12 20:18:02 +02:00
cketti
451a74166b Fix bug when clearing all new message notifications of an account 2022-06-10 16:42:53 +02:00
cketti
971596a485 Display spinning progress indicator while the OAuth flow is running 2022-06-10 14:44:18 +02:00
cketti
6290e9b2a6 Add OAuth support for AOL accounts 2022-06-08 20:28:08 +02:00
cketti
79dd0fe1b2 Add OAuth support for Yahoo accounts 2022-06-08 20:28:08 +02:00
Olivier Blin
4c937ad7a6 Move redirectUri in OAuthConfiguration
Not all providers accept the redirect URI Google requires Android apps to use.
2022-06-08 20:28:08 +02:00
cketti
9ae7d27e79 Add support for OAuth flow after settings import 2022-06-07 15:53:37 +02:00
cketti
94c61a7999
Merge pull request #6098 from k9mail/sasl_oauthbearer
Add support for the `OAUTHBEARER` SASL method
2022-06-06 22:30:29 +02:00
cketti
d3be6e249b Add support for the OAUTHBEARER SASL method (IMAP) 2022-06-05 22:49:30 +02:00
cketti
d08aa55853 Add proper way to retrieve OAuth credentials 2022-06-05 16:35:39 +02:00
cketti
d4883d1921 Add "Sign in with Google" button
This flow is not a great user experience. But it's the fastest way I could think of to add the button that was requested by Google.
2022-06-03 23:25:58 +02:00
cketti
5065afef88
Merge pull request #6082 from k9mail/oauth_setup_flow
Add support for OAuth 2.0 (Gmail)
2022-05-28 15:44:22 +02:00
cketti
7e5c6b05c4
Merge pull request #6051 from TheLastProject/feature/2943
Add support for List-Unsubscribe
2022-05-28 14:28:35 +02:00
cketti
a193643591 Update AttachmentPresenterTest 2022-05-28 14:09:38 +02:00
Sylvia van Os
6081b58212 Add Unsubscribe toolbar option 2022-05-28 14:07:08 +02:00
Mihail Mitrofanov
f0535c6217 The back button now appears in AccountSetupIncoming and AccountSetupOutgoing only in edit mode
* Condition Intent.ACTION_EDIT.equals(getIntent().getAction());
2022-05-24 15:35:57 +02:00
cketti
14a7f1b0d3 Add support for OAuth 2.0 (Gmail) 2022-05-23 22:26:49 +02:00
Mihail Mitrofanov
8fa9b7fbe6 Fix #5983. Missing back button
Add back button in below activities:

* AccountSetupComposition (item "Composition defaults")
* AccountSetupOutgoing (item "Outgoing server")
* AccountSetupIncoming (item "Incoming server")
2022-05-23 16:22:20 +02:00
cketti
f71615f6aa Convert AccountSetupCheckSettings to Kotlin 2022-05-21 19:59:17 +02:00
cketti
af2d031385 Rename .java to .kt 2022-05-21 19:40:54 +02:00
cketti
fa803526d2 Convert AccountSetupBasics to Kotlin 2022-05-20 23:18:08 +02:00
cketti
bf5924d288 Rename .java to .kt 2022-05-18 17:46:21 +02:00
cketti
fdb8655f3a Remove Robolectric from a lot of tests 2022-05-02 17:08:22 +02:00
cketti
ad337c0395 Move mime type utility functions to :k9mail:app:core 2022-05-02 14:41:55 +02:00
cketti
d69c1f4c46 Add simple logging abstraction
Once there's a JVM artifact for Timber, hopefully all we have to do is replace the imports again.
2022-05-02 02:44:35 +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
e2609f3a46 Move MailTo and ListHeaders classes 2022-04-28 18:56:53 +02:00
cketti
53ea4fcc2d Silently ignore the APG crypto provider if found 2022-04-25 23:35:48 +02:00
cketti
9dc86ba522
Merge pull request #6019 from k9mail/simplify_imap_compression_setting
Simplify IMAP compression setting
2022-04-20 17:06:46 +02:00
cketti
eb305db65d
Merge pull request #6008 from arissystem/Issue-6007
Disable messageview_show_next item when messageview_return_to_list is checked
2022-04-20 14:11:10 +02:00
cketti
a042e66367 Merge branch '6.0-MAINT' into main 2022-04-20 14:06:35 +02:00
cketti
0a8f9b45f2 Version 6.000 2022-04-17 20:21:06 +02:00
cketti
72e679dca0 Add migration for IMAP compression in settings file 2022-04-12 21:58:15 +02:00
cketti
814583a89e Add migration for persisted IMAP compression preference 2022-04-12 21:58:15 +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
0a60b7ce21 Simplify UI to configure IMAP compression 2022-04-12 21:58:15 +02:00
cketti
391d45d52b Merge branch '6.0-MAINT' into main 2022-04-12 00:23:08 +02:00
cketti
58b4cb02a9 Version 5.916 2022-04-12 00:05:37 +02:00