Commit graph

3083 commits

Author SHA1 Message Date
Wolf Montwé
5699ecadb7
Remove getInstance as instance should be controlled by dependency injection 2023-03-06 16:19:37 +01:00
cketti
5262f6f338 Set status bar color on API 27+ devices 2023-03-06 14:54:37 +01:00
Wolf Montwé
0780c423fb
Change Contacts to Kotlin 2023-03-06 13:16:44 +01:00
Wolf Montwé
38cb881377
Rename Contacts to .kt 2023-03-06 11:31:12 +01:00
cketti
61e50a9238 Fix status bar color on pre-API 23 devices
In the message list/view screens we now use a semi-transparent status bar; in all other screens a black status bar (because that doesn't require any additional code or layout changes). We do this because these devices don't support displaying dark text on a light status bar.
2023-03-03 19:20:58 +01:00
Wolf Montwé
be5894e743
Move EmptyCursor to core:android:common 2023-03-02 14:44:53 +01:00
Wolf Montwé
58e6f97580
Add common Android module to core 2023-03-02 14:38:43 +01:00
Wolf Montwé
59541c0d6b
Move Cache to core common module 2023-03-02 14:38:43 +01:00
Wolf-Martell Montwé
f5dfd7d3a4
Merge pull request #6712 from thundernest/add_kotlinx_datetime
Add kotlinx datetime
2023-03-02 14:30:54 +01:00
Wolf Montwé
28e3f62a4e
Change Clock to kotlinx.datetime.Clock 2023-03-02 11:21:32 +01:00
cketti
8d429bcd75 Fix size of star in message view 2023-03-01 18:33:06 +01:00
cketti
ef27a73413 Remove (unused) gl-ES translation 2023-03-01 16:49:45 +01:00
Wolf-Martell Montwé
d4f57a5fa4
Merge pull request #6707 from thundernest/change_empty_cursor_to_kotlin
Change empty cursor to Kotlin
2023-03-01 16:10:20 +01:00
Wolf Montwé
dd5d550c58
Change EmptyCursor to Kotlin 2023-03-01 15:47:06 +01:00
Wolf Montwé
0d19bcee9a
Rename EmptyCursor from .java to .kt 2023-03-01 15:43:54 +01:00
cketti
aed85dfd4b Fix release signing 2023-03-01 15:21:59 +01:00
cketti
04ece92e20 Prepare for version 6.510 2023-02-28 23:01:41 +01:00
cketti
2cffc0d64c Version 6.509 2023-02-28 22:34:06 +01:00
cketti
72cac9618e Update translations 2023-02-28 21:54:51 +01:00
cketti
296d331921 Change message list layout for density setting 2023-02-27 18:27:20 +01:00
cketti
d2ed96550e Remove padding from btn_select_star drawable 2023-02-27 18:27:20 +01:00
cketti
da6633f78a Remove unused resources 2023-02-27 18:27:20 +01:00
cketti
ab457fd78f Rename ic_star_border.xml to ic_star_outline.xml 2023-02-27 18:27:20 +01:00
cketti
114dcac35b Message List: Disable star click area when stars are disabled 2023-02-27 18:27:20 +01:00
cketti
30c4f94b30 Add setting for message list density 2023-02-27 18:27:20 +01:00
cketti
82ccd5691f Message List: Align star to the top of the sender name 2023-02-24 16:44:08 +01:00
cketti
bce3e54364 Message List: Use whole right side as star click area 2023-02-24 16:15:48 +01:00
cketti
e9ee928cc1
Merge pull request #6701 from thundernest/account_chip_2
Switch account chip back to fixed height view
2023-02-24 14:04:32 +01:00
cketti
7485e3209b Switch account chip back to fixed height view 2023-02-23 20:06:38 +01:00
Wolf Montwé
22d8e4b924
Change build files from Groovy to Kotlin 2023-02-23 14:52:16 +01:00
Wolf Montwé
96e2784b22
Rename build.gradle files to build.gradle.kts 2023-02-23 14:52:15 +01:00
Wolf Montwé
fab7a8e6a6
Rename plugin for consistency 2023-02-23 11:16:17 +01:00
cketti
64af21dffd
Merge pull request #6697 from thundernest/message_list_contact_picture_click
Message List: Use whole left side as contact picture click area
2023-02-22 14:58:34 +01:00
cketti
9abd036022
Merge pull request #6696 from thundernest/validate_identity_fields
Clean up `Identity` properties
2023-02-22 14:51:19 +01:00
cketti
b04ef7684b Message List: Use whole left side as contact picture click area 2023-02-22 13:34:48 +01:00
cketti
d2c55b01f7 Message List: Stop using android:ellipsize="marquee" 2023-02-21 19:35:03 +01:00
cketti
1cbdde5bfd Add database migration to fix stored identity values 2023-02-21 17:59:49 +01:00
cketti
b386b74523 Fix code to display identities in the UI 2023-02-21 17:20:12 +01:00
cketti
69c0e34b1c Trim email addresses when saving identity in "Edit identity" screen 2023-02-21 17:20:11 +01:00
cketti
d30c48c373 Use null instead of blank values when saving identity fields 2023-02-21 17:18:04 +01:00
cketti
7819bb79c0 Add validation for email address fields in "Edit identity" screen 2023-02-21 16:05:50 +01:00
cketti
aac995fa40 Message List: Display date in same style as subject 2023-02-21 14:47:42 +01:00
cketti
d0cfad8ae3 Message List: Use different text colors for read and unread messages 2023-02-21 14:47:42 +01:00
cketti
b3354b4179 Message List: Add en dash to separate sender name and preview text 2023-02-21 14:47:42 +01:00
cketti
0a8ed1569e Message List: Make sure there's space between subject and date 2023-02-21 13:16:09 +01:00
cketti
f8bc119ae4 Change appearance of account chip in message list 2023-02-20 20:18:24 +01:00
cketti
19ac95c9b2 Message Details: Show "me" as display name if there's only a single identity 2023-02-17 17:51:13 +01:00
cketti
54bba36fc0 Message Details: Always use same text style for email address 2023-02-17 17:42:23 +01:00
cketti
169152e46f Message Details: Move compose action into overflow menu 2023-02-17 17:16:58 +01:00
Wolf Montwé
cab1c71524
Cleanup remaining code style issues for Kotlin sources 2023-02-17 16:14:14 +01:00
Wolf Montwé
29d5220995
Add trailing comma allowance to code style 2023-02-17 16:14:13 +01:00
cketti
505ec0243a Change appearance of thread count in message list 2023-02-17 12:43:20 +01:00
cketti
36b5e3eae3 Remove "to/cc me" indicator from message list 2023-02-17 12:43:20 +01:00
cketti
0ba55aed02 Use CoordinatorLayout for message list item
And take a first pass at making the layout look a bit nicer.
2023-02-17 12:43:20 +01:00
Wolf-Martell Montwé
b2b4974231
Merge pull request #6677 from thundernest/add-android-library-build-plugin
Add Android library build plugin
2023-02-17 12:38:18 +01:00
Wolf Montwé
f88595da31
Fix Robolectric test when target SDK not present 2023-02-16 19:24:10 +01:00
cketti
105947f1bb Prefix keystore properties with "k9mail." 2023-02-16 17:54:22 +01:00
Wolf Montwé
451bad2970
Change buildConfig to be disabled for Android libraries and enabled for applications also enabled for ui legacy 2023-02-16 16:49:50 +01:00
Wolf Montwé
f88613bf23
Change to Android library build plugin 2023-02-16 15:58:43 +01:00
Wolf Montwé
7d871fd9cb
Change k9mail app to use build plugin 2023-02-15 18:42:27 +01:00
Wolf Montwé
45da12646b
Change to jvm build plugin 2023-02-15 17:40:57 +01:00
cketti
e17b4c78ea Prepare for version 6.509 2023-02-15 15:37:28 +01:00
cketti
eda2a50c98 Version 6.508 2023-02-15 15:30:25 +01:00
cketti
8393bd22e8 Update translations 2023-02-15 13:53:26 +01:00
cketti
fbe7136109 Remove unnecessary theme attribute 2023-02-14 17:31:29 +01:00
cketti
51c3d6ceaf Remove "Send…" submenu from message view toolbar
All of the items are now part of the menu displayed in the message header view.
2023-02-14 17:23:30 +01:00
cketti
d99952a77d
Merge pull request #6667 from thundernest/long_press_image
Fix crash when trying to download an image displayed in the message
2023-02-14 17:21:36 +01:00
cketti
f94776dfe3 Only show "download image" option for images included via http(s) URI 2023-02-14 16:50:16 +01:00
cketti
caa6a848ff Limit summary notification actions to active notifications 2023-02-14 11:48:11 +01:00
Wolf-Martell Montwé
90539b5e48
Merge pull request #6655 from thundernest/add_cache
Add Cache
2023-02-14 10:56:57 +01:00
Wolf Montwé
77a295f7ed
Remove doubled test 2023-02-14 10:45:28 +01:00
Wolf Montwe
7a77fc43b8
Add Cache 2023-02-13 16:22:41 +01:00
Wolf Montwé
f46b754373
Add ContactIntentHelper and remove functionality from Contacts 2023-02-10 17:48:55 +01:00
cketti
d2e8dbb3ca Prepare for version 6.508 2023-02-10 11:50:54 +01:00
cketti
d43c8a1dc3 Version 6.507 2023-02-10 11:41:13 +01:00
cketti
5c183b2664 Update translations 2023-02-10 10:58:39 +01:00
cketti
ae374bd5f4
Merge pull request #6647 from thundernest/message_details_folder_name
Display folder name in message details screen
2023-02-10 10:55:25 +01:00
Wolf-Martell Montwé
6224d40a4f
Merge pull request #6649 from thundernest/change_messagetopview_to_kotlin
Changed `MessageTopView` to Kotlin
2023-02-10 09:02:32 +00:00
Wolf Montwe
0e7492fecb
Change MessageTopView to Kotlin 2023-02-09 19:59:59 +01:00
Wolf Montwe
292bf17eb1
Rename MessageTopView to kt 2023-02-09 16:02:54 +01:00
cketti
90e5c265da Don't allow dragging the message details bottom sheet when the list is scrolled 2023-02-09 13:41:52 +01:00
cketti
faf8b42acc Display folder name in message details screen 2023-02-09 12:41:08 +01:00
cketti
487787bdd2 Simplify creation of FolderNameFormatter
`FolderNameFormatter` is only retrieving string resources. For this the global `Resources` instance will do. There's no need to pass instances retrieved from an `Activity`.
2023-02-08 16:09:32 +01:00
cketti
74f40dd0bd Respect "show contact names" setting in message details 2023-02-08 14:01:13 +01:00
cketti
836fb7dc69 Rename (and move) AddressFormatter to MessageViewRecipientFormatter
The way recipient names are displayed in the message view screen is subtly different from the other places where we display recipient names. Now the name reflects that.
2023-02-08 12:45:13 +01:00
cketti
b4b3dd3d53
Merge pull request #6636 from thundernest/prefer_encrypt_preference
Make `AutocryptPreferEncryptDialogFragment` a proper preference dialog
2023-02-08 10:59:50 +01:00
cketti
ae53f08a57
Merge pull request #6635 from thundernest/tweak_download_complete_message_button
Tweak appearance of "Download complete message" button
2023-02-08 10:57:57 +01:00
cketti
3315f56153 Make AutocryptPreferEncryptDialogFragment a proper preference dialog 2023-02-07 15:22:12 +01:00
cketti
cea4a51494 Tweak appearance of "Download complete message" button 2023-02-07 12:24:21 +01:00
cketti
125e1af9d6 Use Koin instead of custom by lazy code 2023-02-07 01:08:01 +01:00
cketti
f91f3e268b Add abstraction for Android's vibrator service 2023-02-07 01:08:01 +01:00
Wolf Montwe
0d030aab6d
Remove trimTrailingWhitespace as not needed for ktlint 2023-02-06 10:49:21 +01:00
Wolf Montwe
1854a2c911
Change Kotlin code format 2023-02-03 17:23:57 +01:00
cketti
697f201c15 Prepare for version 6.507 2023-02-03 12:32:09 +01:00
cketti
8e7685c44d Version 6.506 2023-02-03 12:10:15 +01:00
cketti
e4c452de3b Don't crash when there are not recipients to display 2023-02-01 22:15:54 +01:00
cketti
180626c739 Prepare for version 6.506 2023-02-01 19:29:24 +01:00
cketti
de5d1cd1c9 Version 6.505 2023-02-01 18:56:47 +01:00
cketti
e826ed8db7
Merge pull request #6618 from thundernest/message-view-redesign
Add the redesigned message view screen
2023-02-01 18:51:05 +01:00
cketti
677ef154f7 Remove now unused CryptoInfoDialog 2023-02-01 18:01:28 +01:00
cketti
80c68e1e3e Display crypto status in message details bottom sheet 2023-02-01 18:01:28 +01:00
cketti
c93f5ea799
Merge pull request #6612 from thundernest/message_counts
Refactoring: Message counts
2023-02-01 17:36:59 +01:00
cketti
dd89dee489 Convert methods in AccountSearchConditions to extension functions 2023-02-01 14:40:00 +01:00
cketti
ef583ba620 Rewrite MessageCountsProvider to use MessageStore 2023-02-01 14:40:00 +01:00
cketti
adabe43efe Remove unused SearchField.SEARCHABLE 2023-02-01 14:40:00 +01:00
cketti
5e17829436 Rewrite MessageCountsProvider.getUnreadMessageCount() to not use LocalStore 2023-02-01 14:40:00 +01:00
cketti
4cc1643643 Remove message count functionality from MessagingController 2023-02-01 14:39:59 +01:00
cketti
4d3a308b27 Remove unused strings 2023-01-27 20:04:04 +01:00
cketti
3e90f8b85e Remove unused methods 2023-01-27 19:50:46 +01:00
cketti
2df7c3301d Remove unused classes 2023-01-27 19:20:29 +01:00
cketti
d90800886d
Merge pull request #6604 from thundernest/more_MessageStore
Rewrite `MessagingController.loadMoreMessages()` to not use `LocalStore`
2023-01-27 14:02:34 +01:00
cketti
cff482e88f Prepare for version 6.505 2023-01-27 12:08:50 +01:00
cketti
033fd2da3b Version 6.504 2023-01-27 12:01:32 +01:00
cketti
55b15a613d
Merge pull request #6610 from thundernest/fix_swipe_crash
Don't crash in swipe callbacks when a message list item no longer exists
2023-01-27 11:54:24 +01:00
cketti
694b26e1e9
Merge pull request #6608 from thundernest/avoid_crash
Avoid crash when opening drafts from the message list widget
2023-01-27 11:53:36 +01:00
cketti
2e35524d3e Don't crash in swipe callbacks when a message list item no longer exists 2023-01-26 14:02:53 +01:00
cketti
d342f6ee35 Avoid crash when opening drafts from the message list widget 2023-01-26 12:52:44 +01:00
cketti
b1426e5e84 POP3: Fix logic to delete messages on the server 2023-01-26 12:22:37 +01:00
cketti
5220c66d61 Remove Backend.isDeleteMoveToTrash()
This property is confusing and basically unused right now.
2023-01-26 12:08:26 +01:00
cketti
4dbaf4aba0 Access database in background thread when loading more messages 2023-01-24 20:34:09 +01:00
cketti
f6de845801 Rewrite MessagingController.loadMoreMessages() to not use LocalStore 2023-01-24 20:25:29 +01:00
cketti
9cb6859ad6 Load message details 2023-01-24 18:21:51 +01:00
cketti
b0765abd47 Prepare for version 6.504 2023-01-19 15:49:00 +01:00
cketti
a02946dee0 Version 6.503 2023-01-19 13:03:20 +01:00
cketti
2131bfcd05 Switch from AndroidX CardView to MaterialCardView 2023-01-19 12:26:24 +01:00
cketti
78d6e23362 Tweak the way messages are marked as read on opening
Update the message object and cache right away. Do the rest in a single background operation.
2023-01-19 12:17:52 +01:00
cketti
3f1911783e Fix queue*() methods
Change methods to only add a pending command, but not process the pending commands immediately.

Also, don't defer adding the pending command by using `putBackground()`. This can mess with the execution order of remote commands.
2023-01-19 12:17:52 +01:00
cketti
ccc5223e67 Use single queue for handling commands modifying messages
We want to use a single queue so commands are not sent to the server out of order.
2023-01-19 12:17:52 +01:00
cketti
ef2b955d01 Keep <base> element 2023-01-19 11:59:37 +01:00
cketti
3a04190aa2 Fix logic to skip the trash folder when deleting messages 2023-01-19 11:37:47 +01:00
cketti
7dd0ed79c4 Merge branch 'main' into message-view-redesign 2023-01-18 12:56:25 +01:00
cketti
ddd464cffb Update Apache James Mime4J to version 0.8.8 2023-01-17 14:55:25 +01:00
cketti
e2fbe4382c Update Koin components to version 3.3.2 2023-01-17 14:55:25 +01:00
cketti
6981490861 Enable core library desugaring 2023-01-17 14:55:25 +01:00
cketti
6a5263aa41 Update Android Gradle Plugin to version 7.4.0 2023-01-17 14:55:25 +01:00
cketti
6244ea6573 Change colors for selected/active messages in the message list
We can't use semi-transparent colors because the message list item backgrounds are drawn on top of other colors when using swipe actions. Instead, we mix the colors ourselves, e.g. 60% of ?attr/colorSecondaryVariant on ?attr/colorSurface
2023-01-17 14:17:57 +01:00
cketti
9bed86a636 Change themes to use shades of gray as primary color
Also use the primary color for the floating action button.
2023-01-17 14:17:57 +01:00
cketti
5db9401f55 Make colors of the floating action button part of the theme 2023-01-17 14:17:57 +01:00
cketti
8988b85e69 Make color of the selection check mark part of the theme 2023-01-17 14:17:57 +01:00
cketti
1052bd07c7 Rename some Gradle version catalog entries 2023-01-16 14:49:14 +01:00
Bastian Wilhelm
a3f6995a2e Migrate to Gradle's version catalog 2023-01-16 14:49:14 +01:00
cketti
a4914ff527 Prepare for version 6.503 2023-01-16 12:14:45 +01:00
cketti
3df7f26bdc Version 6.502 2023-01-16 11:58:07 +01:00
cketti
5c781d0bd4 Change label in settings to "show floating compose button" 2023-01-16 11:04:04 +01:00
cketti
388d1690f3 Don't crash when K9WorkerFactory gets called for an unknown class 2023-01-13 11:07:14 +01:00
cketti
81245668eb Add message detail bottom sheet
This commit is mainly about the bottom sheet mechanics of showing the toolbar when it is expanded. A place holder layout is used for the bottom sheet content.
2023-01-12 14:39:03 +01:00
cketti
2201cf34a6 Version 6.501 2023-01-09 19:06:19 +01:00
cketti
7cb741a7ff Only mark recent changes as read when dismissing snackbar via swipe 2023-01-09 18:49:34 +01:00
cketti
612f0b9477 Mark recent changes as read when dismissing snackbar 2023-01-09 16:29:20 +01:00
cketti
8e0a97a439 Don't disable home screen widgets on Android versions prior to 12
Due to a bug in older Android versions home screen widgets that are disabled by default won't be available even after the component has been enabled dynamically.
2023-01-09 13:05:46 +01:00
Bastian Wilhelm
82eec20492 delete spam messages immediately without moving to trash folder 2023-01-07 13:29:41 +01:00
cketti
e399d74bdd Prepare for version 6.501 2023-01-06 18:58:16 +01:00
cketti
8dc395f052 Version 6.500 2023-01-06 18:51:58 +01:00
cketti
9b4941c67d Move manifest entry so we don't get a RemoveWorkManagerInitializer lint error 2023-01-06 18:39:46 +01:00
cketti
fe9b6d4862 Switch to a WorkerFactory that is using Koin to create workers 2023-01-06 16:29:23 +01:00
cketti
8108787957 Change the way WorkManager is initialized 2023-01-06 16:29:23 +01:00
cketti
ecff33f847 Display error message when folder couldn't be found 2023-01-06 16:21:05 +01:00
cketti
fc3c9b3035 Add comments to components that are disabled by default 2023-01-06 16:08:56 +01:00
cketti
996f7e28ef Disable more Android components by default
Only enable launcher shortcuts and home screen widgets after an account has been set up.
2023-01-06 16:08:56 +01:00
klemens
6d528918a1 spelling fixes 2023-01-04 21:00:41 +01:00
cketti
7963c3562d Remove RecyclerView padding when floating action button is disabled 2023-01-04 13:19:27 +01:00
Goooler
280ec9ccb1 Remove unnecessary "enabled" attributes in manifests 2023-01-04 13:03:33 +01:00
cketti
c444be48d7 Add a UriParser for generic URIs
This isn't actually a proper parser for the URI generic syntax. But it is good enough to linkify URIs.
2023-01-04 11:49:46 +01:00
cketti
8485395205 Remove support for linkifying bitcoin: and ethereum: URIs 2023-01-04 11:49:46 +01:00
cketti
86012f81d0 Refactor TextPartFinder 2023-01-04 11:37:20 +01:00
cketti
5206e76641 Convert TextPartFinder to Kotlin 2023-01-04 11:37:20 +01:00
cketti
05809b9280 Rename .java to .kt 2023-01-04 11:37:20 +01:00
cketti
6c7174dc78 Convert TextPartFinderTest to Kotlin 2023-01-04 11:37:20 +01:00
cketti
294a8cb840 Rename .java to .kt 2023-01-04 11:37:20 +01:00
cketti
74146c5f35 Remove mocking from EncryptionDetectorTest 2023-01-04 11:37:20 +01:00
cketti
ec6be782cf Hide floating action button when ViewSwitcher is animating
Currently, animating between message list and message view is a lot like switching tabs. The guidelines state that a floating action button should not move in unison with the content.

See https://m2.material.io/components/buttons-floating-action-button#behavior
2023-01-04 11:14:57 +01:00
cketti
0cad7f3b47 Add setting to show floating action button on top of the message list 2023-01-04 11:14:57 +01:00
cketti
28907c5c13 Set colorOnSecondary to white in light theme 2023-01-04 11:14:57 +01:00
cketti
1409ee000f Add floating action button to message list screen 2023-01-04 11:14:57 +01:00
Bastian Wilhelm
ad5f87519c Don't move draft to Trash folder after sending 2022-12-27 20:36:28 +01:00
cketti
bdf0e3899b Ignore extraneous spaces when filtering the folder list 2022-12-21 17:24:51 +01:00
cketti
ef111af4ee Merge branch 'main' into message-view-redesign 2022-12-15 16:02:10 +01:00
cketti
431c3fd6ca Remove font size settings from GeneralSettingsDescriptions 2022-12-15 12:14:19 +01:00
mhfarzaneganbb
75e4be161a Remove font size settings for account list and folder list 2022-12-15 12:06:12 +01:00
cketti
a0ae7bd820 Add dir="auto" to HTML when composing messages 2022-12-13 14:07:10 +01:00
cketti
dc7c5e8018 Use CoordinatorLayout for better SnackBar behavior
Anchoring the SnackBar to the CoordinatorLayout gives us:
- swipe to dismiss
- drawer being drawn on top of the SnackBar
2022-12-12 16:41:02 +01:00
cketti
462d64b6b8 Ignore WebView's scroll state when swipe gesture started in other view
We only consider a gesture as swipe gesture for moving to the previous or next message when the WebView can't be scrolled further in that direction. This is the correct behavior when the swipe gesture was started inside the WebView. However, the WebView's scroll state should be ignored when the swipe gesture was started e.g. in the message header. In those cases we always want to swipe to the next/previous message.
2022-12-12 15:55:14 +01:00
cketti
e71b4bcb90 Sort list of folders in account settings 2022-12-12 15:02:22 +01:00
cketti
4b5df5ade0 Make sure operations in NewMailNotificationController are executed atomically 2022-12-07 20:20:11 +01:00
cketti
627bcf850e Make sure notifications have been restored before performing any operation 2022-12-07 20:20:11 +01:00
Goooler
4b0567744d Cleanup 2022-12-07 19:21:12 +01:00
Goooler
65e07cba13 Disable buildFeatures by default to speed up builds 2022-12-07 19:21:11 +01:00
Goooler
d4055ea252 Configure java extensions in allprojects 2022-12-07 19:04:23 +01:00
Goooler
be9b4ef4aa Configure android extensions in subprojects 2022-12-07 19:04:23 +01:00
cketti
932e3caabe Stop NotificationActionService after work is done 2022-12-06 18:58:00 +01:00
cketti
71d6a4f52e Perform NotificationActionService actions in background thread
Updating notifications involves disk I/O.
2022-12-06 18:58:00 +01:00
cketti
c2eb4ff0a2 Add proguard rule that allows to further optimize custom views
`View.isInEditMode()` will always be `false` when the app is run on the device.
2022-12-05 22:19:27 +01:00
cketti
039cc957f4 Add RecipientNamesView to display the recipient names 2022-12-05 21:11:43 +01:00
cketti
a1a1a1d4fb Add DisplayRecipientsExtractor to extract recipient names from a message 2022-12-05 16:41:09 +01:00
cketti
85d9dc813c Create AddressFormatter to build the display name of an email address 2022-12-05 16:11:35 +01:00
cketti
399ff52840
Merge pull request #6497 from thundernest/mdc_theme
Switch to MaterialComponents themes
2022-11-28 19:00:23 +01:00
cketti
77756e56da Add support for search in recipient addresses 2022-11-28 18:16:45 +01:00
cketti
07a23d41b9 Tweak section headers in about screen
Use same style that is used in the settings screens.
2022-11-28 17:37:59 +01:00
cketti
72da6f8005 Tweak section headers in settings list screen
Use same style that is used in general/account settings screen.
2022-11-28 17:37:59 +01:00
cketti
ca77057ab3 Prepare for version 6.500 2022-11-28 14:35:25 +01:00
cketti
bf5a03089f Version 6.400 2022-11-28 14:29:35 +01:00
cketti
1a34e49e91 Change appearance of "show remote images" button 2022-11-23 21:01:50 +01:00
cketti
5a43ff6607 Fix message header background color 2022-11-23 19:40:21 +01:00
cketti
715728bf47
Merge pull request #6484 from thundernest/mdc_theme
Switch to MaterialComponents themes
2022-11-23 19:26:08 +01:00
cketti
85762d5ec7 Display tooltips when long-pressing the menu actions 2022-11-22 17:30:46 +01:00
cketti
53aeb4224a Add functionality for primary reply action in message view 2022-11-22 17:03:37 +01:00
cketti
b2eb9fbbc9 Add ReplyActionStrategy to figure out which reply actions are available to the user 2022-11-22 17:03:37 +01:00
cketti
d3658804c6 Switch to MaterialComponents themes 2022-11-22 16:05:41 +01:00
cketti
047ef2db50 Add "line of death" 2022-11-21 14:28:32 +01:00
cketti
42d99739b5 Merge branch 'main' into message-view-redesign 2022-11-18 17:13:48 +01:00
cketti
7bcb1bc9fe Prepare for version 6.313 2022-11-15 15:49:02 +01:00
cketti
4a7ac29657 Version 6.312 2022-11-15 15:35:05 +01:00
cketti
e2672cb0dd Update translations 2022-11-15 13:33:49 +01:00
cketti
017fc8e59f Respect font size settings in message view
- Remove now unnecessary settings.
- Rearrange items in the settings screen to match the display order in the message view screen.
- Change setting name from "To" to "Recipients".
2022-11-14 17:54:20 +01:00
cketti
be17b94cf4 Don't enable archive swipe action in archive folder 2022-11-14 14:28:52 +01:00
cketti
97ec70a631 Reset swiped view when moving an item 2022-11-14 14:24:05 +01:00
cketti
e17459f210 Reset swiped views when canceling a swipe action in the confirmation dialog 2022-11-14 14:18:21 +01:00
cketti
30a2126fcb Mark view when swipe starts so ItemAnimator doesn't interfere 2022-11-14 13:28:31 +01:00
cketti
789fbe4d43 Deselect message during swipe
When swiping a selected message we remove the selection state at the start and restore it afterwards if the list item isn't removed. Except when the swipe action is "toggle selection". Then we keep the current selection state while the list item is dragged.
2022-11-11 14:00:11 +01:00
cketti
273d0b433d Handle animating a swiped view back to its start position inside ItemTouchHelper 2022-11-10 21:03:38 +01:00
cketti
ecdffa15a4 Avoid crash when one of the swipe actions is "None" 2022-11-09 11:48:42 +01:00
cketti
ebb54c26cd Use width of swipe action text to calculate maximum swipe distance 2022-11-09 11:48:42 +01:00
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
154b526fbd Prepare for version 6.312 2022-11-01 12:34:54 +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
ee608a6201 Change ThunderbirdDiscovery to support all specified autoconfig URLs 2022-10-27 11:02:49 +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
e251ec7f57 Add more logging for creating/removing notifications 2022-10-25 11:30:20 +02:00
cketti
893a6900dd Don't throw when calling MessageStore.getMessageServerId()
Return `null` when the message can no longer be found in the message store.
2022-10-25 10:59:52 +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
a51795c5e8 Prepare for version 6.311 2022-10-24 14:35:30 +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
be8bb25874 Keep <kbd>, <samp>, and <var> tags when sanitizing HTML 2022-10-24 12:12:15 +02:00
cketti
863222f658 Keep <tt> tags when sanitizing HTML 2022-10-23 23:09:48 +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
86ae99dd6e Fix size of ListView in message list widget 2022-10-20 12:08:36 +02:00
cketti
da283a7c32 Change the way the message list widget listens to changes
Also change the code to only listen for message list changes when the message list widget has been added to the home screen.
2022-10-19 18:38:03 +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
b028c86397 Add thread count to message list widget layout 2022-10-19 10:47:36 +02:00
cketti
98b75c01b2 Simplify intent to start MailListWidgetService 2022-10-18 15:20:28 +02:00
cketti
0482b93071 Simplify the code to notify the message list widget of changes 2022-10-18 15:19:02 +02:00
cketti
343ed16ae0 Update the message list widget on app start
Now that we've changed the component name of `MessageListWidgetService` this is necessary so widget hosts learn of the new name. It's also a good idea in general to update all RemoteViews on app startup (since the app might have been updated).
2022-10-18 15:16:36 +02:00
cketti
2640c0e0a7 Retain fully-qualified name of MessageListWidgetProvider in the manifest 2022-10-17 20:31:32 +02:00
cketti
c9d89657b0 Create a separate Gradle module for the message list widget 2022-10-17 19:15:17 +02:00
cketti
af11ca5e4e Remove now unused MessageProvider 2022-10-17 11:37:57 +02:00
cketti
e75d15d7e6 Don't use MessageProvider for message list widget 2022-10-17 11:37:57 +02:00
cketti
dfef2d9ece Convert MessageListRemoteViewFactory to Kotlin 2022-10-14 14:34:45 +02:00
cketti
2015fe7905 Rename .java to .kt 2022-10-14 14:33:54 +02:00
cketti
6ad7d022fe Convert MessageListWidgetProvider to Kotlin 2022-10-14 13:58:50 +02:00
cketti
ee98a96cba Rename .java to .kt 2022-10-14 13:58:50 +02:00
cketti
f464b3be6d Convert MessageListWidgetService to Kotlin 2022-10-14 13:37:02 +02:00
cketti
755885bb2b Rename .java to .kt 2022-10-14 13:37:02 +02:00
cketti
f1400a4293 Merge branch 'main' into message-view-redesign 2022-10-13 12:21:54 +02:00
cketti
243fbcfd5a Prepare for version 6.310 2022-10-12 20:03:48 +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
a833cd5b08 Stop using white-space: pre-wrap for the HTML signature
Line breaks display inconsistently across browser implementations when using both `<br>` and the CSS rule.
2022-10-12 15:49:27 +02:00
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
32f4b34e93 Merge branch 'main' into message-view-redesign 2022-10-07 16:57:25 +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