Commit graph

1056 commits

Author SHA1 Message Date
cketti
f75101dfc1 Add support for swipe actions not animating the view all the way off the screen 2022-11-09 11:48:42 +01:00
cketti
944595f905 Use our own copy of ItemTouchHelper 2022-11-09 11:48:42 +01:00
cketti
04d97b4e2e Don't crash when trying to remove certificates for incomplete accounts 2022-11-07 17:03:49 +01:00
cketti
73d9100087 Make AccountManager.getAccountsFlow() only return fully set up accounts 2022-11-07 16:39:03 +01:00
cketti
647340e1e8 Swipe actions: Display action name next to the icon 2022-11-02 11:57:38 +01:00
cketti
bcf89ed0c3 Version 6.311 2022-11-01 12:19:51 +01:00
cketti
b5b691e611 Respect setting to hide contact picture 2022-10-31 13:25:32 +01:00
cketti
60c29b6e07 Merge branch 'main' into message-view-redesign 2022-10-31 12:48:21 +01:00
cketti
55557e7736 Use Koin to retrieve RelativeDateTimeFormatter 2022-10-30 02:20:35 +02:00
ByteHamster
20f7e3eafe Display date on new MessageView 2022-10-29 19:57:08 +02:00
cketti
d88be8dab7 Move display logic from SwipeResourceProvider to MessageListSwipeCallback 2022-10-28 22:28:44 +02:00
cketti
a0edf47b2b Simplify SwipeResourceProvider code that returns the action background color 2022-10-28 22:28:44 +02:00
cketti
367948ac7a Only hide the "reply to" field if it doesn't contain content 2022-10-28 22:08:48 +02:00
cketti
c25972cccb Don't tie requesting focus to changing visibility of the "reply to" input
The "reply to" input field should not be focused when restoring the instance state, i.e. the visibility of the view.
2022-10-28 22:08:48 +02:00
cketti
d21fb83289 Change ReplyToPresenterTest to not extend K9RobolectricTest 2022-10-28 22:08:48 +02:00
cketti
d7f4ab88ea Use container view when determining visibility of "reply to" input 2022-10-28 22:08:48 +02:00
cketti
880b4d88b1 Remove DiscoveryTarget 2022-10-26 18:48:52 +02:00
cketti
e91e1e49bf Ignore page change events to an item that is no longer in the adapter 2022-10-26 12:09:31 +02:00
cketti
4b528fc8b4 Don't use smooth scrolling when moving to previous/next message
This seems to work around a bug where sometimes the scroll operation isn't completed and the `MessageViewFragment` being scrolled to is never marked as active. See #6346.
2022-10-25 17:36:04 +02:00
cketti
a7fcf9f607 Only let the active message view update the toolbar menu 2022-10-25 13:23:49 +02:00
cketti
aeb20e20c7 Ignore clicks on views for messages that have been removed from the list 2022-10-24 19:09:13 +02:00
cketti
2d9be7a0b6 Version 6.310 2022-10-24 14:14:41 +02:00
cketti
29652d9cbe Update translations 2022-10-24 13:33:28 +02:00
cketti
7274d7790c Add log entry when creating MessageBuilder has failed 2022-10-22 19:35:37 +02:00
cketti
c5361e9329 Only disable clicks on send button if MessageBuilder was successfully created 2022-10-22 19:35:37 +02:00
cketti
2f3ac6ba94 Don't launch a crypto provider activity until MessageViewFragment becomes active 2022-10-22 18:35:26 +02:00
cketti
f0b369711b Remove support for old launcher shortcuts 2022-10-22 18:20:34 +02:00
cketti
957c6dc43a Don't put serialized LocalSearch instance in account shortcut Intent 2022-10-22 18:20:34 +02:00
cketti
5b448e5c69 Improve loading layouts of the message list widget 2022-10-20 13:20:39 +02:00
cketti
186a1eda16 Load Unified Inbox when opening a message from the message list widget 2022-10-19 10:47:36 +02:00
cketti
f1400a4293 Merge branch 'main' into message-view-redesign 2022-10-13 12:21:54 +02:00
cketti
2641a85443 Version 6.309 2022-10-12 19:49:37 +02:00
cketti
c8ff69ba9a Remove unused code 2022-10-12 17:36:16 +02:00
cketti
1f2e6fb171 Remove inappropriate use of lateinit var from MessageListFragment
- Restructure the code so `MessageListAdapter` is only created once and initialized early.
- Remove view references in `onDestroyView()`
2022-10-12 17:32:37 +02:00
cketti
de27506761 Update translations 2022-10-12 16:09:33 +02:00
cketti
e9bd127e45 Change how LinearLayoutManager decides how to anchor the list
If the list is scrolled to the top and items are inserted before the previously first list item, `RecyclerView` is "scrolled" to to show the new first item at the top.
2022-10-11 18:10:11 +02:00
cketti
fbd7f5c53b Import a copy of RecyclerView.LinearLayoutManager
Based on RecyclerView 1.2.1
2022-10-11 18:10:11 +02:00
cketti
bacf652e3e Update URL for AndroidX Preference eXtended 2022-10-10 21:16:27 +02:00
cketti
738ba9c112 Ignore clicks on the send button once sending the message has been triggered 2022-10-10 16:07:18 +02:00
cketti
32f4b34e93 Merge branch 'main' into message-view-redesign 2022-10-07 16:57:25 +02:00
cketti
f7f0f02aa6 Version 6.308 2022-10-06 19:21:44 +02:00
cketti
a02410247b Change background color when the swipe threshold is crossed
Also change the swipe threshold to align with the 72dp keyline.
2022-10-06 17:49:36 +02:00
cketti
c145fe03ea Add settings to configure swipe actions 2022-10-06 17:49:36 +02:00
cketti
ac99032d3c Add support for swipe actions to the message list screen 2022-10-06 17:49:36 +02:00
cketti
88dc1ac3cc Move message list code to 'messagelist' package 2022-10-06 17:01:03 +02:00
cketti
f91bac01d7 Update translations 2022-10-06 14:44:54 +02:00
cketti
2aee9fb56b Collapse search view and finish action mode when drawer was opened 2022-10-06 13:10:03 +02:00
cketti
f206f7e8b6 Remove help text for keyboard shortcuts
The text in Toasts seems to be limited to two lines on modern Android versions. The "feature" is also not very discoverable. I don't think anyone will miss this.
2022-10-06 13:08:35 +02:00
cketti
6d16698eeb Read account default colors from resources 2022-10-05 15:59:29 +02:00
cketti
620f9e35c0 Make background colors of the contact picture fallback part of the theme 2022-10-05 15:59:29 +02:00
cketti
d82bc5844e Create resource file for material colors 2022-10-05 15:59:29 +02:00
cketti
88c1655157 Debounce clicks to open a message or thread 2022-10-05 15:28:49 +02:00
cketti
25863d2d74 Ignore message click events on an inactive MessageListFragment 2022-10-05 15:28:49 +02:00
cketti
8bc631dbda Mark MessageListFragment as inactive when it moves to the back stack 2022-10-05 15:28:49 +02:00
cketti
3d03d0f953 Change message list divider to follow the views opacity 2022-09-30 19:00:44 +02:00
cketti
f0bdda63ff Version 6.307 2022-09-26 18:50:23 +02:00
cketti
ef23c076e4 Update translations 2022-09-26 17:58:24 +02:00
cketti
11c27d7fe9 Use proper theme attribute for the background of regular message list items 2022-09-26 17:39:48 +02:00
cketti
3dc9dd2629 Enable nonTransitiveRClass=true 2022-09-26 16:51:50 +02:00
cketti
ee3094d7fe Version 6.306 2022-09-23 11:11:32 +02:00
cketti
2991b4b83e Remove Iconics and FontAwesome 2022-09-22 16:04:32 +02:00
cketti
46c435ab08 Restore previous logic to select the next message after deleting the current one 2022-09-22 13:29:47 +02:00
cketti
c72236b7f3 Change SearchView initialization 2022-09-22 13:14:42 +02:00
cketti
7dbc5cf6c5 Correctly handle the message list footer being removed 2022-09-22 12:42:40 +02:00
cketti
b3c8e85918 Remove volume key navigation for list views 2022-09-22 12:30:24 +02:00
cketti
4635551e69 Update SearchPreference to version 2.3.0 2022-09-21 12:17:36 +02:00
cketti
66739b4b70 Switch to using 'namespace' property in build.gradle 2022-09-20 14:53:19 +02:00
cketti
2edf42f9f8 Switch message list from ListView to RecyclerView 2022-09-20 14:01:01 +02:00
cketti
2368973784 Only show account chip in message view when showing it in the message list 2022-09-20 12:59:39 +02:00
cketti
c3c6c25d88 Fix layout when account chip is hidden 2022-09-20 12:59:39 +02:00
cketti
9d058e71be Merge branch 'main' into message-view-redesign 2022-09-20 12:59:13 +02:00
Sandelinos
c141c338af Add monochrome icon 2022-09-18 23:46:29 +03:00
cketti
f6d819761a Version 6.305 2022-09-17 12:14:15 +02:00
cketti
165efa598a Fix crashes where `MessageList.searchView´ is accessed before it was initialized 2022-09-17 11:47:20 +02:00
cketti
54052990a8 Version 6.304 2022-09-16 13:33:01 +02:00
cketti
7aa0c77b4a Change message view header layout
Co-authored-by: ByteHamster <info@bytehamster.com>
2022-09-15 20:07:04 +02:00
cketti
a31db513b9 For now always show contact picture in message view 2022-09-15 13:36:00 +02:00
cketti
d585e2b548 Clean up code a bit 2022-09-15 13:35:57 +02:00
cketti
94ddf85ce2 Remove code that we won't need in the future
Co-authored-by: ByteHamster <info@bytehamster.com>
2022-09-15 13:32:27 +02:00
cketti
029a8eb07e Don't allow showing the password without authentication after an orientation change 2022-09-12 14:06:50 +02:00
cketti
20e70f8f20 Try to avoid using the list position whenever possible 2022-09-12 13:51:47 +02:00
cketti
8a73c93134 Move code to select message list items to MessageListAdapter 2022-09-12 13:51:47 +02:00
cketti
7545ed85b4
Merge branch 'main' into view_pager_margin 2022-09-12 13:08:52 +02:00
cketti
af9c598f31 Change the separator between message view pages 2022-09-11 16:10:43 +02:00
cketti
60e33e529d Save/restore search view state in MessageList 2022-09-09 23:27:54 +02:00
cketti
f3c3b579fe Reuse existing SearchView when recreating the toolbar menu 2022-09-09 23:00:15 +02:00
cketti
6d904b6647 Version 6.303 2022-09-08 12:08:11 +02:00
cketti
48431e2c40 Ignore toolbar actions in message view while message is still loading 2022-09-08 11:39:10 +02:00
PatrickMis
dfec81c877 Make ktlint happy 2022-09-05 16:04:52 +02:00
cketti
0286afa6c8 Version 6.302 2022-09-05 13:33:10 +02:00
cketti
eb2ba52e1a
Merge pull request #6272 from thundernest/update_translations
Update translations
2022-09-05 12:17:18 +02:00
cketti
944547a532 Defer sorting opened messages to their new position in the message list
For the last N displayed messages we remember the original 'read' and 'starred' state of the messages. We pass this information to `MessageListLoader` so messages can be sorted according to these remembered values and not the current state. This way messages, that are marked as read/unread or starred/not starred while being displayed, won't immediately change position in the message list if the list is sorted by these fields.
The main benefit is that the swipe to next/previous message feature will work in a less surprising way.
2022-09-03 16:48:35 +02:00
cketti
83b50c6edb Update translations 2022-09-03 15:24:03 +02:00
cketti
ab9ac67a57 Remove redundant calls to MessageListFragment.setActiveMessage() 2022-09-02 15:28:00 +02:00
cketti
bdef79a6fc Be more selective when setting the "active message" for the message list 2022-09-02 15:17:21 +02:00
cketti
7ea928bba5 Finally get rid of EmailProvider 2022-08-31 17:50:00 +02:00
cketti
6be1eb11dc Use MessageRepository instead of EmailProvider in MessageListLoader 2022-08-31 17:50:00 +02:00
cketti
e9b91f3654 Add MessageListRepository
Remove the "message list changed" notification mechanism provided by `EmailProvider` and use a simple callback mechanism instead.
2022-08-31 17:50:00 +02:00
cketti
18b177e18e Remove MessageListItem.position 2022-08-30 16:32:41 +02:00
cketti
fd396b183d Don't crash when trying to access attachment (meta) data 2022-08-25 16:01:17 +02:00
cketti
03189fae46 Replace usages of the deprecated RuntimeEnvironment.application 2022-08-09 18:33:18 +02:00
cketti
46ca47facd Remove unused parameter 2022-08-09 18:18:31 +02:00
cketti
eb12ad538d Remove unused functionality 2022-08-09 17:45:03 +02:00
cketti
9f0d2ada3c Remove unnecessary else cases in when expressions 2022-08-09 17:42:30 +02:00
cketti
28f7318649 Remove unused parameter 2022-08-09 17:37:36 +02:00
cketti
a807373e99 Make sure overridden methods use same parameter names as super class 2022-08-09 17:28:43 +02:00
cketti
867733c25d Update translations 2022-08-09 17:02:01 +02:00
cketti
62b7051e30 Add position information to format string parameters 2022-08-09 15:59:58 +02:00
cketti
77f9404c47 Version 6.301 2022-08-09 11:59:35 +02:00
cketti
098e89b297 Update translations 2022-08-09 11:42:36 +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
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
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
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
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
1c1dbfbb1e
Merge pull request #6187 from Croydon/url-updates
Update GitHub URLs to new location
2022-07-27 16:13:08 +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
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
74a58345d8 Version 6.201 2022-07-15 18:38:36 +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
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
465be90a5a Version 6.200 2022-07-08 11:01:13 +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
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
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
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
971596a485 Display spinning progress indicator while the OAuth flow is running 2022-06-10 14:44:18 +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
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
ad337c0395 Move mime type utility functions to :k9mail:app:core 2022-05-02 14:41:55 +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
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
cketti
31860a209e Fix usage of ContentResolver.openOutputStream() 2022-04-11 17:40:36 +02:00
cketti
dc9e667d53
Merge pull request #6006 from arissystem/issue-6004
Save and restore activeMessages in savedInstanceState to avoid NullPointerException
2022-04-11 16:29:09 +02:00
Alexandre
0dbca2dddf Append a space to » and › in messages list. 2022-04-11 15:13:54 +02:00
r.zarchi
37bf6965d6 Disable messageview_show_next item when messageview_return_to_list is checked 2022-04-11 11:09:29 +04:30
r.zarchi
85a19ccb2b Save and restore activeMessages in savedInstanceState to avoid NullPointerException when rotating 2022-04-10 11:48:41 +04:30
cketti
d9153f4c20 Version 5.915 2022-04-06 17:39:51 +02:00
cketti
7f57fa286c Update translations 2022-04-06 16:50:45 +02:00
cketti
0c381c2bcd
Merge pull request #6002 from k9mail/Issue-5961
Fix issues when switching between LTR and RTL languages
2022-04-06 16:05:14 +02:00
cketti
49160cb1a9 Always use ActivityCompat.recreate() 2022-04-05 15:15:38 +02:00
cketti
f30a8ca3bb Use NotificationSettingsUpdater in AccountSettingsFragment 2022-04-04 18:53:10 +02:00
cketti
0e78b8aae6 Version 5.914 2022-03-24 18:41:05 +01:00
cketti
2483b975b9 Update translations 2022-03-24 18:04:44 +01:00
cketti
d53dc73e07
Merge pull request #5979 from k9mail/GH-5978_fix_folder_not_found_crash
Avoid crash when trying to open non-existent folder
2022-03-24 17:19:16 +01:00
cketti
322c8be4ae Avoid crash when trying to open non-existent folder
For now we load the default folder instead.
2022-03-21 18:48:17 +01:00
cketti
0f3df9d2e2 Avoid UninitializedPropertyAccessException 2022-03-21 17:54:45 +01:00
cketti
372252710d Update name/description of notification channels when app locale changes 2022-03-17 18:35:59 +01:00
cketti
40e446c442 Version 5.913 2022-03-11 19:30:13 +01:00
cketti
09ebe08f33 Update translations 2022-03-11 18:58:42 +01:00
cketti
803e388b90 Extract logic to convert system vibration pattern into NotificationVibrationDecoder 2022-03-10 16:06:46 +01:00
cketti
25c0e4af43 Extract vibration settings to separate class NotificationVibration 2022-03-09 22:35:13 +01:00
cketti
f3241622d5 Avoid race condition when selecting a notification sound 2022-03-08 23:51:45 +01:00
cketti
4581bf3f8b Update SearchPreference to version 2.1.0 2022-03-04 00:55:16 +01:00
cketti
eb1ea4f246 Update MaterialDrawer to version 8.4.5 2022-03-04 00:55:16 +01:00
cketti
7814b138d3 Update AndroidX Preference to version 1.2.0 2022-03-04 00:55:16 +01:00
cketti
4c67bbd156 Update kotlinx-coroutines to version 1.6.0 2022-03-03 16:52:44 +01:00
cketti
dea6bf1f01 Don't create notifications when manually refreshing the message list 2022-02-24 00:05:51 +01:00
cketti
b165aeaf81 K-9 Mail 5.912 2022-02-22 21:47:45 +01:00
cketti
7413ee653a Update translations 2022-02-22 20:59:13 +01:00
cketti
66903ae692 Revert "Button bar in navigation drawer"
This reverts commit 96b7ca26
2022-02-22 17:59:42 +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
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
aba7168393 Use intent chooser when sharing links
When sharing we don't want the user to be able to select a default app to perform the action.
2022-02-14 18:23:34 +01:00
cketti
49ceab2b6f Version 5.911 2022-02-12 00:35:19 +01:00
cketti
56ac6ab0bd Rework notification light setting 2022-02-11 23:56:12 +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
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
dee2ca345d Convert 'BaseAccount' to Kotlin 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
64c6bcd48f Unify settings to configure notification vibration 2022-02-04 06:52:52 +01:00
cketti
a4e1a77892 Switch to mockito-inline 2022-02-03 01:10:52 +01:00
cketti
979a9b4968
Extract string resource (#5888) 2022-01-28 19:08:08 +01:00
cketti
5c35d08f93 Version 5.910 2022-01-25 19:29:44 +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
Bastian Wilhelm
1ffc7ba02c Remove warnings 2022-01-14 23:01:44 +01:00
Bastian Wilhelm
1efec7828f Trim username by setup 2022-01-14 23:01:44 +01:00
cketti
0269cd5df7 Version 5.909 2022-01-12 16:24:24 +01:00
cketti
35ac4b3726 Update translations 2022-01-12 15:04:25 +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
88e823d685
Merge pull request #5856 from k9mail/opening_message_from_notification
Open message from notification in Unified Inbox if possible
2022-01-10 18:25:54 +01:00
cketti
91c0787fa5 Open message from notification in Unified Inbox if possible 2022-01-09 23:10:04 +01:00
cketti
54ac569ea9 Don't intercept key events when the search view in the toolbar is expanded 2022-01-08 19:42:00 +01:00
cketti
aa560736a6 Version 5.908 2022-01-05 23:56:41 +01:00
cketti
3b59a87329 Update translations 2022-01-05 22:29:11 +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
cbd2ded456 Version 5.907 2021-12-27 20:06:15 +01:00
cketti
09ea6bd7e8
Merge pull request #5837 from k9mail/no_vibrator
Hide notification vibration settings when there's no vibrator hardware
2021-12-27 18:56:19 +01:00
cketti
5a57ccd307 Update translations 2021-12-26 22:35:31 +01:00
cketti
14f2988d13 Hide notification vibration settings when there's no vibrator hardware 2021-12-26 22:11:37 +01:00
cketti
955b22b970 Add support for setting the notification vibration pattern on Android 8+ 2021-12-22 02:59:27 +01:00
cketti
53112bc5fb
Merge pull request #5831 from k9mail/vibration_pattern
Change UI to configure the notification vibration pattern
2021-12-22 02:09:39 +01:00
cketti
7ee57170dc Tweak strings related to vibration patterns 2021-12-22 01:32:23 +01:00
cketti
448439609f Change UI to configure the notification vibration pattern 2021-12-22 01:32:23 +01:00
schlagi123
1ab5b8a3e6
Fix hotkey handling (take keyboard layout into account) 2021-12-18 20:42:55 +01:00
cketti
6c236be16d Make NotificationsPreference always use the current notification channel ID 2021-12-15 19:05:59 +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
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
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
32ce0f8764 Select proper account when opening Unified Inbox from a notification 2021-12-09 22:41:10 +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
14c8127e65 Add support for "message view only" mode
This is used when opening a message from the message list widget. Pressing the back button will finish the Activity, returning to the home screen instead of returning to the message list screen inside the app.
2021-12-09 02:18:35 +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
30cdcd5943 Version 5.906 2021-12-07 21:00:41 +01:00
cketti
084adb0769 Update translations 2021-12-07 20:29:07 +01:00
cketti
81c7482055 Use system's ringtone picker activity for 'new mail ringtone'
With the old picker we can't support custom notification sounds because that requires the READ_EXTERNAL_STORAGE permission.
2021-12-06 01:38:43 +01:00
cketti
981e7fbe70 Improve support for RTL languages in layouts 2021-11-26 22:45:48 +01:00
cketti
caf341c187 Remove obsolete SDK version identifiers 2021-11-26 20:21:46 +01:00
cketti
c4d0aa6f49 Replace "android:tint" with "app:tint" in layouts 2021-11-26 16:07:03 +01:00
cketti
71a267a97f Fix path in vector drawable 2021-11-26 16:01:05 +01:00
cketti
3f16553f24 Remove unnecessary attributes 2021-11-26 16:00:23 +01:00
cketti
878400c15f Explicitly specify locale in case conversion or string formatting 2021-11-26 15:43:28 +01:00
cketti
c8b8b6eb52 Fix string usage in layout 2021-11-26 15:34:14 +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
a5fa2ddcb4 Version 5.905 2021-11-24 21:45:19 +01:00
cketti
35f8ee9b6d Update translations 2021-11-24 21:20:46 +01:00
cketti
f9afb31f39 Fix Recipient comparator 2021-11-24 14:53:04 +01:00
cketti
c0c0e05a29
Merge pull request #5783 from k9mail/avoid_glide_crashes
Avoid Glide crash
2021-11-22 20:09:36 +01:00
cketti
d99c8580e6 Avoid Glide crash
This hopefully fixes the check that tests whether the Activity has been destroyed already.
2021-11-20 02:13:36 +01:00
cketti
63364b5c30 Refactor code to export the debug log 2021-11-15 16:29:39 +01:00
ByteHamster
5e741a4d56 Add button to export logs 2021-10-31 19:05:21 +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
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
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
Dimitri Wauters
c6af46ce58
Don't crash when loading images without internet permission (#5745)
Catch SecurityException when unblocking network load
2021-10-26 18:15:56 +02:00
cketti
20dfc9a75b Convert class 'Clock' to an interface 2021-10-23 04:00:15 +02:00
cketti
7a572731a2 Don't use "unread count" in notifications 2021-10-11 18:42:51 +02:00
cketti
179128a4d8 Version 5.904 2021-10-05 18:01:15 +02:00
cketti
2acd674c01 Update translations 2021-10-05 17:24:56 +02:00
cketti
6050df0d87
Merge pull request #5712 from k9mail/fix_delete_account_crash
Don't crash when trying to load an account that has been removed
2021-10-04 15:15:20 +02:00
cketti
c09a374694 Don't crash when trying to load an account that has been removed 2021-10-04 14:55:58 +02:00
cketti
f22bc94bef Make sure IDs for folders in drawer don't overlap between accounts
Overlapping IDs can trigger item animations between unrelated folders when switching accounts.
2021-09-30 18:41:43 +02:00
cketti
9709610a7b Remove DRAWER_ACCOUNT_SHIFT
The drawer now uses two adapters for the account list and the folder list. So there's no need to keep the ID space separate.
2021-09-30 18:31:48 +02:00
cketti
07569ba424
Merge pull request #5708 from k9mail/remove_AccountsLiveData
Remove AccountsLiveData
2021-09-30 15:39:16 +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
389b6d340e Remove AccountsLiveData 2021-09-29 23:58:00 +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
4d0d81fc79 Display 'close' icon in toolbar of ChooseFolderActivity 2021-09-28 17:28:22 +02:00
cketti
9feddf7b09 Version 5.903 2021-09-28 16:00: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
9bc32ca37a Fix code to pick initial account color 2021-09-22 22:00:29 +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
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
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
602e509528 Version 5.902 2021-09-21 12:40:33 +02:00
cketti
e4b585bcc2 Version 5.901 2021-09-17 11:47:20 +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
d061e5aab5
Merge pull request #5668 from k9mail/reply_to_header_in_drafts
Load Reply-To header from draft messages
2021-09-16 05:46:28 +02:00
cketti
cc715dfcae
Merge pull request #5667 from k9mail/fix_split_screen
Fix split screen
2021-09-16 05:45:29 +02:00
cketti
54a04c3480
Merge pull request #5664 from k9mail/hide_notification_categories
Hide notification category settings on old Android versions
2021-09-16 05:44:40 +02:00
cketti
cb45bc7d65 Load Reply-To header from draft messages 2021-09-15 10:18:30 +02:00
cketti
bf509aac03 Fix "home" icon in split-screen view 2021-09-14 19:29:28 +02:00