Commit graph

1778 commits

Author SHA1 Message Date
cketti
f4eb0ea9ba Remove unused code 2021-02-18 02:03:09 +01:00
cketti
452cccb7b8 Make sure downloaded images are accessible via the system's file picker
Starting with API 29 files downloaded with DownloadManager are not automatically written to a location that is accessible via the system's file picker. Manually specifying the 'Downloads' directory does work and doesn't require the WRITE_EXTERNAL_STORAGE permission (on API 29+).
2021-02-17 14:31:59 +01:00
cketti
68be2ba75e Prepare for version 5.731 2021-02-16 20:15:17 +01:00
cketti
c452e588af Version 5.730 2021-02-16 17:21:43 +01:00
cketti
1fb8c0be14
Merge pull request #5147 from k9mail/update_translations
Update translations
2021-02-16 17:13:47 +01:00
cketti
998c5d1fbf
Merge pull request #5145 from k9mail/message_list_back_button
Go to Unified Inbox when pressing back in message list
2021-02-16 17:09:02 +01:00
cketti
17f447705e Update translations
Add languages: be, en_GB
2021-02-16 15:26:31 +01:00
cketti
0121bab2e9 Go to Unified Inbox when pressing back in message list 2021-02-16 13:02:47 +01:00
cketti
705a02f72b Get rid of Account.isEnabled()
We no longer have the concept of disabled accounts.
2021-02-16 00:28:01 +01:00
cketti
0f89db7dd4 Hide progress indicator when checking for email has finished 2021-02-16 00:10:31 +01:00
cketti
3457f69c56
Merge pull request #5138 from ByteHamster/keep-swiperefresh-active
Fix swipeRefreshLayout being hidden before refresh is finished
2021-02-15 13:54:16 +01:00
Ody-sseus
b48ad28743 Fix MessageCompose activity enabled status 2021-02-14 22:49:32 +02:00
ByteHamster
052d56222e Fix swipeRefreshLayout being hidden before refresh is finished 2021-02-13 18:40:54 +01:00
cketti
1659363805 Prepare for version 5.730 2021-02-12 18:53:00 +01:00
cketti
eaa766a1a7 Version 5.729 2021-02-12 18:00:46 +01:00
cketti
e601d866c3 Don't violate ServerSetting's nullability constraints when decoding store URIs 2021-02-11 13:24:40 +01:00
cketti
06ae7cc9d4 Prepare for version 5.729 2021-02-10 15:10:06 +01:00
cketti
4d9c8e6b17 Version 5.728 2021-02-10 14:51:25 +01:00
cketti
09b793f9e9 Update translations 2021-02-10 13:14:36 +01:00
cketti
09ab26f763 Try to create email tokens in recipient input field when it loses focus 2021-02-08 17:44:41 +01:00
cketti
5655bf3c03
Merge pull request #5128 from k9mail/fix_import
Fix display in 'import settings' screen
2021-02-08 13:10:17 +01:00
cketti
ee2e5a0071
Merge pull request #5127 from k9mail/minor_AccountList_cleanup
Minor AccountList cleanup
2021-02-08 13:10:00 +01:00
cketti
2c2187e1fe Cleanup 2021-02-08 12:58:06 +01:00
toppk
d5597e88cf
This works around a tiny issue made worse with the unified inbox as folder
presentation.

If you disable the unified inbox while still viewing it, you could end
up with no account "selected", in a drawer showing folders.  This could
lead to a crash if the user clicks on a folder before selecting a
profile.  This patch resets the drawer to the default account, and
deselects any folder in the drawer.
2021-02-07 22:15:41 -05:00
toppk
f681c0afb2
convert unified inbox from a virtual account to a virtual folder.
This is only in the UI.  This initial implementation leaves
unified inbox implemented as a SearchAccount, but otherwise ignored as
an account, and is generally treated as a special folder.
2021-02-07 13:05:38 -05:00
cketti
9ad2f07a5f Fix display in 'import settings' screen
Only show 'general settings' as an option when the settings file actually contains general settings.
2021-02-07 18:46:31 +01:00
cketti
4453b431b4 Remove unnecessary code 2021-02-07 16:39:49 +01:00
cketti
ddabe3a238 Rewrite stored value from "hideSpecialAccounts" to "showUnifiedInbox" 2021-02-07 15:45:14 +01:00
cketti
a3e0b89f01 Rename K9.isHideSpecialAccounts to K9.isShowUnifiedInbox 2021-02-07 13:15:53 +01:00
cketti
bcb9c2f839 Rename setting to "Show Unified Inbox"
Change the display setting "Hide Unified Inbox" to "Show Unified Inbox".
2021-02-07 13:04:23 +01:00
toppk
d07cd850e6
Allow setting password and client certificates from first step of account setup. 2021-02-05 00:24:11 -05:00
toppk
05e5c802ce
decouple client certificates from authentication
This allows the usage of client certificates to be independent of
authentication.  It is possible that the usage of client certificates
eliminate the need for any authentication, or that they provide
other benifits.

This patch restructures the incoming and outgoing server setup pages
so that client certificates can be set as long as the connection uses
TLS/SSL.  If the user chooses client certificates for authentication
it will prompt for certificate only if there isn't one already set.

Mixing password and client certificates works, and this builds upon
other work that allows these settings to coexist in the imap/smtpURI.

This also give the certificate spinner a little more polish.
  - label looks like other labels
  - some indentation
  - the cancel button only appears if there is something to cancel
2021-02-04 23:45:07 -05:00
cketti
1f2404557b Migrate storeUri/transportUri to new server settings format 2021-02-01 17:30:21 +01:00
cketti
08d6d9bebc Delete remaining store/transport URI functionality 2021-02-01 17:30:21 +01:00
cketti
696901f9c1 Use JSON as serialization format for 'ServerSettings' 2021-02-01 17:30:21 +01:00
cketti
de2560b90b Remove Account.storeUri and Account.transportUri
The URIs are still used as serialization format when saving settings
2021-02-01 12:54:02 +01:00
cketti
69ed32ff8a Convert 'ServerSettings' to Kotlin 2021-02-01 10:39:19 +01:00
cketti
1ebc487b56 Don't use custom ServerSettings subclass in SettingsImporter 2021-01-31 18:50:14 +01:00
cketti
97051f3f7c Make WebDavStore use ServerSettings directly
Instead of using WebDavStoreSettings as a ServerSettings subclass make it a helper to extract WebDav-specific settings.
2021-01-31 18:50:14 +01:00
cketti
42e180d6fa Make ImapStore use ServerSettings directly
Instead of using ImapStoreSettings as a ServerSettings subclass make it a helper to extract IMAP-specific settings.
2021-01-31 18:50:14 +01:00
cketti
9e8c896b8a Perform provider URI decoding inside 'ProvidersXmlDiscovery' 2021-01-31 18:12:14 +01:00
cketti
da0b7e7202
Merge pull request #5110 from k9mail/refresh_folder_list
Refresh the folder list when checking the account
2021-01-28 10:56:58 +01:00
cketti
71e2d24fbb Refresh the folder list when checking the account 2021-01-27 08:04:23 +01:00
cketti
61949eaff9 Improve sort order of email addresses in auto-complete popup 2021-01-27 02:50:34 +01:00
Jasti Sri Radhe Shyam
8f690a6d10
add release dates to changelog xml
- release dates (format: YYYY-MM-DD) are in accordance with UTC timezone.
- removed extra spaces and lines.
issue: 5099

Signed-off-by: Jasti Sri Radhe Shyam <samabhasatejsrs@outlook.com>
2021-01-25 18:23:02 +00:00
cketti
10dec2253a Prepare for version 5.728 2021-01-25 16:29:12 +01:00
cketti
56ce36167c Version 5.727 2021-01-25 16:17:58 +01:00
cketti
3ef1ea6726 Update translations 2021-01-25 15:40:50 +01:00
cketti
3cd7f5b3a7
Merge pull request #5100 from k9mail/support_forum
Add link to forum to settings screen
2021-01-24 06:46:14 +01:00
cketti
c2ff696a93
Merge pull request #5097 from k9mail/unify_icons
Unify icon vector drawables for dark and light themes
2021-01-24 06:44:25 +01:00
cketti
62b1344f82 Code cleanup 2021-01-24 06:21:01 +01:00
MonkeyMatt
93770dda41 Reset account settings during setup progression
Fixes problem with settings carrying over after back navigation during setup
2021-01-24 06:16:24 +01:00
cketti
fae9255bca Update/fix notification icons 2021-01-23 04:26:39 +01:00
cketti
5eeb4b56be Unify icon vector drawables for dark and light themes 2021-01-23 04:26:39 +01:00
cketti
86c517013b Add link to support forum to settings screen 2021-01-23 03:56:24 +01:00
cketti
540b77dd24 Add fragment to show the changelog 2021-01-21 08:01:41 +01:00
cketti
431f81978c Rework About screen
Add links to the website, the user forum, and the social media accounts.
2021-01-16 10:45:59 +01:00
cketti
d1f781f0e3 Change layout of library list items in About screen 2021-01-16 08:54:27 +01:00
cketti
b3ae2fe22f Clean up code for About screen 2021-01-16 08:29:14 +01:00
cketti
9d5273ee5e Remove Kotlin synthetics from About screen 2021-01-16 08:21:06 +01:00
cketti
8b5ed91629 Prepare for version 5.727 2021-01-06 07:52:11 +01:00
cketti
d29085774d Version 5.726 2021-01-06 07:42:43 +01:00
cketti
1259d372b6
Merge pull request #5085 from Monkey-Matt/fix-setup-back-navigation
Fix setup back navigation
2021-01-06 07:16:39 +01:00
cketti
a9122dfd5f Update translations 2021-01-05 19:17:22 +01:00
MonkeyMatt
835c2200c9 Change default so existing accounts continue to work
Ensure accounts made before the setup changes don't get deleted
2020-12-29 13:46:33 +13:00
MonkeyMatt
d6d3fb884e Add setup finished flag on account
Relying on account name caused faults when exiting setup flow at the last step
2020-12-29 13:12:29 +13:00
MonkeyMatt
ee6d7afc75 Allow back navigation through setup screens
Fixes setup flow and ensures an account is fully setup before being usable
2020-12-28 17:39:30 +13:00
cketti
938a265464
Merge pull request #5078 from k9mail/GH-5077_fix_FoldableLinearLayout_state_restore
Make FoldableLinearLayout.SavedState public
2020-12-23 01:15:52 +01:00
cketti
1f65982263 Make FoldableLinearLayout.SavedState public 2020-12-22 17:36:27 +01:00
MonkeyMatt
699c8408be Remove unused showPassword method 2020-12-21 15:48:31 +13:00
MonkeyMatt
c0341851fc Use TextInputLayout on setup outgoing
Also adds password visibility toggle
2020-12-21 14:11:37 +13:00
MonkeyMatt
c889259707 Use TextInputLayout in setup incoming
Adds the show password eye to setup incoming screen. Layout adjustments to account for the difference in TextInputEditText
2020-12-21 13:53:02 +13:00
MonkeyMatt
84557da148 Add show password eye to setup basic
Use TextInputEditText to handle show/hide of password rather than doing it with our own checkbox
2020-12-19 18:39:13 +13:00
Mathew Smith
9d6558adf2
Add e.email to providers 2020-12-16 22:04:28 +13:00
cketti
babf305f92 Prepare for version 5.726 2020-11-18 19:57:43 +01:00
cketti
1f586eb1aa Version 5.725 2020-11-18 19:47:26 +01:00
cketti
3fb457bb3c Update translations 2020-11-16 18:03:03 +01:00
cketti
70bbad03c7 Consider default email address in auto-complete suggestions 2020-11-16 15:53:54 +01:00
cketti
b6ba133d12 Convert 'MessageListFragment' to Kotlin 2020-11-06 14:58:22 +01:00
cketti
6d506151f3 Rename 'MessageListFragment' prior to conversion to Kotlin 2020-11-06 14:58:22 +01:00
cketti
011ac576a2 Remove MessageListFragment.context 2020-11-06 14:58:21 +01:00
cketti
32f04270fd Remove MessageListFragment.layoutInflater 2020-11-06 00:51:05 +01:00
cketti
1233675aa0 Prepare for version 5.725 2020-11-01 15:48:44 +01:00
cketti
ea01c92d1c Version 5.724 2020-11-01 15:44:13 +01:00
cketti
37c391f596
Merge pull request #5038 from k9mail/fix_message_list_loading
Don't crash when MessageListLoader couldn't retrieve any Cursors
2020-11-01 15:36:37 +01:00
cketti
413a32e0af
Merge pull request #5037 from k9mail/fix_special_folder_creation
Don't crash when special local folders already exist
2020-11-01 15:34:01 +01:00
cketti
fa9f6adb30 Fix parameter types to avoid NullPointerException 2020-11-01 15:16:19 +01:00
cketti
404edf8cab Don't crash when MessageListLoader couldn't retrieve any Cursors 2020-11-01 15:04:34 +01:00
cketti
760875bb8e Don't crash when special local folders already exist 2020-11-01 14:44:43 +01:00
cketti
f672183bee Prepare for version 5.724 2020-10-31 19:16:27 +01:00
cketti
2f564e991b Version 5.723 2020-10-31 19:11:05 +01:00
cketti
4acd304ff4 Update translations 2020-10-31 18:53:12 +01:00
cketti
7d7c198e73 Don't show recipient names in Inbox, Archive, Spam and Trash folders
Some people assign e.g. the 'Sent' role to the Inbox. In that case we need to treat the folder like the Inbox rather than the Sent folder when it comes to deciding whether or not to display the recipient address in the message list.
2020-10-31 17:57:58 +01:00
cketti
90c94dc38e
Merge pull request #5032 from k9mail/replace_groupie
Replace Groupie with FastAdapter
2020-10-31 16:09:25 +01:00
cketti
cd912fd2c0 Replace Groupie with FastAdapter 2020-10-31 15:52:42 +01:00
cketti
61e7b86a1a
Merge pull request #5031 from k9mail/message_list_kotlin
Convert MessageList to Kotlin
2020-10-31 01:44:51 +01:00
cketti
bec3cc9045 Use Koin's standard mechanism for getting dependencies in 'MessageList' 2020-10-26 17:22:45 +01:00
cketti
abf3d2a3a2 Convert 'MessageList' to Kotlin 2020-10-26 15:47:14 +01:00
cketti
ad2c37d343 Fix ThreadInfo to allow messageIdHeader being null 2020-10-25 16:48:31 +01:00
cketti
2004cfc4b1 Rename 'MessageList' prior to conversion to Kotlin 2020-10-25 14:56:16 +01:00
cketti
141bcf8f10 Hide message list footer while list is loading 2020-10-24 17:49:47 +02:00
cketti
2a6b242d40
Merge pull request #5024 from k9mail/improve_outbox
Improve Outbox
2020-10-24 16:52:35 +02:00
cketti
fcedb37035 Update folder list when moving message from Outbox to Drafts 2020-10-22 19:28:47 +02:00
cketti
000918fb06 Add "Move to Drafts" action to message view 2020-10-22 19:26:31 +02:00
cketti
a36ea7a1a3 When creating messages for sending mark them as read 2020-10-22 18:24:07 +02:00
cketti
251071c58e Don't allow messages in Outbox to be starred or marked as read via message view 2020-10-22 18:17:02 +02:00
cketti
8abcba90c0 Don't allow messages in Outbox to be starred or marked as read via message list 2020-10-22 17:36:13 +02:00
cketti
741bbe9ca8 Show number of messages in Outbox in side drawer 2020-10-22 16:57:31 +02:00
cketti
bea08ccb68 Remove EolConvertingEditText 2020-10-22 03:01:19 +02:00
cketti
fc67bc40b5 Prepare for version 5.723 2020-10-21 01:26:29 +02:00
cketti
78a70c305b Version 5.722 2020-10-21 01:11:58 +02:00
cketti
3917c102e7 Update translations 2020-10-21 00:34:33 +02:00
cketti
2b81618ad9 Remove unused constructor parameter from 'MessagingController' 2020-10-20 03:49:45 +02:00
cketti
da728ae456 Fix logging the name of pending commands 2020-10-20 03:49:45 +02:00
cketti
d5ae39565b Remove unused parameter 2020-10-20 03:45:06 +02:00
cketti
c7ed0ec8e4 Clean up 'SaveMessageTask' 2020-10-20 03:45:06 +02:00
cketti
1c57b31900 Clean up retrieving dependencies in 'MessageCompose' 2020-10-19 10:09:00 +02:00
cketti
09eb2561e9 Rename 'MessagesStoreProvider' to 'MessageStoreProvider' 2020-10-19 09:58:05 +02:00
cketti
f11b170a42 Make MessagingController.saveDraft() return message database ID 2020-10-19 09:25:56 +02:00
cketti
54e5d8af9c Change the way we replace drafts on the server
Don't overwrite the previous draft in the database. Create a new message entry and convert the previous one to a 'deleted' placeholder.
This also introduces a new pending command 'replace'. It is implemented as upload + delete.
2020-10-19 09:25:56 +02:00
cketti
1ef1af8b0f Log stack trace when pending commands fail 2020-10-18 22:01:44 +02:00
cketti
45bf5d0aef Inline constant parameter value (we always upload drafts if possible) 2020-10-18 21:53:34 +02:00
cketti
36c9e799f1 Don't use magic value when draft message ID is missing 2020-10-18 21:53:34 +02:00
cketti
1fecd0b588 Convert code to save drafts to Kotlin 2020-10-18 21:53:34 +02:00
cketti
ba8834d3f7 Make using LeakCanary in debug builds optional 2020-10-18 16:27:14 +02:00
cketti
1873593dc5 Format Kotlin code 2020-10-16 16:41:19 +02:00
cketti
ed8009d9fa Update ktlint-gradle to 9.4.1, ktlint to 0.39.0
Apply ktlint-gradle plugin to all Gradle subprojects.
2020-10-16 14:27:23 +02:00
cketti
d2fd52e206 Manually fix up formatting of some raw strings 2020-10-16 12:54:30 +02:00
cketti
40319700d8
Merge pull request #5006 from k9mail/message_id
Change the way moving messages between folders in the database works
2020-10-16 03:49:54 +02:00
cketti
a2ac5b167e Change the way moving messages between folders in the database works
Previously, when moving a message, the entry in the `messages` table was rewritten to reference the destination folder. Then a "deleted" message entry was created referencing the source folder.
This commit changes the move code to create a new entry for the message in the destination folder and then changes the original message entry to be a "deleted" entry.
It's a first step towards being able to use a message's database ID instead of the server ID in "pending commands".

This also continues the project of moving database-related code to the `storage` module. There should now be enough scaffolding in place to make moving code from `LocalStore` and `LocalFolder` relatively painless.
2020-10-15 23:51:49 +02:00
cketti
5aac50d1ee
Merge pull request #5009 from anadi198/automaticIdentityForwarding
Apply automatic identity selection for forwarding emails based on `to:` field of mail being forwarded
2020-10-15 19:04:49 +02:00
Anadi Kashyap
9a464eb6f1 Apply automatic identity selection to forwarding emails 2020-10-15 18:48:50 +02:00
Anadi Kashyap
f757ce9148 Replaced CDATA[] for unknown_recipient and unknown_sender with &lt; and &gt; in strings.xml 2020-10-15 21:06:17 +05:30
cketti
3921f57906
Merge pull request #5005 from k9mail/fix_urls_in_drafts
Fix URLs in drafts
2020-10-13 04:10:58 +02:00
cketti
2a67408981 Fix URLs in drafts
When converting from HTML to plain text, if the link text is identical to the link URL, only output the URL.
2020-10-13 03:57:47 +02:00
cketti
1835b502b5
Merge pull request #5001 from k9mail/no_encoding_in_MimeHeader
No encoding in MimeHeader
2020-10-13 03:54:13 +02:00
cketti
e3178a5117
Merge pull request #5003 from k9mail/show_recipient_name
Show recipient name for all messages in Sent, Drafts, and Outbox folders
2020-10-13 03:41:10 +02:00
cketti
57bde56e16
Merge pull request #5002 from k9mail/long_subjects
Display up to 3 lines of the subject by default
2020-10-13 03:37:12 +02:00
cketti
5bc7ac3901 When constructing new messages check header values 2020-10-13 03:29:20 +02:00
cketti
733624cfcf
Merge pull request #4998 from k9mail/fix_EmailSectionExtractor
Fix EmailSectionExtractor
2020-10-13 03:17:28 +02:00
cketti
b7dc6d9146
Merge pull request #4996 from k9mail/improve_http_uri_detection
Improve HTTP URL detection
2020-10-13 03:13:55 +02:00
cketti
604c87b130 Always show contact picture of sender in message view 2020-10-12 01:48:36 +02:00
cketti
5f05b8bb07 Show sender/recipient name in message list based on folder
The recipient name is shown for messages in the Sent, Drafts, and Outbox folders. For messages in all other folders the sender name is shown.
2020-10-12 01:48:36 +02:00
cketti
427aecb2ab Remove unused properties from MessageListItem 2020-10-12 00:06:05 +02:00
cketti
9227206872 Display up to 3 lines of the subject by default
Clicking the subject text will toggle between showing all lines and 3 lines max.
2020-10-11 23:06:51 +02:00
cketti
fac346009a Only pass encoded headers to MimeHeader
Remove code to encode header values from from MimeHeader.writeTo()
2020-10-11 02:28:36 +02:00
cketti
82f8a78e88 EmailSectionExtractor: Don't consider blank lines for indentation depth 2020-10-10 01:49:13 +02:00
cketti
955f556afa Fix EmailSectionExtractor to support empty quoted lines 2020-10-10 00:36:07 +02:00
cketti
2c95b7df65
Merge pull request #4994 from k9mail/message_batch_actions
Don't show archive or spam action when displaying the corresponding folder
2020-10-09 22:58:49 +02:00
cketti
ea7ca6e3d4 Make HTTP URL detection work with parentheses 2020-10-09 04:29:02 +02:00
cketti
b1d21dc27c Clean up 'HttpUriParser'
There shouldn't be any functional changes.
2020-10-09 02:33:11 +02:00
cketti
76e43a411d Convert 'HttpUriParser' to Kotlin 2020-10-09 00:52:18 +02:00
cketti
e4297b3a4c Rename 'HttpUriParser' prior to conversion to Kotlin 2020-10-09 00:37:51 +02:00
cketti
617dd1641e Don't show archive or spam action when displaying the corresponding folder 2020-10-08 22:56:05 +02:00
cketti
3b7c5ea10f Display message headers in the original order 2020-10-08 16:16:50 +02:00
cketti
8685da31d4 Prepare for version 5.722 2020-10-07 17:51:43 +02:00
cketti
e7bcfe7e3e Version 5.721 2020-10-07 17:07:23 +02:00
cketti
68405c91b4
Merge pull request #4991 from k9mail/signature_detection_fix
Fix bug in signature detection
2020-10-07 16:54:44 +02:00
cketti
4fbe07ed1c
Merge pull request #4989 from k9mail/copy_link_text
Add "copy link text to clipboard" option when long-pressing links
2020-10-07 16:49:19 +02:00
cketti
1a58f4d4f0 Fix bug in signature detection
When SignatureWrapper detected a signature it would exclude the last character of the text. This lead to an exception being thrown when the signature ended with a URL and the HtmlModification instance for the URL would not be fully contained within the one for the signature.
2020-10-07 15:43:29 +02:00
cketti
4fd51cf313 Add "copy link text to clipboard" option when long-pressing links 2020-10-07 02:04:53 +02:00
cketti
5312c3d1ca Treat all whitespace as separator when detecting URIs 2020-10-06 22:39:04 +02:00
cketti
378c90b46e Prepare for version 5.721 2020-10-06 20:29:06 +02:00
cketti
6c097b47da Version 5.720 2020-10-06 20:21:55 +02:00
cketti
388a7f263e Add zero-width space to changelog version values
For some reason version attributes like "5.700" are displayed as "5.7". We work around that by adding a zero-width space at the end.
2020-10-06 20:21:55 +02:00
cketti
08b6952382 Only keep resources for languages supported in K-9 Mail
This will strip strings of unsupported languages provided by libraries.
2020-10-06 19:41:18 +02:00
cketti
0c77513407
Merge pull request #4986 from k9mail/GH-4984_fix_preview_text_extraction
Fix preview text extraction
2020-10-06 16:11:40 +02:00
cketti
b8edb11eea
Merge pull request #4983 from k9mail/signature_display
De-emphasize signature when displaying text/plain part
2020-10-06 16:10:07 +02:00
cketti
e3b8855bdd Catch unexpected exceptions in MessagePreviewCreator 2020-10-06 15:15:19 +02:00
cketti
15ca949698 Make PreviewTextExtractor work with empty string 2020-10-06 15:11:02 +02:00
cketti
ca5a044247 De-emphasize signature when displaying text/plain part 2020-10-05 18:27:10 +02:00
cketti
7d6ca63cf2 Add support for nested HtmlModifications to TextToHtml 2020-10-05 18:13:55 +02:00
cketti
3133573139 Rewrite Share functionality in message view screen
The shared text now contains subject, date, sender, and recipients in addition to the message body text.
2020-10-05 05:38:54 +02:00
cketti
d38dd84e88 Exclude 'DebugProbesKt.bin' from APK 2020-10-04 21:51:17 +02:00
cketti
145c048326 Prepare for version 5.720 2020-10-04 20:19:45 +02:00
cketti
d541eaef51 Version 5.719 2020-10-04 19:12:01 +02:00
cketti
2c4744da60 Update translations 2020-10-04 18:33:09 +02:00
cketti
a5ef3f8b3c
Merge pull request #4964 from AlexKDawson/4936-bug/user-selected-account-lost
User selected Account is lost on screen rotation when setting up "Unread" widget
2020-10-03 18:27:23 +02:00
Alex Dawson
c671c84191 Persist state in unread widget configuration during screen rotation 2020-10-03 18:11:14 +02:00
cketti
8dd8881ab5
Merge pull request #4967 from k9mail/improve_preview_extraction
Improve preview text extraction
2020-10-03 03:41:52 +02:00
cketti
a1e9a521e3 Replace somewhat complex regular expression with code
Apparently the regular expression \n*(?:[^\n]+\n?)+:\n+$ is complex enough so matching takes the regex engine on Android forever on non-trivial inputs.
2020-10-03 02:28:48 +02:00
cketti
99ce09f19d Improve preview text extraction
Using 'EmailSectionExtractor' provides the necessary context to reliably detect quote headers, i.e. text like "On $date $sender wrote:". The regular expression previously used would remove almost any line ending with ":".
2020-10-03 02:28:48 +02:00
cketti
19eb78de30 Small code cleanup 2020-10-02 19:03:26 +02:00
starshipcoder
7f32c9e0d8 In recipient contact selection, display favorites first
Fix: sorting was case sensitive
2020-10-02 19:03:26 +02:00
cketti
6a25709e09 Convert 'PreviewTextExtractorTest' to Kotlin 2020-09-30 03:00:20 +02:00
cketti
4c08c964e7 Rename 'PreviewTextExtractorTest' prior to conversion to Kotlin 2020-09-30 03:00:20 +02:00
cketti
bb4ed7a15c Convert 'PreviewTextExtractor' to Kotlin 2020-09-29 23:31:24 +02:00
cketti
ab4e0229dc Rename 'PreviewTextExtractor' prior to conversion to Kotlin 2020-09-29 23:22:15 +02:00
cketti
5cec85cb15
Merge pull request #4958 from k9mail/GH-3653_fix_search_crash
Return empty result when EmailProvider query fails
2020-09-23 15:57:25 +02:00
cketti
172f98cd8c
Merge pull request #4952 from k9mail/GH-4951_fix_HtmlSanitizer
Add some HtmlSanitizer exceptions
2020-09-23 15:55:14 +02:00
cketti
7992be9068 Return empty result when EmailProvider query fails
In developer mode we still crash for all errors except for malformed MATCH expressions (which are rather easy to generate given that we pass user input to SQLite).
2020-09-22 18:13:28 +02:00
cketti
bedf26d19b
Merge pull request #4931 from GNUDimarik/issue_4914
Use correct OpenPGP key when sending signed-only email
2020-09-20 19:27:43 +02:00
cketti
b82be6f374 Retain some attributes of <body> element during HTML sanitization 2020-09-20 18:01:00 +02:00
cketti
10ce58d603 Add <title> tag to allow list 2020-09-20 17:42:35 +02:00
cketti
ec34b96bfa Convert 'HtmlSanitizerTest' to Kotlin 2020-09-20 17:42:35 +02:00
cketti
796eabb705 Rename 'HtmlSanitizerTest' prior to conversion to Kotlin 2020-09-20 17:42:35 +02:00
cketti
fc45e059fc Update to targetSdkVersion 29 2020-09-20 01:29:50 +02:00
cketti
391d8e403c Use mocked QuoteDateFormatter in TextQuoteCreatorTest 2020-09-20 01:08:39 +02:00
cketti
fd9d6f8d95 Use default Locale in QuoteDateFormatter 2020-09-20 01:04:33 +02:00
cketti
2db24bec08 Change QuoteHelper into QuoteDateFormatter 2020-09-19 20:44:54 +02:00
cketti
075fb35cd9 Get rid of QuoteHelper.QUOTE_BUFFER_LENGTH 2020-09-19 19:51:13 +02:00
cketti
e79dacd126 Use buildString() helper in TextQuoteCreator 2020-09-19 19:27:56 +02:00
cketti
0c97e2a4e0 Update Robolectric to 4.4
Replace usage of classes from transitive dependencies that are no longer available.
2020-09-18 03:14:46 +02:00
cketti
05882616d6 Update MiniDNS to 1.0.0 2020-09-18 02:42:07 +02:00
Dmitry Adzhiev
d718b33ef6 Use correct OpenPGP key when sending signed-only email 2020-09-18 00:38:48 +06:00
cketti
3211e3942c Show image previews even when wrong MIME type is used
More precisely, show image preview when the MIME type is application/octet-stream and the file extension maps to a supported image MIME type.
2020-09-09 12:16:03 +02:00
Dmitry Adzhiev
bf83ff3a90 Display SHA-1, SHA-256 and SHA-512 fingerprints of TLS certificates 2020-09-01 16:27:30 +02:00
cketti
fefe183d9a
Merge pull request #4921 from k9mail/decode_encrypted_subject
Decode encrypted subject
2020-08-25 17:31:56 +02:00
cketti
bdbd8d98b2 Decode encrypted subject 2020-08-25 17:15:00 +02:00
Tobias Preuss
f8e6e59fd6 Use io extension functions to make code more concise.
+ This change replaces a few usages of BufferedWriter, ByteArrayInputStream,
  OutputStreamWriter with their equivalent Kotlin extension functions.
2020-08-24 19:22:29 +02:00
cketti
753e03aa22 Prepare for version 5.719 2020-08-18 16:49:52 +02:00
cketti
c82b2f827e Version 5.718 2020-08-18 16:27:19 +02:00
cketti
97211358df Update translations 2020-08-17 14:12:36 +02:00
cketti
daa75579b5 Another attempt at fixing image loading for recipient chips 2020-08-13 22:12:36 +02:00
cketti
4a92388ed4 Refactor code for readability and consistency 2020-08-13 17:56:55 +02:00
Victor Frandsen
009050567d Don't show standard message actions for messages in the Outbox 2020-08-13 17:42:16 +02:00
cketti
28387c685e Add missing Koin definitions to TestApp 2020-08-13 17:04:12 +02:00
cketti
00d48de228
Merge pull request #4897 from starshipcoder/hide_empty_footerview
Message list: hide footer view if empty
2020-08-13 16:01:29 +02:00
cketti
05fe558ea6 Refactor MessageListFragment.updateFooter() 2020-08-13 15:33:07 +02:00
lwerneke
fa5b2b77f1
Add method for launching MessageList with an account 2020-08-13 15:17:40 +02:00
starshipcoder
2410ed5cb1 Message list: hide footer view if empty 2020-07-30 14:28:14 +02:00
cketti
97619c07ed Don't display address label in recipient token 2020-07-29 17:40:48 +02:00
cketti
8d2314fa79 Relayout recipient token view when switching to alternate email address 2020-07-29 17:40:48 +02:00
cketti
5b62e6c6a2 Fix baseline issues with RecipientSelectView 2020-07-29 17:40:48 +02:00
cketti
423575051d Change recipient token layout to support dynamic text sizes 2020-07-29 17:40:48 +02:00
cketti
74c5e4c068 Dismiss "recipient alternates popup" when pressing the back button 2020-07-23 16:46:58 +02:00
cketti
28adf89426 Don't use custom touch handling to detect RecipientTokenSpan clicks 2020-07-23 16:44:54 +02:00
cketti
c186395ead Update TokenAutoComplete to 4.0.0-beta01 2020-07-23 16:39:18 +02:00
cketti
2d1c00a93c Remove unused resources 2020-07-22 20:20:06 +02:00
cketti
988966d190 Update Glide to 4.11.0 2020-07-17 23:37:17 +02:00
cketti
057d1c804d Update Robolectric to 4.3.1 2020-07-15 19:40:32 +02:00
cketti
445cd12651 Remove unnecessary JDOM dependencies 2020-07-15 18:36:27 +02:00
cketti
8e7fe76e49 Update AndroidX SwipeRefreshLayout to 1.1.0 2020-07-15 17:59:17 +02:00
cketti
4aa5eab751 Use variable for AndroidX LocalBroadcastManager artifact version 2020-07-15 17:57:21 +02:00
cketti
d2f07e6ffe Update Leak Canary to 2.4 2020-07-15 17:51:31 +02:00
cketti
833c3c62e7 Update AndroidX Core to 1.3.0 2020-07-15 16:04:20 +02:00
cketti
24d1906fb6
Merge pull request #4877 from k9mail/update_build_tools
Update Gradle Wrapper and Android Gradle Plugin
2020-07-15 15:30:10 +02:00
cketti
30eca8cc30 Update Android Gradle Plugin to 4.0.1 2020-07-15 01:51:13 +02:00
cketti
63e93ef8b7 Rename file to match class (AboutFragment) 2020-07-11 01:10:48 +02:00
Tobias Preuss
7bd92aebb9 Use "View#isVisible" extension function. 2020-07-09 09:33:49 +02:00
Tobias Preuss
b1119adfc7 Use "Context#withStyledAttributes" extension function. 2020-07-09 09:31:11 +02:00
Tobias Preuss
117af49699 Keep cascaded if because code is easier to read. 2020-07-08 19:22:29 +02:00
Tobias Preuss
d2d4614601 Make function somewhat more concise. 2020-07-08 19:20:49 +02:00
Tobias Preuss
4beee75b32 Use "isNotEmpty" convenience function. 2020-07-08 14:04:37 +02:00
Tobias Preuss
f7e9cbae3e Use Kotlin "Any#toString" function. 2020-07-08 14:04:06 +02:00
Tobias Preuss
f075de1c7a Let constant be "const". 2020-07-08 14:01:27 +02:00
Tobias Preuss
35b1d17244 Use property access syntax. 2020-07-08 14:00:23 +02:00
Tobias Preuss
0bb1cc73d9 Use Long#compare convenience function. 2020-07-08 13:58:57 +02:00
Tobias Preuss
9c6d08142a Infer type. 2020-07-08 13:58:23 +02:00
cketti
0c40a77273
Merge pull request #4863 from starshipcoder/bugfix-2136
Restart message list activity after display settings have been changed
2020-07-03 18:40:45 +02:00
starshipcoder
c4c97d85d3 Fixed Issue#2136 Global display settings changes are not applied immediately 2020-07-03 18:12:47 +02:00
cketti
c71c6bc230 Automatically update folder list
Refresh list of folders before syncing an individual folder if the last time the folder list was refreshed was more than 30 minutes ago.
2020-06-26 23:56:07 +02:00
cketti
ccf9004090 Remove unused Contacts from MessagingController 2020-06-26 21:43:16 +02:00
cketti
7acab6cb33 Use injected Preferences instance in MessagingController 2020-06-26 21:42:53 +02:00
cketti
b87521ade4 Inject Preferences into MessagingController 2020-06-26 21:42:51 +02:00
cketti
02b7e5a2ee
Merge pull request #4849 from k9mail/update_SafeContentResolver
Update SafeContentResolver to version 1.0.0
2020-06-24 03:36:07 +02:00
cketti
ace8bc1244
Merge pull request #4847 from runningcode/no/api
Use api instead of implementation.
2020-06-24 03:22:35 +02:00
cketti
0de4dc8e77 Update SafeContentResolver to version 1.0.0 2020-06-24 03:17:15 +02:00
cketti
fbaa4ce037 Make openpgp-api module available for tests in app modules 2020-06-23 16:29:46 +02:00
Nelson Osacky
907106bfdc Use api instead of implementation.
This improves the build times when making incremental changes.
See [this slide](https://speakerdeck.com/runningcode/beyond-modularization-scaling-your-android-build-with-gradle?slide=97)
for the performance improvements.
2020-06-23 11:27:39 +02:00
cketti
fae2b54394 Prepare for version 5.718 2020-06-19 22:01:45 +02:00
cketti
4e35ad736d Version 5.717 2020-06-19 21:54:44 +02:00
cketti
925bb66ea5 Remove failed pending commands 2020-06-19 19:43:33 +02:00
cketti
ebc11cfaf0 Update translation 2020-06-19 17:41:18 +02:00
cketti
74942150e5
Merge pull request #4839 from k9mail/local_only_operations
Don't attempt to perform remote operations on local-only folders
2020-06-19 16:57:47 +02:00
Mehdi Sadeghi
dfbcbad458 Let WebView handle bidirectional text 2020-06-19 16:25:21 +02:00
cketti
5c5f2409be Don't upload draft message if not supported 2020-06-17 22:48:20 +02:00
cketti
be5b16040e Don't upload sent message if Sent folder is local-only 2020-06-17 15:46:57 +02:00
cketti
f7ee43bc3d Don't upload messages deleted from Outbox if not supported
When deleting a message from the local Outbox don't attempt to upload it to the (remote) Trash folder if the backend doesn't support that (POP3).
2020-06-17 15:39:51 +02:00
cketti
fc807303c9 Don't queue pending command for setting flags if not supported
If the backend doesn't support setting flags (POP3) or the folder is a local-only folder (Outbox), don't add a pending command that is guaranteed to fail.
2020-06-17 15:09:58 +02:00
cketti
14bf32cea4 Rename Backend.supportsSeenFlag to supportsFlags 2020-06-17 14:45:41 +02:00
cketti
39db941dab Don't update special folders for POP3 accounts 2020-06-13 17:04:25 +02:00
cketti
0fb0de1bb2 Add database migration to clear 'server_id' column of local folders 2020-06-13 02:02:56 +02:00
cketti
1a96ef4641 Remove Folder.serverId property 2020-06-13 02:02:56 +02:00
cketti
01ae362ae5 Add FolderRepository.getRemoteFolderDetails() 2020-06-13 02:02:56 +02:00
cketti
5558f8a709 Remove unnecessary code from FolderSettingsViewModel 2020-06-13 02:02:56 +02:00
cketti
e5d6bf1cc6 Change UnreadWidgetDataProvider to not get FolderDetails 2020-06-13 02:02:56 +02:00
cketti
b175a6aa8b Introduce RemoteFolder class 2020-06-13 02:02:56 +02:00
cketti
77a0be271e Remove use of LocalFolder.serverId where not appropriate 2020-06-13 02:02:56 +02:00
cketti
99029a07b9 Fix reading of LocalFolder.databaseId 2020-06-13 02:02:56 +02:00
cketti
c31b753d26 Write 'server_id' value of NULL to database for local folders 2020-06-13 02:02:54 +02:00
cketti
fc3e2a18e5 Use folder ID in LocalStore.getPersonalNamespaces() 2020-06-12 18:53:11 +02:00
cketti
00fc6708cc Change MessagingController.deleteMessagesSynchronous() to use folder ID 2020-06-12 18:53:11 +02:00
cketti
31ad75c539 Rewrite LocalStore.getFoldersAndUids() to getFolderIdsAndUids() 2020-06-12 18:53:11 +02:00
cketti
4976d4e178 Change MessagingListener.folderStatusChanged() to use folder ID 2020-06-12 18:53:11 +02:00
cketti
3ffa488e6c
Merge pull request #4823 from k9mail/always_notify_for_inbox
Don't skip notifications if the Inbox is configured as another special folder
2020-06-12 17:03:26 +02:00
cketti
291695b2d9
Merge pull request #4822 from k9mail/disable_default_signature
Disable default signature when creating new accounts
2020-06-12 17:03:04 +02:00
NITIN DUDIA
32a6c8fde1
Update unread_widget_configuration.xml
Allow folder selection only after a account is selected.
2020-06-05 19:57:27 +05:30
cketti
20b473b4d8 Don't skip notifications if the Inbox is configured as another special folder 2020-06-05 01:39:44 +02:00
cketti
f229b8ca3e Disable use of the signature when creating the default identity 2020-06-04 22:26:04 +02:00
cketti
46747bf114 Prepare for version 5.717 2020-06-04 03:24:38 +02:00
cketti
fd59bee315 Version 5.716 2020-06-04 03:13:49 +02:00
cketti
ec8bf39252 Update translations 2020-06-03 20:44:26 +02:00
cketti
81b99bd307
Merge pull request #4810 from k9mail/wording
Fix names of some identifiers
2020-06-03 20:19:09 +02:00
cketti
87cd417076
Merge pull request #4808 from k9mail/notification_logging
Add logging to K9NotificationStrategy
2020-06-03 20:17:12 +02:00
cketti
8fa8b485c0 Replace the term 'blacklist' in the change log 2020-06-02 17:23:26 +02:00
cketti
c4e5e6b1ed Rename PROVIDER_BLACKLIST to DISALLOWED_PROVIDERS 2020-06-02 17:22:39 +02:00
cketti
dd895ce204 Replace DozeChecker.isAppWhitelisted() with isIgnoringBatteryOptimizations() 2020-06-02 17:13:48 +02:00
cketti
02b5feacad Replace 'Whitelist' with 'AllowList' in HtmlHelper 2020-06-02 17:09:47 +02:00
cketti
8b043840c7 Convert 'HtmlHelper' to Kotlin 2020-06-02 17:09:47 +02:00