Commit graph

2643 commits

Author SHA1 Message Date
cketti
511af40dc3 Use proper API to set SNI server name on API 24+ 2022-10-12 15:32:43 +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
1690781e7a Merge WebDavTransport into WebDavStore 2022-10-10 16:45:16 +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
142124c19a Prepare for version 6.309 2022-10-06 19:38:46 +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
88d3f8b828 Change minimum size for message list widget to 2x2 cells
See https://developer.android.com/guide/practices/ui_guidelines/widget_design.html#anatomy_determining_size
2022-10-06 11:31:18 +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
44f9efdfd5 Change 'background sync' default value to 'always' 2022-10-05 15:23:20 +02:00
cketti
6db5f09ddf Set app theme before the first Activity is started 2022-10-05 12:15:53 +02:00
cketti
3d03d0f953 Change message list divider to follow the views opacity 2022-09-30 19:00:44 +02:00
cketti
a0a1ea9d57 Prepare for version 6.308 2022-09-26 19:46:58 +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
c7c0b0aa23 Update the message list when the "more messages" value of a folder changes 2022-09-26 17:03:51 +02:00
cketti
3dc9dd2629 Enable nonTransitiveRClass=true 2022-09-26 16:51:50 +02:00
cketti
ecf52376ec Prepare for version 6.307 2022-09-23 13:54:37 +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
affe83a9b9 Remove trimIndent() from production code 2022-09-22 15:47:53 +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
fbe8eca814
Merge pull request #6305 from thundernest/backend_modules_jvm
Convert :backend:* to JVM modules
2022-09-20 12:38:35 +02:00
Sandelinos
c141c338af Add monochrome icon 2022-09-18 23:46:29 +03:00
cketti
8b21092cc2 Convert :backend:* to JVM modules 2022-09-17 14:53:04 +02:00
cketti
443807f32a Prepare Prepare for version 6.306 2022-09-17 12:22:47 +02: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
293af97d1f Prepare for version 6.305 2022-09-16 13:43:00 +02:00
cketti
54052990a8 Version 6.304 2022-09-16 13:33:01 +02:00
cketti
1766bbe2ce Remove direct share support
We (can) no longer use the contacts database to keep track on how often someone has been contacted. Without that information we can't make meaningful automatic suggestions for share targets.
In the future we want to add support for app shortcuts to create a new message to a specific contact (see issue #2145).
2022-09-15 17:49:50 +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
a3be470b45 Allow unmasking when the original password was removed/replaced 2022-09-12 14:06:50 +02:00
cketti
ba9d9cd612 Get rid of (deprecation) warnings 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
9cc455c208
Merge branch 'main' into more_MessageStore 2022-09-12 13:07:18 +02:00
cketti
af9c598f31 Change the separator between message view pages 2022-09-11 16:10:43 +02:00
cketti
cd621d047f Rewrite MessagingController.deleteDraft() to not use LocalStore 2022-09-10 01:53:53 +02:00
cketti
0591ff7822 Rewrite MessagingController.loadMessageRemoteSynchronous() to not use LocalStore 2022-09-10 01:42:04 +02:00
cketti
95cfc85858 Use MessageStore to set folder status 2022-09-10 00:57:38 +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
df50ff5033 Prepare for version 6.304 2022-09-08 13:01:30 +02:00
cketti
6d904b6647 Version 6.303 2022-09-08 12:08:11 +02:00
cketti
7128013981
Merge pull request #6286 from thundernest/disable_actions_before_message_is_loaded
Ignore toolbar actions in message view while message is still loading
2022-09-08 11:57:50 +02:00
cketti
0e56eb8072
Merge pull request #6283 from thundernest/outbox_logging
Fix error reporting for send failures
2022-09-08 11:57:29 +02:00
cketti
5e977f3aeb
Merge pull request #6282 from thundernest/fix_search_bug
Fix bug in SQL query used for search
2022-09-08 11:56:22 +02:00
cketti
48431e2c40 Ignore toolbar actions in message view while message is still loading 2022-09-08 11:39:10 +02:00
cketti
c80254f3a5 Remove unnecessary code 2022-09-07 17:45:21 +02:00
cketti
53a08bcdee Fix mechanism to notify about messages that failed to send 2022-09-07 17:44:08 +02:00
cketti
2c94dc6d08 Use proper table name in SqlQueryBuilder 2022-09-07 17:10:05 +02:00
cketti
2fe289875e Add support for removing K-9 Mail signatures from HTML message parts 2022-09-07 16:29:15 +02:00
cketti
451f4df4b2 Convert HtmlSignatureRemoverTest to Kotlin 2022-09-07 13:37:34 +02:00
cketti
13a83d0be0 Rename .java to .kt 2022-09-07 13:36:33 +02:00
cketti
e74f0a5780 Convert HtmlSignatureRemover to Kotlin 2022-09-07 13:07:44 +02:00
cketti
fb44ff8f1f Rename .java to .kt 2022-09-07 13:07:44 +02:00
PatrickMis
dfec81c877 Make ktlint happy 2022-09-05 16:04:52 +02:00
cketti
cd95aa233b Prepare for version 6.303 2022-09-05 13:58:22 +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
034eac8847 Add fast path to MessageListRepository to bypass an empty cache 2022-09-01 16:12:25 +02:00
cketti
5418f71fc5 Change API of MessageListCache to better match how it is used 2022-08-31 17:50:00 +02:00
cketti
cfa01261ae Rename EmailProviderCache to MessageListCache 2022-08-31 17:50:00 +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
dabb398e65 Add MessageListRepository.getThread() 2022-08-31 17:50:00 +02:00
cketti
4b03f99ff7 Add MessageListRepository.getThreadedMessages() 2022-08-31 17:50:00 +02:00
cketti
170f0dbecc Add MessageListRepository.getMessages() 2022-08-31 17:50:00 +02:00
cketti
b89f8c0e57 Convert EmailProviderCache to Kotlin 2022-08-31 17:50:00 +02:00
cketti
3345701471 Rename .java to .kt 2022-08-31 17:50:00 +02:00
cketti
a9d03a147d Fix EmailProviderCacheTest 2022-08-31 17:50:00 +02:00
cketti
4210237dff Rename .java to .kt 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
e14ce585a5 Add MessageStore.getThread()
This is more or less a copy of `EmailProvider.getThread()`.
2022-08-30 14:49:30 +02:00
cketti
9b90d18051 Add MessageStore.getMessages()
This is more or less a copy of `EmailProvider.getMessages()`.
2022-08-30 13:43:30 +02:00
cketti
be5867de83 Add MessageStore.getThreadedMessages()
This is more or less a copy of `EmailProvider.getThreadedMessages()`.
2022-08-30 12:39:57 +02:00
cketti
77396629cb Add MessageStore.hasMoreMessages() 2022-08-29 16:40:49 +02:00
cketti
e209e8f746
Merge pull request #6256 from thundernest/html_sanitizer_updates
HTML sanitizer updates
2022-08-29 14:05:15 +02:00
cketti
c0be8a8000 Keep 'name' attribute of 'a' elements 2022-08-25 16:35:48 +02:00
cketti
27d1dd3828 Keep 'align' attribute of 'div' elements 2022-08-25 16:32:52 +02:00
cketti
fd396b183d Don't crash when trying to access attachment (meta) data 2022-08-25 16:01:17 +02:00
cketti
72e3ee3a21 Clean up DependencyInjectionTest 2022-08-09 18:43:00 +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
713082fe55 Remove unnecessary elvis operator 2022-08-09 17:50:46 +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
29a530a6fb Remove unused method 2022-08-09 17:36:20 +02:00
cketti
997d993413 Remove unnecessary safe calls 2022-08-09 17:33:54 +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
7fb14730fa
Merge pull request #6233 from thundernest/fix_build_warnings
Fix some build warnings
2022-08-09 16:35:46 +02:00
cketti
62b7051e30 Add position information to format string parameters 2022-08-09 15:59:58 +02:00
cketti
a5c5278c71 Add 'com.android.lint' Gradle plugin to JVM projects 2022-08-09 13:55:01 +02:00
cketti
9328bd5dc7 Switch from using declaringClass to declaringJavaClass 2022-08-09 13:37:31 +02:00
cketti
9800f8e933 Prepare for version 6.302 2022-08-09 12:14:05 +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
1a27cfa475
Merge pull request #6231 from thundernest/autodiscovery_jvm_modules
Convert most of :app:autodiscovery to JVM projects
2022-08-09 11:34:11 +02:00
cketti
fd65e6e06e
Merge pull request #6228 from thundernest/convert_consecutive_spaces_to_html_done
Fix converting consecutive spaces to HTML
2022-08-09 11:31:04 +02:00
cketti
f4a47858da Convert :app:autodiscovery:thunderbird to a JVM project 2022-08-08 23:38:27 +02:00
cketti
694b79ab7b Convert :app:autodiscovery:srvrecords to a JVM project 2022-08-08 21:42:57 +02:00
cketti
8156a3832b Move EmailHelper from :app:core to :mail:common 2022-08-08 20:58:54 +02:00
cketti
d3262629a4 Convert :app:autodiscovery:api to a JVM project 2022-08-08 20:41:57 +02:00
cketti
10b7969181
Merge pull request #6225 from thundernest/update_leakcanary
Update LeakCanary to version 2.9.1
2022-08-08 15:04:03 +02:00
cketti
aed6b6bb7f Code style fixes 2022-08-08 13:23:15 +02:00
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