cketti
dc93335100
Move old migration code from 'K9' to storage module
2021-03-24 16:28:07 +01:00
cketti
fb426b4008
Remove migration code for really old K-9 Mail versions
2021-03-24 16:04:53 +01:00
cketti
9ee8746255
Move some code from 'Preferences' to 'AccountRemover'
2021-03-24 15:48:30 +01:00
cketti
370481236a
Convert 'Preferences' to Kotlin
2021-03-22 22:57:33 +01:00
cketti
2ddf38e666
Rename .java to .kt
2021-03-22 22:29:04 +01:00
cketti
e642ff2896
Remove Kotlin Android extensions plugin
...
See https://youtrack.jetbrains.com/issue/KT-42121
2021-03-02 17:58:20 +01:00
cketti
3cd28c5b2c
Merge pull request #5152 from ByteHamster/message-header-view
...
Show message headers in fragment
2021-02-23 14:25:10 +01:00
cketti
2630b2a395
Add 'MessageRepository'
2021-02-20 13:28:15 +01:00
cketti
06de64cd2c
Make MessageHeaderParser more flexible
2021-02-20 13:28:15 +01:00
cketti
b4f9ea29d8
Add Malayalam translation
2021-02-19 14:17:38 +01:00
cketti
1fb8c0be14
Merge pull request #5147 from k9mail/update_translations
...
Update translations
2021-02-16 17:13:47 +01:00
cketti
17f447705e
Update translations
...
Add languages: be, en_GB
2021-02-16 15:26:31 +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
Ody-sseus
b48ad28743
Fix MessageCompose activity enabled status
2021-02-14 22:49:32 +02: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
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
71e2d24fbb
Refresh the folder list when checking the account
2021-01-27 08:04:23 +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
011ac576a2
Remove MessageListFragment.context
2020-11-06 14:58:21 +01:00
cketti
760875bb8e
Don't crash when special local folders already exist
2020-11-01 14:44:43 +01: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
a36ea7a1a3
When creating messages for sending mark them as read
2020-10-22 18:24:07 +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
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
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
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
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
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
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
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
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
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
68405c91b4
Merge pull request #4991 from k9mail/signature_detection_fix
...
Fix bug in signature detection
2020-10-07 16:54:44 +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
5312c3d1ca
Treat all whitespace as separator when detecting URIs
2020-10-06 22:39:04 +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
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
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
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
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
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
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
Tobias Preuss
4beee75b32
Use "isNotEmpty" convenience function.
2020-07-08 14:04:37 +02:00
Tobias Preuss
35b1d17244
Use property access syntax.
2020-07-08 14:00:23 +02:00
Tobias Preuss
9c6d08142a
Infer type.
2020-07-08 13:58:23 +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
ace8bc1244
Merge pull request #4847 from runningcode/no/api
...
Use api instead of implementation.
2020-06-24 03:22:35 +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
925bb66ea5
Remove failed pending commands
2020-06-19 19:43:33 +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
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
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
f229b8ca3e
Disable use of the signature when creating the default identity
2020-06-04 22:26:04 +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
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
cketti
0b202197f0
Rename 'HtmlHelper' prior to conversion to Kotlin
2020-06-02 17:09:47 +02:00
cketti
781a6f29b9
Replace 'Whitelist' with 'AllowList' in HtmlSanitizer
2020-06-02 17:09:47 +02:00
cketti
245ae8c123
Convert 'HtmlSanitizer' to Kotlin
2020-06-02 17:01:43 +02:00
cketti
00846b21b6
Rename 'HtmlSanitizer' prior to conversion to Kotlin
2020-06-02 16:51:55 +02:00
cketti
f1a08e54f6
Add logging to K9NotificationStrategy
2020-06-02 13:21:32 +02:00
cketti
25bdbe8a0d
Use proper "server ID" when creating local Outbox folder
2020-05-29 19:32:36 +02:00
cketti
c85b56828e
Don't reset special local folders in SpecialFolderUpdater
2020-05-16 17:46:26 +02:00
cketti
981e12965a
Add isLocalOnly property to Folder
2020-05-15 19:55:26 +02:00
cketti
482e8df663
Create SpecialLocalFoldersCreator to create special local folders
...
That's "Outbox" for all account types. And additionally "Drafts", "Sent",
and "Trash" folders for POP3 accounts.
2020-05-15 17:21:47 +02:00
cketti
9100438b31
Make trying to open a non-existent folder a permanent error
2020-05-13 16:31:35 +02:00
cketti
e830656d80
Remove LocalFolder.close()
...
It's not doing anything useful and was responsible for at least one bug.
2020-05-08 19:42:16 +02:00
cketti
b67ed99f24
Remove usage of java.time API
2020-05-08 14:32:51 +02:00
cketti
03d057a785
Retry failed periodic syncs with exponential backoff
2020-05-06 17:35:32 +02:00
cketti
76f1d37bc1
Use last sync time to calculate initial delay for periodic syncs
2020-05-06 17:35:25 +02:00
cketti
a224291532
Save last sync time
2020-05-06 16:57:38 +02:00
cketti
1e21f94e1c
Only reschedule sync job for the account whose settings were changed
2020-05-06 15:37:02 +02:00
cketti
35aac53e10
Disable mail sync job when 'background sync' is set to 'never'
2020-05-06 15:04:02 +02:00
cketti
c30911cbf6
Check last sync time when performing periodic syncs
2020-05-06 14:12:19 +02:00
cketti
fad2d91f72
Fix check to not sync a folder if it was checked recently
2020-05-06 14:11:32 +02:00
cketti
746beb84ed
Check if periodic mail sync is disabled in MailSyncWorker
2020-05-06 13:44:25 +02:00
cketti
1717ede350
Avoid NullPointerExceptions when unboxing
2020-05-05 17:16:04 +02:00
cketti
e305d91cf2
Remove FolderInfoHolder.serverId
2020-05-05 15:49:29 +02:00
cketti
7e958abb1d
Fix exporting folder names for special folders
2020-05-05 15:49:29 +02:00
cketti
d503935ac5
Fix code to create Outbox folder after settings import
2020-05-05 15:49:29 +02:00
cketti
584c365a3d
Use imported special folders after refreshing the folder list
2020-05-05 15:49:29 +02:00
cketti
9e02b1cba5
Use imported auto-expand folder after refreshing the folder list
2020-05-04 16:31:00 +02:00
cketti
cc637a6575
Rename Account.get*Folder() to getImported*Folder()
2020-05-04 16:31:00 +02:00
cketti
fe5dcfa8a1
Rename Account.getInboxFolder() to getLegacyInboxFolder()
2020-05-04 16:31:00 +02:00
cketti
f82214d5cc
Replace Account.getAutoExpandFolder() with Account.getAutoExpandFolderId()
2020-05-04 16:31:00 +02:00
cketti
2f875abcfc
Replace remaining usages of Account.get*Folder()
2020-05-04 16:31:00 +02:00
cketti
d298897b51
Store folder IDs of special folders in Preferences
2020-05-04 16:31:00 +02:00
cketti
bb9e6558f0
Replace Account.getArchiveFolder() with Account.getArchiveFolderId()
2020-05-04 16:31:00 +02:00
cketti
7f80947740
Replace Account.getSentFolder() with Account.getSentFolderId()
2020-05-04 16:31:00 +02:00
cketti
253f4c85ff
Replace Account.getSpamFolder() with Account.getSpamFolderId()
2020-05-04 16:31:00 +02:00
cketti
c943c03879
Replace Account.getDraftsFolder() with Account.getDraftsFolderId()
2020-05-04 16:31:00 +02:00
cketti
c56ae6dcab
Replace Account.getTrashFolder() with Account.getTrashFolderId()
2020-05-04 16:31:00 +02:00
cketti
c6d96b2b34
Replace Account.getInboxFolder() with Account.getInboxFolderId()
...
In some instances the check for the Inbox folder could be removed.
We no longer allow one folder to have multiple roles, e.g. Inbox + Drafts.
2020-05-04 16:31:00 +02:00
cketti
789769ef39
Replace Account.getOutboxFolder() with Account.getOutboxFolderId()
2020-05-04 16:31:00 +02:00
cketti
0b939eee25
Use Account.get*FolderId() to figure out folder type
2020-05-04 16:31:00 +02:00
cketti
d86945d35d
Change ChooseFolderActivity to use a folder ID for "scroll to folder"
2020-05-04 16:31:00 +02:00
cketti
010c0b42ef
Remove folderServerId from MessageReference
2020-05-04 16:31:00 +02:00
cketti
9291881b6b
Switch LocalSearch and everything connected to it to using folder IDs
2020-05-04 16:31:00 +02:00
cketti
34049eec29
Switch MessageReferenceTest to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
76c9d74dea
Switch MessageCompose to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
42e545826f
Switch MessagingController.move*() to use folder IDs
2020-05-04 16:31:00 +02:00
cketti
2974471d02
Switch LocalFolder to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
d43282fc6c
Change MessagingController.setFlag() to use folder ID
2020-05-04 16:31:00 +02:00
cketti
70d194a99a
Switch MessageLoaderHelper to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
e152f4c571
Switch LocalMessageLoader to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
85aaf759d4
Switch RawMessageProvider to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
70841e40d7
Change K-9 Mail message URI to use folder ID instead of server ID
2020-05-04 15:01:29 +02:00
cketti
1c55ffda51
Change MessageReference to also store folder database ID
2020-05-04 15:01:29 +02:00
cketti
c26037c534
Merge pull request #4722 from basilgello/remove-fulltext-remnants
...
Compact messages_fulltext table after messages destroyed
2020-05-04 14:54:25 +02:00
cketti
f62818b5ef
Merge pull request #4709 from basilgello/restore-clear-local-folder
...
Restore per-folder clear local messages
2020-05-04 14:39:44 +02:00
cketti
17bda4029c
Change MessagingController.clearFolder() to use the folderId
2020-05-04 11:35:15 +02:00
Vasyl Gello
97c7b29cd9
Compact messages_fulltext table after messages destroyed
...
Fixes the 'messages_fulltext_segdir' entries left after
emptying the trash folder.
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2020-05-03 23:09:13 +03:00
Vasyl Gello
5444415c12
Do not encrypt message subject if message body is not encrypted
...
Fixes #4718
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2020-05-03 20:59:25 +03:00
cketti
767f7e0efe
Remove StoreConfig
2020-05-01 05:42:50 +02:00
cketti
a6f75dc587
Remove StoreConfig.getMaximumAutoDownloadMessageSize()
2020-05-01 05:15:51 +02:00
cketti
d7d1fe0c0e
Remove StoreConfig.isRemoteSearchFullText()
2020-05-01 04:18:16 +02:00
cketti
d904a8965d
Allow removal of special folders
2020-04-30 15:52:49 +02:00
cketti
4fce6e4bfe
Merge pull request #4712 from k9mail/fix_message_deletion
...
Fix message deletion
2020-04-29 20:28:47 +02:00
cketti
fde4e267e0
Merge pull request #4711 from k9mail/account_change_marker
...
Don't set change marker when loading/initializing an Account instance
2020-04-29 12:46:52 +02:00
cketti
5fd08c444a
Remove placeholder after deleting a message from the Trash folder
2020-04-29 03:07:38 +02:00
cketti
dcf8502a19
Don't mark deleted message as empty
...
LocalMessage.destroy() will handle converting the deleted message to an
empty message if necessary.
2020-04-29 00:05:06 +02:00
cketti
aac921e2c0
Remove local placeholder messages when emptying trash folder
2020-04-28 23:32:05 +02:00
cketti
de2845aefa
Loading/initializing an Account instance shouldn't set change marker
2020-04-28 20:52:44 +02:00
cketti
a7a2e8dc9f
Destroy local messages right away when emptying trash folder
2020-04-28 14:18:27 +02:00
cketti
f4a9d843b0
Merge pull request #4706 from k9mail/Message_type_cleanup
...
More specific Message types for method parameters
2020-04-28 13:11:11 +02:00
cketti
db34c3e68d
Merge pull request #4702 from k9mail/remove_placeholder_messages
...
Destroy local placeholder messages in source folder after a move operation
2020-04-28 13:08:16 +02:00
cketti
94489bf55a
Change List<? extends Message> to List<Message> where appropriate
2020-04-27 18:37:10 +02:00
cketti
46b2633bea
Change List<? extends Message> to List<LocalMessage> where appropriate
2020-04-27 17:51:26 +02:00
cketti
d33643ba99
Destroy local placeholders in source folder after a move operation
2020-04-27 11:59:48 +02:00
cketti
e86f294a0f
Change the BackendStorage API to add/update/remove folders
...
This way the code to update special folders only runs once, and not on
every change.
2020-04-27 06:44:26 +02:00
cketti
5c10cfc6e6
Use folder database ID for PendingMoveOrCopy and PendingMoveAndMarkAsRead
2020-04-25 01:00:21 +02:00
cketti
cc1002eeb4
Use folder database ID for PendingSetFlag
2020-04-25 00:39:34 +02:00
cketti
bc6f2bf97f
Use folder database ID for PendingAppend
2020-04-25 00:39:34 +02:00
cketti
63c16c137c
Use folder database ID for PendingDelete
2020-04-25 00:02:50 +02:00
cketti
4e2d084401
Use folder database ID for PendingMarkAllAsRead
2020-04-24 23:34:21 +02:00
cketti
c98943e983
Use folder database ID for PendingExpunge
2020-04-24 23:29:34 +02:00
cketti
626f8e18d6
Merge pull request #4689 from cketti/fix_lost_linebreaks
...
Properly handle <br> tag when converting HTML to plain text
2020-04-24 05:33:21 +02:00
cketti
532b94bc69
Merge pull request #4686 from cketti/fix_pop3_move_to_trash
...
Move deleted message to Trash folder when using POP3
2020-04-24 05:31:09 +02:00
cketti
a3bf389065
Properly handle <br> tag when converting HTML to plain text
2020-04-24 00:30:35 +02:00
cketti
d1c3cca213
Move deleted message to Trash folder when using POP3
2020-04-23 20:55:30 +02:00
cketti
2dccbb7c48
Remove local message if we can't get new server ID after moving/copying
2020-04-23 03:28:06 +02:00
cketti
d70564e423
Remove unused code
2020-04-18 19:51:48 +02:00
cketti
1ac7387e83
Upgrade to jsoup 1.13.1
2020-04-15 23:32:23 +02:00
cketti
a05181eb2a
Merge pull request #4663 from k9mail/message_view_content_font_size_migration
...
Convert old value for message view content font size to new format
2020-04-14 22:27:02 +02:00
cketti
8786a2f63b
Change default to always show delete button in notifications
2020-04-13 16:54:44 +02:00
cketti
3b19d53a0e
Convert old value for message view content font size to new format
2020-04-13 16:44:22 +02:00
cketti
b99c1b5f59
Use FolderSettingsProvider when exporting settings
2020-04-13 01:05:31 +02:00
cketti
5a15ceece1
Rename 'FolderSettings' to 'FolderSettingsDescriptions'
2020-04-12 20:58:17 +02:00
cketti
6fba5f8e6a
Rename 'IdentitySettings' to 'IdentitySettingsDescriptions'
2020-04-12 20:58:12 +02:00
cketti
c5195890a1
Rename 'AccountSettings' to 'AccountSettingsDescriptions'
2020-04-12 20:58:10 +02:00
cketti
6e6abe2e68
Rename 'GlobalSettings' to 'GeneralSettingsDescriptions'
2020-04-12 20:58:07 +02:00
cketti
ce29fd20fb
Use saved folder settings when creating folders
2020-04-12 20:53:44 +02:00
cketti
46870b4a42
Don't save folder settings to preferences when updating a folder
2020-04-10 21:32:52 +02:00
cketti
6ca331b4e8
Merge pull request #4652 from k9mail/refactor_SettingsExporter
...
Refactor 'SettingsExporter'
2020-04-10 01:34:10 +02:00
cketti
ad3c40195d
Refactor 'SettingsExporter'
2020-04-09 00:19:58 +02:00
cketti
ff7bb4094a
Convert 'SettingsExporterTest' to Kotlin
2020-04-08 23:22:51 +02:00
cketti
e4bacaf71b
Convert 'SettingsExporter' to Kotlin
2020-04-08 22:56:12 +02:00
cketti
497ca62fe3
WIP: Renaming file 'SettingsExporter' with Kotlin extension
2020-04-08 20:48:42 +02:00
cketti
de2f0a37ef
Create local folders with FolderClass.NO_CLASS
2020-04-08 18:58:45 +02:00
cketti
43130437ef
Make 'FolderSettingsDataStore' use 'FolderRepository' instead of 'LocalFolder'
2020-04-08 04:00:56 +02:00
cketti
3eb70c6e27
Make "manage folders" screens use database ID to refer to folders
2020-04-08 01:28:35 +02:00
cketti
0af9aa3300
Merge pull request #4648 from k9mail/remove_old_database_migrations
...
Remove old database migrations
2020-04-08 00:53:29 +02:00
cketti
749d4d51bf
Remove unused methods from MigrationsHelper
2020-04-08 00:33:29 +02:00
cketti
e0b1d77650
Remove BootReceiver
2020-04-06 19:22:19 +02:00
cketti
b93ad397c3
Remove CoreService
2020-04-06 19:22:19 +02:00
cketti
c6e7e28abe
Remove ShutdownReceiver
2020-04-06 19:22:19 +02:00
cketti
eed9daa020
Remove Push state from database
2020-04-06 04:19:29 +02:00
cketti
2a78418911
Remove old Push code
2020-04-05 20:08:29 +02:00
cketti
0554dfcd04
Clear local message cache when UIDVALIDITY value changes
2020-03-31 22:20:46 +02:00
cketti
b0aa07aef9
Move MailTo class to :mail:common module
2020-03-28 21:39:04 +01:00
cketti
982013ded4
Make sure Part.getMimeType() returns a valid MIME type
2020-03-24 02:29:01 +01:00
cketti
defb055472
Remove code to mark contacts as read and WRITE_CONTACTS permission
...
See https://source.android.com/devices/tech/config/contacts-affinities
2020-03-19 17:31:14 +01:00
cketti
19310314c5
Remove unused "Gestures" setting and unused code
2020-03-15 17:22:09 +01:00
cketti
00086bd15e
Update Koin to 2.1.1
2020-03-04 14:39:30 +01:00
cketti
2a8d094343
JMAP: Add support for uploading messages
2020-02-25 19:00:18 +01:00
cketti
a2f1487ba5
JMAP: Add support for deleting messages
2020-02-18 16:47:33 +01:00
cketti
b78c2e295e
Add JMAP message sync (part 2) - delta sync
2020-02-14 00:16:34 +01:00
cketti
6768e74fc2
Be a bit more selective on which StrictMode warnings we enable
2020-02-12 22:27:13 +01:00
cketti
ab7feffa68
Add JMAP message sync (part 1)
...
This only supports doing a full sync and downloading complete messages.
2020-02-12 19:12:11 +01:00
cketti
0f07359bd9
Update AndroidX Core to 1.2.0
2020-02-06 17:53:07 +01:00
cketti
611a57fb0e
Remove now unused folder name from SyncListener callbacks
2020-02-05 01:27:06 +01:00
cketti
86326ea0b9
Remove unused folder name from MessagingListener callbacks
2020-02-05 01:25:24 +01:00
cketti
b233104622
Make BackendFolder only save messages that have a server ID set
...
Since we're calling through to LocalFolder.appendMessages(), omitting
the server ID would create a local message (one with a UID starting
with "K9LOCAL:").
2020-02-04 19:58:24 +01:00
cketti
d8d2bebebe
BackendFolder should never hand out local-only messages
...
Backend implementations don't need to know about local messages.
2020-02-04 18:55:33 +01:00
cketti
77ff9ea9ba
Remove unused method BackendFolder.getUnreadMessageCount()
2020-02-04 18:17:22 +01:00
cketti
f2886364ef
Merge pull request #4475 from k9mail/pending_commands_cleanup
...
Check arguments when creating PendingCommand instances
2020-01-26 23:30:41 +01:00
cketti
c85221cadf
Check arguments when creating PendingCommand instances
2020-01-26 01:27:24 +01:00
cketti
aad060fb41
Remove unnecessary code from PendingMoveAndMarkAsRead
2020-01-26 00:47:23 +01:00
cketti
54bf442259
Rename outdated PendingMoveOrCopy factory method to createLegacy()
2020-01-26 00:47:23 +01:00
cketti
71df8f2f0d
Remove code to enqueue legacy form of 'PendingMoveOrCopy'
2020-01-26 00:47:23 +01:00
cketti
5b436adaee
Only check for contacts read permission when fetching contact pictures
2020-01-24 15:10:10 +01:00
cketti
28dadaf468
Merge pull request #4469 from k9mail/fix_LocalSearch_accounts
...
Fix crash when opening Unified Inbox
2020-01-23 16:35:12 +01:00
cketti
320f916098
Remove support for the magic ALL_ACCOUNTS constant from LocalSearch
2020-01-22 21:59:47 +01:00
cketti
ad731aa3d9
Fix bug in MessageListLiveData when using LocalSearch to retrieve accounts UUIDs
2020-01-22 21:19:55 +01:00
cketti
f8baaa60f6
Fix bug in MessageListLoader when using LocalSearch to fetch accounts
2020-01-22 21:05:15 +01:00
cketti
b99d445736
Remove unused message counts from MessagingListener.synchronizeMailboxFinished()
2020-01-22 17:16:06 +01:00
cketti
aeef338efd
Remove unread count from MessagingListener.folderStatusChanged()
2020-01-22 17:02:16 +01:00
cketti
2dc75163a0
Remove unused MessagingListener callbacks for sending messages
2020-01-22 16:52:26 +01:00
cketti
6916ea8ce5
Remove unused callback MessagingListener.systemStatusChanged()
2020-01-22 16:52:26 +01:00
cketti
edbee481dd
Remove unused callback MessagingListener.setPushActive()
2020-01-22 16:52:25 +01:00
cketti
0b49b22af0
Remove unused callback MessagingListener.emptyTrashCompleted()
2020-01-22 16:52:25 +01:00
cketti
0cd7164c2e
Remove MessagingListener.messageDeleted()
...
Only home screen widgets used the callback to update themselves. But
they're also updating when folderStatusChanged() is invoked. So we can
safely get rid of messageDeleted().
2020-01-22 16:52:25 +01:00
cketti
56151e7b7e
Remove unused MessagingListener callbacks for pending commands
2020-01-22 16:52:25 +01:00
cketti
d0bb3a0524
Remove MessagingController.listFolders() and associated callbacks
...
We now use FolderRepository to retrieve the folder list. listFolders()
was only used to refresh the folder list from the server.
2020-01-21 14:45:55 +01:00
cketti
9a04de0d00
Remove unused android-job library
2020-01-19 17:02:40 +01:00
cketti
dd99636fa8
Update Truth to 1.0.1
2020-01-19 16:27:53 +01:00
cketti
9b2b82eee6
Update Mockito to 3.2.4 and Mockito-Kotlin to 2.2.0
2020-01-19 16:27:53 +01:00
cketti
28f411f3d4
Update Moshi to 1.9.2
2020-01-19 16:19:20 +01:00
cketti
320cc8b40b
Add UI to add a JMAP account to the app
2020-01-18 21:14:57 +01:00
cketti
a873a1c41f
Merge pull request #4442 from k9mail/bye_CursorLoader
...
Switch MessageListFragment away from CursorLoader
2020-01-14 16:20:37 +01:00
cketti
a939eca6d5
Fix deleting a message when there's no Trash folder
2020-01-13 16:14:49 +01:00
cketti
ab61e80bc3
Switch MessageListFragment away from CursorLoader
2020-01-12 15:58:15 +01:00
cketti
f68da8fe04
Merge pull request #4432 from k9mail/message_list_item_data_class
...
Create MessageListExtractor to read from Cursor
2020-01-10 22:51:21 +01:00
cketti
d4df9274bb
Extract code to read from Cursor to MessageListExtractor
2020-01-10 20:07:19 +01:00
cketti
ed77c652e6
Merge pull request #4434 from k9mail/remove_wrap_long_folder_names
...
Remove setting "Wrap long folder names"
2020-01-09 17:29:08 +01:00
cketti
e0ba03c74b
Remove unused setting "Wrap long folder names"
2020-01-09 17:02:33 +01:00
cketti
67468687e5
Simplify LocalFolder.open()
2020-01-09 14:14:52 +01:00
cketti
2d470c73a0
Move FolderType and FolderClass out of Folder
2020-01-09 14:08:41 +01:00
cketti
ef2862b443
Remove unused code from LocalFolder
2020-01-09 14:08:41 +01:00
cketti
5f9999e173
Change LocalFolder to no longer extend Folder
2020-01-09 14:08:41 +01:00
cketti
13bc16caf8
Remove Message.getFolder()
2020-01-08 23:30:03 +01:00
cketti
0d303c8740
Merge pull request #4429 from k9mail/LocalFolder
...
Use LocalFolder instead of Folder in MessagingController
2020-01-08 21:30:35 +01:00
cketti
b336ad283f
Merge pull request #4046 from ByteHamster/mark-as-read-on-delete
...
Mark messages read when deleting
2020-01-08 19:00:38 +01:00
ByteHamster
7b9f44ca1e
Added function to move to trash and read to backend
2020-01-08 18:48:28 +01:00
ByteHamster
1bac17d244
Added setting to mark messages read when deleting
2020-01-08 18:44:46 +01:00
cketti
d4d2758a8a
Use LocalFolder instead of Folder in MessagingController
2020-01-08 01:42:57 +01:00
cketti
aaaf75dc6f
Merge pull request #4421 from k9mail/special_folders
...
Properly configure special folders during (initial) folder sync
2020-01-08 00:39:46 +01:00
cketti
495d8c0521
Move code to configure special folders to SpecialFolderUpdater
2020-01-02 22:07:40 +01:00
cketti
b504e6a83a
Move special folder handling out of FolderRepository
2020-01-02 20:33:17 +01:00
cketti
d937113b6b
Add subject to MessageViewInfo in case of errors
2020-01-02 16:55:14 +01:00
cketti
303148ab3a
Create empty root part when loading message with crypto error
...
Some parts of the code depend on MessageViewInfo.rootPart not being null.
2020-01-02 16:54:15 +01:00
cketti
d80cb6f614
EmailAddressValidator doesn't need to implement Validator
2019-12-19 14:45:03 +01:00
cketti
a946523161
Merge pull request #4389 from k9mail/choose_folder
...
Update "Choose Folder" screen
2019-12-19 14:00:25 +01:00
cketti
e2dfc05f60
Fix filtering folders by display mode in 'ChooseFolderActivity'
2019-12-18 04:06:34 +01:00
cketti
84327e085d
Don't pass Folder instance to Backend
2019-12-18 01:21:12 +01:00
cketti
aa13a46e3e
Don't pass Folder instance to PushReceiver
2019-12-18 01:05:28 +01:00
cketti
d72b30e82c
Fix implementation in 'K9BackendStorage' to store extra values
2019-12-17 15:09:57 +01:00
cketti
f68df72b89
Use Cursor.getLongOrNull() from core-ktx
2019-12-13 13:22:54 +01:00
cketti
4951386858
Inline extension functions that only had one caller
2019-12-13 13:21:15 +01:00
cketti
bc97920f70
Add missing folder constraints to database query/update commands
2019-12-13 13:11:51 +01:00
cketti
0a7cd31741
Don't export "inboxFolderName" anymore; it's not a setting
2019-12-12 00:47:58 +01:00
cketti
059d0ed7cb
Set "inboxFolderName" and "autoExpandFolderName" to null by default
2019-12-12 00:47:58 +01:00
cketti
3125d5b343
Reset auto-expand folder when it was removed from the server
2019-12-11 19:30:37 +01:00
cketti
3037b54dd6
Extract logic to update special folders to a BackendStorageListener
2019-12-11 19:10:36 +01:00
cketti
fb567f5fe3
Use proper FolderType in comparison
2019-12-11 18:18:40 +01:00
cketti
21231bc964
Clean up code in 'AccountSetupAccountType'
2019-12-03 20:31:33 +01:00
cketti
dad7f1963b
Merge pull request #4322 from k9mail/account_defaults
...
Change some account defaults
2019-12-02 01:57:06 +01:00
cketti
4d91d8eafc
Merge pull request #4317 from k9mail/GH-4296_removing_messages
...
Remove LocalFolder.purgeToVisibleLimit()
2019-12-02 01:54:20 +01:00
cketti
b38583a374
Change default sync interval to 1 hour
2019-12-01 18:37:51 +01:00
cketti
755d47a247
Disable sync notifications by default
...
Also remove the option to configure the sync notification during account
setup.
2019-12-01 18:30:26 +01:00
ByteHamster
72d7602944
Use account color as accent color in drawer
...
Use slightly different dark theme highlight colors
Chose the colors so they have WCAG AA contrast on #333333 background
2019-12-01 16:18:46 +01:00
cketti
b1faba725f
Remove LocalFolder.purgeToVisibleLimit()
...
The method was only called at the end of a mailbox sync. But during sync
another mechanism already destroyed messages outside of the sync window.
2019-12-01 15:06:27 +01:00
cketti
93d0e14b68
Fix code style issues found by ktlint
2019-11-29 13:44:00 +01:00
cketti
88d863c4c2
Add ktlint and Kotlin code style settings for Android Studio
2019-11-29 13:39:16 +01:00
cketti
66ae90c11d
Merge pull request #4290 from k9mail/remove_start_in_unified_inbox_setting
...
Remove "Start in Unified Inbox" setting
2019-11-26 17:08:35 +01:00
Vincent Breitmoser
85a0c1af4d
use Parcelize instead of manual Parcelable implementation
2019-11-26 16:31:09 +01:00
Vincent Breitmoser
2296c6f757
convert Identity to Kotlin
2019-11-26 15:56:28 +01:00
cketti
d6d8ccdf66
Remove "Start in Unified Inbox" setting
2019-11-26 15:52:19 +01:00
cketti
bd6561191d
Update translations from Transifex
2019-11-22 13:27:30 +01:00
cketti
ff44def285
Merge pull request #4275 from k9mail/account_colors
...
Change account color picker
2019-11-22 13:20:34 +01:00
ByteHamster
09b4fbdd34
Use material colors for account colors
2019-11-21 23:54:18 +01:00
cketti
59244f52ff
Remove ability to store database on "external storage"
...
If an account database is currently stored on "external storage" we
move it back to internal storage.
2019-11-21 16:43:20 +01:00
cketti
11c9657b56
Switch from HoloColorPicker to "default" ColorPickerPreference
2019-11-21 01:33:57 +01:00
cketti
9655216606
Update to Koin 2.0.1
2019-11-20 15:38:11 +01:00
cketti
316ea451b1
Remove conditional code regarding lock screen notifications
2019-11-19 15:22:07 +01:00
cketti
1303430e73
Merge pull request #4263 from k9mail/remove_unused_code
...
Remove unused code
2019-11-18 16:55:06 +01:00
cketti
1398532e92
Remove unused ContactItem
2019-11-18 02:58:48 +01:00
cketti
c630b4deaf
Remove empty file
2019-11-18 02:52:04 +01:00
cketti
bbbec7bf3d
Switch from android-job to workmanager
2019-11-17 17:03:30 +01:00
cketti
57ff989edd
Add kotlinOptions.jvmTarget to Gradle projects using Kotlin
2019-11-17 14:45:05 +01:00
cketti
1294726667
Merge pull request #4259 from k9mail/targetSdkVersion_28
...
Set targetSdkVersion to 28
2019-11-17 13:49:05 +01:00
cketti
36da0b79a7
Disable Koin logging
2019-11-17 02:04:50 +01:00
cketti
8dc3fd4ebb
Set compileSdkVersion to 29
2019-11-17 01:41:46 +01:00
cketti
4f0e90a417
Don't refresh Pusher via JobManager
2019-11-15 03:37:30 +01:00
cketti
3470ee8774
Update Robolectric to 4.2.1
...
Not going directly to 4.3.1 because of this issue:
https://github.com/robolectric/robolectric/issues/5245
2019-11-13 17:37:37 +01:00
cketti
e3973096d3
Remove Checkstyle
2019-11-13 16:51:52 +01:00
cketti
56a37d9e14
Remove FindBugs
...
It's not maintained anymore and we're not currently using it.
2019-11-13 16:41:51 +01:00
cketti
105622a999
Use variable for 'sourceCompatibility' and 'targetCompatibility' values
2019-11-13 16:26:29 +01:00
cketti
347d33849c
Remove AccountStats
2019-11-06 17:59:31 +01:00
cketti
f0dabcc516
Rename AccountStatsCollector to UnreadMessageCountProvider
2019-11-06 17:59:31 +01:00
cketti
3114c6ef90
Replace MessagingController.getSearchAccountStatsSynchronous()…
...
…with getUnreadMessageCount()
2019-11-06 17:59:04 +01:00
cketti
24a22beccc
Replace MessagingController.getAccountStats() with getUnreadMessageCount()
2019-11-06 17:59:04 +01:00
cketti
c41382e3d4
Remove MessagingListener.searchStats()
2019-11-06 17:59:04 +01:00
cketti
7f02272ae0
Remove unused MessagingListener.accountStatusChanged()
2019-11-06 17:59:04 +01:00
cketti
52f930135c
Remove "Show account size" setting
2019-11-06 15:34:11 +01:00
cketti
e1cc1760f5
Remove "Count search results" setting
2019-11-06 15:30:13 +01:00
cketti
99b44bd5ca
Remove special account "All messages"
2019-11-01 03:21:43 +01:00
cketti
5bdbd8b962
Add 'SettingsImportFragment'
2019-10-19 23:05:01 +02:00
cketti
26c7c76395
Remove setting for message list check boxes
2019-08-15 02:10:46 +02:00
cketti
5118c0312a
Rewrite 'IdentityHelper' to use Sequence operations
2019-08-07 17:17:06 +02:00
cketti
b519b53cb6
Convert 'IdentityHelper' to Kotlin
2019-08-07 17:08:31 +02:00
cketti
83009e8602
WIP: Renaming file 'IdentityHelper' with Kotlin extension
2019-08-07 17:06:40 +02:00
cketti
47629ae35e
Merge pull request #4144 from k9mail/convert_to_kotlin
...
Convert 'ClipboardManager' to Kotlin
2019-08-07 16:40:33 +02:00
cketti
ae29d90f2e
Converting 'ClipboardManager' to Kotlin
2019-08-05 15:51:51 +02:00
cketti
6754177981
WIP: Renaming file 'ClipboardManager' with Kotlin extension
2019-08-05 15:51:51 +02:00
cketti
7523817ae8
Use Koin to inject ClipboardManager
2019-08-05 15:51:51 +02:00
cketti
c10e835e37
Return whether or not settings file included server passwords
2019-08-04 19:59:01 +02:00
cketti
36f3724344
Update import/export default value for "useBackgroundAsUnreadIndicator"
2019-08-03 21:37:57 +02:00
Robert Spencer
14f33e40a8
Change default to not set unread email backround grey
2019-08-03 21:34:20 +02:00
cketti
d4d1280a9c
Merge pull request #4114 from k9mail/drawer_unread_count
...
Display unread message count in drawer
2019-07-24 17:20:26 +02:00
ByteHamster
52f61659fe
Using K9.DEVELOPER_MODE in more places
2019-07-19 13:49:44 +02:00
cketti
096ee17871
Change FolderRepository.getDisplayFolders() to include unread count
2019-07-18 17:52:29 +02:00
cketti
f15d43d0bb
Add import/export support for new theme setting
2019-05-28 02:41:48 +02:00
cketti
2d0c698774
Switch to "use system default" theme option as default
...
On pre-API 28 Android versions hide the the "use system default" option
in settings. But we use the value AppTheme.FOLLOW_SYSTEM when the light
theme is selected. This way users who selected the light theme (or never
changed the setting at all) will get the "use system default" behavior
when they upgrade to Android 9+.
2019-05-28 02:41:48 +02:00
cketti
0bf59cf615
Add support to follow system default for night mode/dark theme
2019-05-28 02:41:48 +02:00
cketti
f08bd42c8a
Rename theme properties in 'K9'
2019-05-28 02:41:48 +02:00
cketti
4bbc8c5486
Use different enums for app theme and "sub themes"
2019-05-28 02:41:48 +02:00
cketti
58371be677
Properly support different themes for message viewing and composing
...
Previously the quoted HTML in the compose screen was formatted using
the message view theme.
2019-05-28 02:41:48 +02:00
cketti
be124ec896
Introduce ThemeManager to group theme-related logic
2019-05-28 02:41:48 +02:00
cketti
2d746e64ce
Remove unused code from HtmlConverterTest
2019-05-24 14:05:35 +02:00
cketti
3e0855c5e1
Extract code to create HTML for use in a WebView to class 'DisplayHtml'
2019-05-24 14:05:35 +02:00
cketti
e6d35d85af
Extract 'HTML to Spanned' functionality to separate class
2019-05-24 14:05:35 +02:00
cketti
eddd6827a4
Convert 'HtmlConverter' to Kotlin
2019-05-24 14:05:35 +02:00
cketti
e7b6d6b5d3
WIP: Renaming file 'HtmlConverter' with Kotlin extension
2019-05-24 14:05:35 +02:00
cketti
3db836ee21
Don't use enum ordinals when saving general settings
2019-05-22 20:07:21 +02:00
cketti
38c3e26921
Move legacy migrations from 'K9' to 'StorageMigrations'
2019-05-22 20:07:21 +02:00
cketti
dd5e12e779
Rename debug logging property
2019-05-22 01:42:52 +02:00
cketti
113f51df94
Naming cleanup
2019-05-22 01:42:52 +02:00
cketti
871abe54ec
Remove "showContactPicture" methods from 'K9'
2019-05-22 01:42:52 +02:00
cketti
1420214e04
Remove "useBackgroundAsUnreadIndicator" methods from 'K9'
2019-05-22 01:42:52 +02:00
cketti
71cd03ab57
Remove "hideTimeZone" methods from 'K9'
2019-05-22 01:42:50 +02:00
cketti
bcb2f72354
Remove "hideUserAgent" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
ec2b9a3772
Remove "wrapFolderNames" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
6d75e5abdd
Remove "confirmMarkAllRead" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
9f6d717af0
Remove "confirmDeleteFromNotification" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
c0fcb634e8
Remove "confirmDiscardMessage" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
dbb2e64afa
Remove "confirmSpam" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
acff9d7c62
Remove "confirmDeleteStarred" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
1a06188e7c
Remove "confirmDelete" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
acd437c791
Remove "countSearchMessages" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
4d74ef39d0
Remove "measureAccounts" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
4dedf1b795
Remove "messageViewShowNext" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
516aec77e0
Remove "messageViewReturnToList" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
5855563124
Remove "messageViewFixedWidthFont" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
bc76870004
Remove "changeContactNameColor" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
9db23ba7de
Remove "showContactName" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
596d5af260
Remove "messageListSenderAboveSubject" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
13f2f7b581
Remove "showCorrespondentNames" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
ed0683d064
Remove "messageListStars" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
ad4831e354
Remove "messageListCheckboxes" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
51eb51c679
Remove "messageListPreviewLines" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
8ba651501b
Remove "showAnimations" methods from 'K9'
2019-05-22 01:13:51 +02:00
cketti
aad830ff9e
Remove "startIntegratedInbox" methods from 'K9'
2019-05-22 01:13:50 +02:00
cketti
4bff973fc5
Remove "autofitWidth" methods from 'K9'
2019-05-22 01:13:36 +02:00
cketti
7da8f13f92
Remove "useVolumeKeysFor*Navigation" methods from 'K9'
2019-05-22 01:13:15 +02:00
cketti
2eec933d3d
Remove "guesturesEnabled" methods from 'K9'
2019-05-21 23:57:09 +02:00
cketti
55f4484e15
Remove "backgroundOps" methods from 'K9'
2019-05-21 23:52:38 +02:00
cketti
04f200ce02
Remove "useFixedMessageViewTheme" methods from 'K9'
2019-05-21 23:51:15 +02:00
cketti
030f858e91
Convert 'K9' to Kotlin
2019-05-21 23:31:29 +02:00
cketti
cd6cfe676c
WIP: Renaming file 'K9' with Kotlin extension
2019-05-21 22:06:06 +02:00
cketti
79f5efbbde
Remove unused fields
2019-05-21 22:03:12 +02:00
cketti
f3cc89f09d
Add 'SettingsExportFragment'
2019-05-19 02:25:29 +02:00
cketti
d27672f9a8
Add EmailHelper.getLocalPartFromEmailAddress()
2019-03-14 03:02:05 +01:00
cketti
d104525955
Convert EmailHelper to Kotlin
2019-03-14 02:58:27 +01:00
cketti
e1e473592c
Merge pull request #3961 from k9mail/add_delete_method_to_backend
...
Add deleteMessages() method to Backend interface
2019-03-13 23:03:20 +01:00
cketti
189f50a15e
Make MessagingController use Backend.deleteMessage()
2019-03-11 01:20:46 +01:00
cketti
0c9bb833e5
Move RobolectricTest class to :app:testing module
2019-03-10 20:02:28 +01:00
cketti
be60dccb14
Respect background sync setting
2019-02-28 03:01:04 +01:00
cketti
f9b6c78340
Merge pull request #3917 from pueffl/kotlin-upgrade
...
Upgrade to Kotlin version (3.20) and fix any issues.
2019-02-26 15:44:17 +01:00
cketti
be96b6e524
Merge pull request #3910 from k9mail/fix_K9BackendFolder
...
Fix bug in K9BackendFolder.getLastUid()
2019-02-14 03:34:46 +01:00
cketti
7c7ce6eb84
Remove Message.setRecipients() and manually set recipient headers
...
Use AddressHeaderBuilder to encode the recipient addresses and fold the
header value.
2019-02-14 02:28:36 +01:00
Wolfgang Grossinger
c179ace548
Upgrade to Kotlin version (3.20) and fix any issues.
...
- Migrate to Kotlin 3.11
- Remove Kotlin Experimentals
- Migrate Kotlin Coroutines
2019-02-13 20:53:44 +01:00
cketti
7a41c018ce
Fix bug in K9BackendFolder.getLastUid()
2019-02-10 02:46:53 +01:00
cketti
47deb4e5ba
Switch to androidx artifacts
2019-02-09 22:08:25 +01:00
cketti
932f5f2ddc
Add 'isDeleteMoveToTrash' flag to Backend
2019-01-22 18:52:06 +01:00
Sujan Kota
8e5e6d66a6
Fix the unit tests
2019-01-14 10:41:44 -08:00
Sujan Kota
64971007f5
Make notification for new messages as an interface and move the implementation to the K9NotificationStrategy.kt
2019-01-14 09:56:13 -08:00
cketti
9d9d46868f
Clean up LocalFolder.delete()
2019-01-10 00:15:35 +01:00
cketti
eeb820b958
Remove Folder.delete(boolean)
2019-01-10 00:15:35 +01:00
cketti
d27180f55c
Rename LocalFolder.delete() to deleteSettings()
2019-01-10 00:02:17 +01:00
cketti
88c12325b9
Merge pull request #3863 from k9mail/GH-3861_fix_deleting_folders
...
Fix deleting folders
2019-01-09 23:49:32 +01:00
cketti
95f266ada6
Add missing code to persist the 'uploadSentMessages' preference
2019-01-08 21:12:46 +01:00
cketti
c6dd59dee4
Fix deleting folders no longer on the server
2019-01-06 22:24:47 +01:00
cketti
2cb299d7e5
Merge pull request #3830 from wiktor-k/remove-low-frequencies
...
Remove low sync frequencies that make K-9 crash
2019-01-06 21:29:34 +01:00
cketti
af95a0f1b6
Merge pull request #3840 from k9mail/move_delete_account_action
...
Add "remove account" action to account settings screen
2019-01-06 21:03:00 +01:00
Art O Cathain
e3d193c8d2
Fix for outbox folder being missing after settings import ( #3812 )
2018-12-23 00:34:38 +01:00
Wiktor Kwapisiewicz
88cfdb385d
Reduce importance of sync notifications
...
Before this change synchronization notifications were displayed with
default importance. That means checking for e-mail generated sound or
vibration that looked like an arriving message.
This change reduces importance to `IMPORTANCE_LOW`. That still shows the
notification but does not generate any sounds or vibration by default
(this can still be adjusted by the user).
2018-12-21 16:20:04 +01:00
cketti
59edfb59f5
Add "remove account" action to account settings screen
2018-12-20 23:50:31 +01:00
Wiktor Kwapisiewicz
8468ea5f77
Remove low sync frequencies that make K-9 crash
...
See: https://github.com/evernote/android-job/wiki/FAQ#why-cant-an-interval-be-smaller-than-15-minutes-for-periodic-jobs
Closes #3803 .
2018-12-20 20:28:49 +01:00
cketti
4da4544264
Remove custom whenever() helper for Mockito
2018-12-20 18:26:12 +01:00
cketti
97ed41524e
Move tests to :app:storage module
...
Create :app:testing module for shared test infrastructure code
2018-12-18 00:07:44 +01:00
cketti
957b18fd5b
Move StoragePersister implementation to :app:storage module
2018-12-17 17:31:47 +01:00
cketti
2d6c8b7067
Extract StoragePersister interface
2018-12-17 17:25:02 +01:00
cketti
b4757a1568
Move creation of StorageEditor instances to StoragePersister
2018-12-17 17:13:20 +01:00
cketti
86818fbffb
Extract StorageEditor interface
2018-12-17 17:02:47 +01:00
cketti
db1dcb4618
Merge pull request #3824 from k9mail/remove_file_handling
...
Remove code for settings import/export using files (instead of SAF)
2018-12-17 00:02:58 +01:00
cketti
b5588a8d02
Remove compatibility code for pre-API 19 versions
2018-12-16 02:49:49 +01:00
cketti
58717266c0
Remove code for importing and exporting settings from and to files
2018-12-16 02:03:21 +01:00
cketti
c2e80122f7
Use Storage Access Framework to save attachments
2018-12-14 01:44:13 +01:00
cketti
a3735c671d
Remove attachment default path setting
2018-12-14 01:05:29 +01:00
cketti
ae2f831b7d
Merge pull request #3806 from k9mail/outbox_state
...
Persist send error state
2018-12-13 22:58:17 +01:00
cketti
6a408df8fe
Properly delete message after sending (destroy)
2018-12-13 19:59:53 +01:00
cketti
6f49b97514
Don't move message that failed to send to Drafts folder
2018-12-13 19:59:52 +01:00
cketti
e5025e1ab8
Use 'outbox_state' table for send error handling
2018-12-13 19:59:52 +01:00
cketti
03f0fa9f0f
Add 'outbox_state' table to database
2018-12-13 19:59:52 +01:00
Vincent Breitmoser
ecfbbca9d9
Merge pull request #3814 from wiktor-k/fix-missing-subject
...
Fix subject being overwritten with `null`
2018-12-12 12:52:58 +01:00
Wiktor Kwapisiewicz
314cb93d2b
Fix subject being overwritten with null
...
Not using crypto-provider passes `null` as `plaintextSubject`.
`saveDraft` already has protection against overwriting subject with `null`.
This change adds the same check to `sendMessage`.
Fixes #3811 .
2018-12-11 12:23:11 +01:00
Vincent Breitmoser
012742787e
synchronized Preferences with a lock object
2018-12-10 18:43:22 +01:00
Vincent Breitmoser
e7d6f85e66
add AccountsChangeListener to Preferences
2018-12-10 18:13:34 +01:00
Vincent Breitmoser
216d51a069
StorageEditor: add test
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
474610139f
StoagePersister: add test
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
342048e961
StoragePerister: use statement for delete, drop intermediate map
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
40b4ebbc8e
add unit test for Storage
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
9c6952275a
Storage may still be written to and read from concurrently
2018-12-10 13:06:52 +01:00
Vincent Breitmoser
f7faccf5d9
extract persistence logic from Storage into StoragePersister
2018-12-10 13:06:52 +01:00
cketti
8b676343a4
Make MessagingController.checkMailBlocking() actually terminate
2018-12-06 23:34:51 +01:00
cketti
2f8778be33
Merge pull request #3763 from ojiofong/oji_mail_sync
...
Change mail sync to work with background execution limits
2018-12-06 19:57:00 +01:00
cketti
fa3458f920
Make mail check blocking when called from MailSyncJob
2018-12-06 19:45:11 +01:00
Vincent Breitmoser
4333a3a16f
remove "hideHostnameWhenConnecting" from global settings
2018-12-05 14:39:08 +01:00
Oji Ofong
49917278de
Resolve scheduled job issues
2018-12-04 13:42:22 -05:00
Vincent Breitmoser
62411ace05
Fix assigning account number when Account is first saved ( fixes #3787 )
2018-12-03 14:12:25 +01:00
Oji Ofong
c3fcf5986d
Change mail sync to work with background execution limits
2018-12-02 08:52:46 -05:00
Vincent Breitmoser
e6e0d7c1c2
Merge pull request #3772 from k9mail/cleanup-localkeystore
...
Clean up LocalKeyStore and related
2018-12-02 05:08:03 +01:00
Vincent Breitmoser
5ead340cde
more clearly use getExternalFilesDir in ExternalStorageProvider
2018-12-01 14:10:22 +01:00
Vincent Breitmoser
df85d7b0f3
Clean up TrustManager, KeyStore and SocketFactory use
2018-11-30 15:47:57 +01:00
Vincent Breitmoser
3e5c9a9616
slight cleanup in AccountSearchConditions
2018-11-29 18:37:26 +01:00
Vincent Breitmoser
47767b9e3f
small code cleanup
2018-11-29 18:23:30 +01:00
Vincent Breitmoser
583c5b0432
extract Account.getLocalStore into LocalStoreProvider
2018-11-29 18:22:12 +01:00
Vincent Breitmoser
a42d1111ae
move extensive setter logic out of Account into saveAccount()
2018-11-29 18:22:12 +01:00
Vincent Breitmoser
4a386b6c9b
extract setup of default values from Account
2018-11-29 18:22:12 +01:00
Vincent Breitmoser
6276450c65
move loadAccount logic into AccountPreferenceSerializer
2018-11-29 18:22:12 +01:00
Vincent Breitmoser
86bc5ed823
extract "save" method from Account (and fix unit tests)
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
6c71b13e9b
extract move methods from Account
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
cd01aec9d8
rename AccountManager to AccountPreferenceSerializer, move more things out of Account
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
912b5d70a4
extract AccountSearchConditions and LocalKeyStoreManager from Account
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
7819045e1b
Extract deletion and saving of accounts into AccountManager
2018-11-29 18:19:07 +01:00
Vincent Breitmoser
213646d56c
rename _is-reply attribute to _is-reply-to-encrypted
...
as per dkg's comment in https://github.com/autocrypt/autocrypt/pull/376#discussion_r194886487
2018-11-29 14:05:46 +01:00
Vincent Breitmoser
d0a1535547
only add draft header to drafts
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
4c295e2f1b
use @JvmStatic instead of Companion reference, code style
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
825f06b1f3
fix unit tests
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
7040f855a5
save plaintext subject for encrypted drafts
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
d0e588fb9f
Save draft state in message header for now
...
Apparently, storing the draft state header in the encrypted payload
introduces difficulties in Enigmail due to restrictions from
Thunderbird. To stay compatible, this commit keeps the draft state in
the outer header for now, but we should move it into the encrypted
payload if the issue with Thunderbird is somehow resolved.
see: https://github.com/autocrypt/autocrypt/pull/376#issuecomment-384293480
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
39a732d0c3
Honor encrypt all drafts setting during message compose
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
18ad00790a
Add setting to store all drafts encrypted
2018-11-29 13:56:03 +01:00
Vincent Breitmoser
f9527b9e67
allow building drafts with no recipients in PgpMessageBuilder
2018-11-28 12:23:33 +01:00
Vincent Breitmoser
6a19eb3d3a
convert ComposeCryptoStatus to kotlin
2018-11-28 12:23:33 +01:00
Vincent Breitmoser
e1015d325b
Load draft state from AutocryptDraftState header
2018-11-28 12:23:32 +01:00
Vincent Breitmoser
07b272a161
Add Autocrypt-Draft-State header to saved drafts
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
f7fb48f53f
Disable payload header mechanisms for pgp/inline mails
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
10875134f4
Always use PGP/MIME for drafts
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
d7649a4391
Use \Draft flag to find if message is a draft
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
74a7094944
Move K9-Identity header into encrypted body for encrypted drafts
2018-11-28 12:22:51 +01:00
Vincent Breitmoser
d55be9edc4
Encrypt drafts to self
2018-11-28 12:22:51 +01:00
cketti
1da164bed4
Code style cleanup
2018-11-28 05:16:01 +01:00
hstrobel
40143ae207
Addressed Review feedback, extracted EmptyCursor to a own class to reduce duplicated code
2018-11-28 01:24:09 +01:00
hstrobel
72c3ac5ad0
Addressed Review feedback
2018-11-27 23:16:37 +01:00
GoneUp
249512e367
Implements runtime permissions for contacts, rebase of #3176
...
A thing to note is that the permission request will only show up when the targetsdk is upped >23.
Old commit message that explains the change:
--
The approach was to make it so that any K9Activity can easily request
whatever permission in the future.
The Contacts permission is now requested in two locations:
1. When a list of Messages is displayed
2. When a new message is first started to be composed.
The permission request is displayed ONCE per onCreate(). Any more than this
and it got really annoying. A typical user who reads or writes emails
WILL see the request, trust me. Once they see the message 2x, they
also have the option to block the requests from appearing.
If they DECLINE the request (or decline + DENY any further attempts),
the app should continues to work, albeit without incorporating contact data
(thumbnails, autocomplete, etc.). Contacts may still be added to the
Contacts app, as this uses an Intent and does not require any permission.
Once the Read Contacts permission is enabled, the app immediately begins
to use it.
To add other permissions in the future (such as External Storage access),
the request can be made in a similar way and the permission request result
handled appropriately by just adding it to K9Activity (or overriding in
a particular Activity).
2018-11-27 23:16:36 +01:00
Vincent Breitmoser
683b7d6eaf
Merge pull request #3733 from k9mail/fix_folder_extra_values
...
Fix reading/writing values from/to folder_extra_values
2018-11-21 16:29:20 +01:00
cketti
ff5d3f3d06
Fix reading/writing values from/to folder_extra_values
2018-11-21 02:36:44 +01:00
cketti
e79766b871
Only try to expunge a message if the Backend supports it
2018-11-21 02:35:18 +01:00
cketti
0d6634d5b5
Allow intermediate states where there's no Inbox folder
2018-11-20 21:17:05 +01:00
cketti
f168985b0b
Merge pull request #3709 from k9mail/automatic_special_folder_selection
...
Automatic special folder selection
2018-11-19 15:47:01 +01:00
cketti
d5596f7565
Remove checked exceptions from LocalSearch and ConditionsTreeNode
2018-11-17 01:50:03 +01:00
cketti
c7a7bbfc8c
Extract strings
2018-11-14 03:32:26 +01:00
cketti
ab192ece8a
Pass in dependencies via constructor
2018-11-14 02:44:34 +01:00
cketti
05c091212c
Rename NotificationChannelUtils to NotificationChannelManager
2018-11-14 02:30:55 +01:00
cketti
eeb545dc3d
Add support for importing/exporting SpecialFolderSelection
2018-11-14 00:25:23 +01:00
cketti
7680a1ac70
Always show special folders at the top of the folder list
2018-11-13 20:38:46 +01:00
cketti
72a664458e
Remove StoreConfig.set*Folder()
2018-11-13 20:38:46 +01:00
cketti
5cd28280ca
Update special folders when folders change on server
2018-11-13 20:38:45 +01:00
cketti
5e00abfaac
Add support for SpecialFolderSelection to FolderListPreference
2018-11-13 20:38:45 +01:00
cketti
a519c91b64
Add SpecialFolderSelection to Account
2018-11-13 20:38:45 +01:00
cketti
4847c0fa31
Add FolderType support to (K9)BackendStorage
2018-11-13 16:57:32 +01:00
cketti
91ae94d432
Add FolderType support to (Local)Folder
2018-11-13 16:57:32 +01:00
cketti
fa1d6aab18
Remove EXTRA_SHOW_FOLDER_NONE from ChooseFolder
2018-11-11 23:28:41 +01:00
cketti
8a87437e98
Rewrite folder values in Storage database
2018-11-11 23:28:41 +01:00
cketti
a408a21c88
Change import/export settings descriptions for folder values
2018-11-11 23:28:41 +01:00
cketti
a1b48780fd
Use null instead of special folder value K9.FOLDER_NONE ("-NONE-")
2018-11-11 23:28:41 +01:00
cketti
fe8d01dc32
Merge pull request #3699 from ojiofong/oji-notification-channel-from-ByteHamster
...
Add support for notification channels
2018-11-11 17:18:33 +01:00
cketti
272b2e3cc4
Extract migration logic from 'Storage' class
2018-11-10 20:18:15 +01:00
Oji Ofong
dbd1c254a5
Update channels in the background thread
2018-11-10 09:42:24 -05:00
Oji Ofong
a1b3cc8f1f
Improve notification channel
2018-11-10 09:40:46 -05:00
cketti
9711b42412
Remove unused Folder.FolderType
2018-11-09 14:19:36 +01:00
ByteHamster
baa653ba3a
Re-generate group if name was changed
2018-11-07 22:08:55 -05:00
ByteHamster
06bc5fdd40
Mocking UUID
2018-11-07 22:08:55 -05:00
ByteHamster
222fc0dcf8
Notification channels
2018-11-07 22:08:55 -05:00
cketti
0837cf5dcc
Convert 'TextQuoteCreator' to Kotlin
2018-10-25 02:07:43 +02:00
cketti
101573c59f
WIP: Renaming file 'TextQuoteCreator' with Kotlin extension
2018-10-25 01:45:56 +02:00
cketti
63b3379e5d
Use TextQuoteCreator instances instead of static method
2018-10-25 01:41:00 +02:00
cketti
5aba2d0327
Convert 'QuoteHelper' to Kotlin
2018-10-25 01:32:40 +02:00
cketti
7652a247f0
WIP: Renaming file 'QuoteHelper' with Kotlin extension
2018-10-25 01:25:56 +02:00
cketti
99be379013
Use QuoteHelper instances instead of a static method
2018-10-25 01:25:26 +02:00
cketti
5374173233
Remove line wrapping when prefix-quoting
...
We're using "quoted-printable" for transport encoding. So manually
wrapping lines shouldn't be necessary.
See #3654
2018-10-25 01:14:13 +02:00
cketti
04111290fc
Use Matcher.quoteReplacement() for escaping
2018-10-25 01:03:10 +02:00
cketti
ba7c8a77f9
Add line break after "header" when prefix-quoting text
2018-10-25 00:54:55 +02:00
cketti
b6b71cbf42
Don't strip \r from quoted text
2018-10-25 00:51:06 +02:00
cketti
1222a2730b
Add (failing) tests for TextQuoteCreator
2018-10-25 00:50:23 +02:00
cketti
224174273c
Merge pull request #3650 from williamvds/drawer
...
Add preferences and unified inbox to drawer
2018-10-24 03:27:27 +02:00
williamvds
02b253b0f1
Detect and select unified inbox in drawer
2018-10-21 13:31:58 +01:00
cketti
b1cfa302ba
Use different method to convert HTML to plain text
...
Html.fromHtml() exhibited some serious performance issues with certain
inputs.
See issue #3624
2018-10-03 12:23:50 +02:00
cketti
032c6b3ed9
Simplify NotificationActionCreator interface
2018-09-12 21:40:12 +02:00
cketti
cd08af2894
Merge pull request #3600 from k9mail/fix_reply_to_unencrypted_message
...
Fix bug where subject field isn't populated when replying to an unencrypted message
2018-09-11 00:54:09 +02:00
Oji
0eceb9bcc7
Expose package static methods in NotificationActionService
2018-09-10 17:12:04 -04:00
cketti
8835b1e485
Extract subject when constructing MessageViewInfo for unencrypted emails
2018-09-07 01:31:31 +02:00
cketti
0351dc8694
Hide 'upload sent messages' setting when Backend doesn't support uploads
2018-09-04 18:05:03 +02:00
cketti
7af007ad2f
Add setting to disable uploading of sent messages
...
Some providers automatically add messages sent via their outgoing
server to the Sent folder.
2018-09-04 18:05:03 +02:00
cketti
de73504be0
Merge pull request #3581 from k9mail/encryption_extractor_interface
...
Extract database schema creation + EncryptionExtractor interface
2018-09-04 15:44:25 +02:00
cketti
cda778e491
Remove unused method Message.clone()
2018-09-03 01:17:25 +02:00
cketti
a8f41118e3
Add interface for detection of encrypted messages
...
This includes some capabilities that are not currently used by K-9 Mail,
e.g. the ability to supply additional data to be inserted into the
database.
2018-09-03 00:57:41 +02:00
cketti
18bbd76783
Add a way to inject SchemaDefinition into LocalStore
2018-09-03 00:57:41 +02:00
cketti
83b6ab0620
Merge pull request #3570 from k9mail/mime_parameter_decoder
...
Add proper header parameter parser/decoder
2018-09-03 00:43:30 +02:00
cketti
24b2fbcc9d
Merge pull request #3592 from k9mail/remove_unnecessary_type_casts
...
[Cleanup] Remove unnecessary type casts
2018-09-03 00:42:39 +02:00
BO41
96be7af3f6
Remove unnecessary type casts
2018-09-03 00:31:12 +02:00
cketti
56882dc6c3
Fix unresolved references in Javadoc comments
2018-09-03 00:13:58 +02:00
BO41
c043eb0df4
Replace explicit type arguments with <>
2018-09-02 23:35:09 +02:00
cketti
ffd57c4e86
Merge pull request #3589 from k9mail/BO41_code_cleanup
...
[Cleanup] Improve accessibility, correctness and performance
2018-09-02 23:04:02 +02:00
BO41
f24cb76d9e
Improve accessibility, correctness and performance
2018-09-02 22:49:48 +02:00
cketti
ae76f07ada
Merge pull request #3588 from k9mail/simplify_if_statements
...
[Cleanup] Simplify if statements
2018-09-02 22:48:21 +02:00
BO41
86dde4dabf
Remove unused imports
2018-09-02 22:31:34 +02:00
BO41
dbea2cafa6
Simplify if statements
2018-09-02 22:27:28 +02:00
cketti
9c9c9d475f
Don't broadcast message details when message was removed
...
Turns out reading the message from the database after it has been
deleted doesn't work particularly well 🤦
2018-08-27 01:25:07 +02:00
cketti
5d98c15bce
Use MimeParameterEncoder and MimeParameterDecoder in MimeMessageHelper
2018-08-26 18:09:29 +02:00
cketti
5f7dac4556
Remove unwarranted usage of MimeUtility.unfoldAndDecode()
2018-08-26 17:18:22 +02:00
cketti
c8de3e6a18
Create ControllerExtension to allow accessing MessagingController internals
2018-08-17 18:22:53 +02:00
cketti
ea07d248df
Create MessagingController instance using Koin
2018-08-15 23:01:59 +02:00
M Madison Phillips
262e0840ba
Update address validator to conform to RFC 5321
2018-08-09 18:12:20 +02:00
cketti
02db5651aa
Add tests for K9BackendFolder.getMessageFlags()
2018-08-05 19:43:08 +02:00
cketti
880f00ac51
Extract code to decode flags column to separate function
2018-08-05 15:28:57 +02:00
morckx
229a0a03c9
Don't crash on empty flags
2018-08-05 14:50:47 +02:00
cketti
de61ec288c
Use local_only column in FolderRepository
2018-07-23 14:25:30 +02:00
cketti
ee777e62eb
Use local_only column for retrieving folders in K9BackendStorage
2018-07-23 14:25:30 +02:00
cketti
1f0f4285d2
Add support for local_only column to LocalFolder
2018-07-23 14:25:30 +02:00
cketti
f40e7378fb
Add 'local_only' column to folders table
2018-07-23 14:25:29 +02:00
cketti
c8da50f945
Merge pull request #3521 from k9mail/folder_list_sync
...
Move folder list sync logic into Backend implementations
2018-07-23 13:24:29 +02:00
cketti
91164e04ed
Make sure account display name is never null
2018-07-23 12:54:09 +02:00
cketti
de49c9d6c2
Move folder list sync logic into Backend implementations
2018-07-22 18:34:16 +02:00
cketti
dc785a8e92
Fix error handling when refreshing the folder list fails
2018-07-22 18:31:41 +02:00
cketti
87132562f8
Remove unused parameter
2018-07-22 18:31:41 +02:00