Commit graph

1574 commits

Author SHA1 Message Date
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
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
63145dc7df Make the sticky footer play nice with swipe-to-refresh in the drawer 2020-05-31 12:12:40 +02:00
cketti
5fe23c407d
Merge pull request #4800 from k9mail/disable_minify_for_debug_builds
Disable minify for debug builds
2020-05-29 22:07:49 +02:00
cketti
19de9ff7b7
Merge pull request #4799 from k9mail/fix_local_outbox
Fix local outbox
2020-05-29 22:07:34 +02:00
cketti
607d650bea Disable minify for debug builds
Hopefully this will make debug builds faster.
2020-05-29 21:35:41 +02:00
cketti
8ffd7e9c20 Add database migration to correct Outbox 'server_id' value if necessary 2020-05-29 19:42:34 +02:00
cketti
25bdbe8a0d Use proper "server ID" when creating local Outbox folder 2020-05-29 19:32:36 +02:00
cketti
a2287ce31c Avoid NullPointerException when reading attachment 2020-05-29 12:40:17 +02:00
cketti
b9eba6971f Prepare for version 5.716 2020-05-27 02:01:47 +02:00
cketti
405b207449 Version 5.715 2020-05-27 01:24:35 +02:00
cketti
e57f4d4728
Merge pull request #4787 from k9mail/clean_up_apk
Exclude unnecessary files from APK
2020-05-27 01:23:56 +02:00
cketti
ccfbc6e8eb Exclude more things via packagingOptions 2020-05-27 00:42:38 +02:00
cketti
d94d39f160 Remove unnecessary dependencies from :app:autodiscovery:api 2020-05-26 20:05:13 +02:00
cketti
e3e132e5ef Update translations 2020-05-26 16:31:13 +02:00
cketti
43cf0d78a5 Merge pull request #4780
Use day of week in message list
2020-05-26 16:13:41 +02:00
Simon Tenbeitel
da350055c1 Use day of week in message list
Closes #4715
2020-05-26 16:07:55 +02:00
cketti
ca2c6b460c Allow using the new 'add account' screen during onboarding
To enable this add the following line to your global gradle.properties:

k9mail.useNewSetupUi=true
2020-05-22 02:14:20 +02:00
cketti
8c953c0907 Add a way to access the new setup UI in debug builds 2020-05-22 01:15:35 +02:00
cketti
543164e516 Add :app:ui:setup module for new setup UI 2020-05-22 01:15:35 +02:00
cketti
6bb407087e Move NavigationExtensions.kt to :app:ui:base 2020-05-21 22:14:29 +02:00
cketti
779f2a7b9a Move toolbar layout to :app:ui:base module 2020-05-21 22:00:43 +02:00
cketti
21c14c49bd Add :app:ui:base module and move K9Activity to it 2020-05-19 18:16:15 +02:00
cketti
dc82a53713 Rename :app:ui to :app:ui:legacy
The goal is to split this module into smaller, more focused modules.
2020-05-19 18:16:15 +02:00
cketti
633b843f16 Inject style resource IDs into ThemeManager via ThemeProvider 2020-05-19 18:16:15 +02:00
cketti
b2a99a8cb7 Convert 'K9Activity' to Kotlin 2020-05-19 18:16:15 +02:00
cketti
f2587d3f16 WIP: Renaming file 'K9Activity' with Kotlin extension 2020-05-19 18:16:15 +02:00
cketti
c0b9db4643
Merge pull request #4769 from k9mail/fix_special_local_folders
Fix special local folders
2020-05-19 18:15:43 +02:00
cketti
7638a4b5be
Merge pull request #4774 from k9mail/permissions
Move Android permission handling out of K9Activity
2020-05-19 00:39:12 +02:00
cketti
bb0b59dabc
Merge pull request #4772 from k9mail/fix_disable_encryption
Disable encryption when selecting "disable encryption" in dialog
2020-05-19 00:37:11 +02:00
Olivia Mackintosh
d5f82fd041 Split autodiscovery methods into gradle builds
This commit should be faily self-explainatory. It splits the
three autodiscovery methods into their own gradle builds so
they can be plugged in and out easily. This commit doesn't
necessarily make the latter possible though.

Dependency graph should look something like this now:

  app:ui
  \
   \app:autodiscovery:api
    |
    |\app:autodiscovery:providersxml
    |
    |\app:autodiscovery:srvrecords
    |
     \app:autodiscovery:thunderbird
2020-05-18 23:04:06 +01:00
cketti
f393c3a00f Move Android permission handling out of K9Activity 2020-05-18 20:44:43 +02:00
cketti
fee3f2e00c Disable encryption when selecting "disable encryption" in dialog 2020-05-17 20:40:41 +02:00
cketti
a6b3c69ba2
Merge pull request #4770 from k9mail/add_leakcanary
Add LeakCanary
2020-05-17 19:50:56 +02:00
Olivia Mackintosh
7c95e428c6 Allow ThunderbirdAutoconfig to return multiple in/out configs
In a similar fashion to SrvServiceDiscovery, this commit allows
ThunderbirdAutoconfig to only get the type of service needed
depending on DiscoveryTarget

Rename sorting Comparator to mailServicePriority
2020-05-17 18:44:36 +01:00
Olivia Mackintosh
76678057ad Replace deprecated RuntimeEnvironment.application 2020-05-17 18:44:36 +01:00
Olivia Mackintosh
cd2a89ebdb Make SrvServiceDiscovery cond. get in/out servers
SRV autodiscovery should only find either INCOMING; OUTGOING or
INCOMING_AND_OUTGOING services depending on the new DiscoveryTarget
enum
2020-05-17 18:44:36 +01:00
Olivia Mackintosh
4493d8c76e ConnectionSettingsDiscovery should return list of in/out settings
Creates a new data class: DiscoveryResults that holds a list of incoming
and outgoing DiscoveryServerSettings. This commit also creates a wrapper
for the currently used ProvidersXmlDiscovery to convert the new
DiscoveryResults object into ConnectionSettings.

In the future, this process will have a less-lazy algorithm that will be
smart enough to handle more than one incoming/outgoing server but this
commit assumes there are still one of each (by assertion).

Use enum to determine discovery target

Sort SrvServiceDiscovery results using pickMailService
2020-05-17 18:44:36 +01:00
Olivia Mackintosh
93c0d98419 Lay groundwork for optional in/out server discovery 2020-05-17 18:44:36 +01:00
cketti
ffe75e464f
Merge pull request #4762 from ByteHamster/pull-to-refresh-all
Add swipe to refresh to drawer
2020-05-16 21:17:53 +02:00
cketti
451a2b2d03 Add LeakCanary 2020-05-16 21:06:06 +02:00
ByteHamster
e6beeb1aed Refresh all accounts in unified inbox and account list 2020-05-16 17:50:18 +02:00
cketti
7a7d588b43 Clean up special local folders in database 2020-05-16 17:46:26 +02:00
cketti
c85b56828e Don't reset special local folders in SpecialFolderUpdater 2020-05-16 17:46:26 +02:00
cketti
35e5fceb0c Display localized names for special local folders 2020-05-15 19:56:44 +02:00
cketti
981e12965a Add isLocalOnly property to Folder 2020-05-15 19:55:26 +02:00
cketti
118450e31d Only create special local folders once
Previously special local folders were created every time the server
settings were checked. The folders weren't created when the server settings
check would encounter an error, e.g. if there was no internet connectivity,
but the user decided to continue anyway.
2020-05-15 18:14:54 +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
686ad00cd3 Tweak progress view position and swipe behavior in drawer 2020-05-14 15:07:07 +02:00
cketti
23fb90605c Prepare for version 5.715 2020-05-14 00:12:55 +02:00
cketti
842ee9ed2a Version 5.714 2020-05-13 23:50:45 +02:00
cketti
26563cc7d0
Merge pull request #4764 from k9mail/update_list_of_libraries
Update list of libraries in About screen
2020-05-13 23:44:37 +02:00
cketti
3770d51361
Merge pull request #4763 from k9mail/missing_folder
Make trying to open a non-existent folder a permanent error
2020-05-13 23:44:20 +02:00
cketti
1673b424da
Merge pull request #4760 from k9mail/do_not_close_drawer
Keep drawer open after selecting an account
2020-05-13 23:43:51 +02:00
ByteHamster
e1273e28b7 Added swipe to refresh to drawer 2020-05-13 17:48:01 +02:00
cketti
94df5a0c64 Update list of libraries in About screen 2020-05-13 17:36:11 +02:00
cketti
9100438b31 Make trying to open a non-existent folder a permanent error 2020-05-13 16:31:35 +02:00
cketti
f302179d3d
Merge pull request #4761 from ByteHamster/made-progressbar-easier-to-see
Made it easier to see progress bar
2020-05-13 14:43:52 +02:00
ByteHamster
8dd05862a7 Made it easier to see progress bar 2020-05-13 11:01:52 +02:00
cketti
d4d6600ef1 Keep drawer open after selecting an account 2020-05-13 01:14:11 +02:00
cketti
23e0ff0a11
Merge pull request #4750 from k9mail/remove_showcaseview
Replace ShowcaseView with SimpleHighlightView
2020-05-12 01:00:19 +02:00
cketti
28ee0a69e5 Replace ShowcaseView with SimpleHighlightView
It's ShowcaseView stripped of everything we don't need.
2020-05-12 00:44:39 +02:00
cketti
083b1c1066 Remove unused views from accounts_item layout 2020-05-09 21:20:34 +02:00
cketti
6a6e9d5f88
Merge pull request #4749 from k9mail/appcompat_drawables
Use AppCompat's 'srcCompat' attribute to reference drawables
2020-05-09 20:59:51 +02:00
Olivia Mackintosh
dfe2698453 Add detection of configuration based on SRV records (RFC6186) 2020-05-09 17:48:40 +02:00
cketti
f5eb16c844 Use AppCompat's 'srcCompat' attribute to reference drawables
This way AppCompat's VectorDrawable implementation will be used. It works
around a couple of platform bugs.
We can't use this mechanism in layouts that we don't inflate ourselves,
e.g. the message list widget layout.
2020-05-09 17:16:26 +02:00
cketti
5d6d64f00b Prepare for version 5.714 2020-05-08 23:24:34 +02:00
cketti
03369f3c27 Version 5.713 2020-05-08 23:18:57 +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
5a4a269926 Prepare for version 5.713 2020-05-08 15:03:49 +02:00
cketti
a236c35621 Version 5.712 2020-05-08 14:58:03 +02:00
cketti
b67ed99f24 Remove usage of java.time API 2020-05-08 14:32:51 +02:00
cketti
c966b7d49d Prepare for version 5.712 2020-05-08 11:07:03 +02:00
cketti
04e9714284 Version 5.711 2020-05-08 10:39:57 +02:00
cketti
b63929472b Update translations 2020-05-07 19:30:23 +02:00
cketti
e5c19a6f9f
Merge pull request #4734 from k9mail/fix_unread_widget
Fix unread widget
2020-05-07 19:11:16 +02:00
cketti
5857f18203 Fix displaying the folder name in unread widget title 2020-05-07 17:10:12 +02:00
cketti
d15bfab01c Rewrite unread widget configurations created by old app versions 2020-05-07 17:10:10 +02:00
cketti
8b5055ec40 Update unread widgets from a background thread 2020-05-07 11:36:08 +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
9ed54011ce Refactor MigrationTo75 2020-05-05 22:55:19 +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
af667131a9 Remove folderServerId from MessageListItem 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
8079ef89b4 Reset folder server IDs in Account 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
991cea06de Convert 'FolderInfoHolder' to Kotlin 2020-05-04 16:31:00 +02:00
cketti
61e4f5299e WIP: Renaming file 'FolderInfoHolder' with Kotlin extension 2020-05-04 16:31:00 +02:00
cketti
2da3fd8f2b Remove RESULT_SELECTED_FOLDER from ChooseFolderActivity 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
1eb2ce7454 Switch MessageListLoader to MessageReference.getFolderId() 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
7e3624063a Switch MessageViewFragment 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
53fdbeb74e Switch MessageListAdapter to MessageReference.getFolderId() 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
f1093a7633 Change ChooseFolderActivity to use folder ID for "current folder" 2020-05-04 16:30:59 +02:00
cketti
dde0ef9820 Change MessageProvider delete URI to use folder ID instead of server ID 2020-05-04 15:01:29 +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
a0d9b8be01 Make ChooseFolderActivity also return the folder ID of the selected folder 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
cketti
33d7b31ff9 Only show "clear local messages" in menu after data has been loaded 2020-05-04 11:30:44 +02:00
cketti
3bdda4eac1 Cleanup 2020-05-04 11:30:43 +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
c7ecd90817 Add the per-folder local message cleanup
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2020-05-03 21:06:47 +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
02049c5882 Create DraftsFolderProvider 2020-05-01 05:38:37 +02:00
cketti
82db38bd08 Create ImapStoreConfig 2020-05-01 05:30:34 +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
9acef0e9a0 Remove placeholder messages that have been kept accidentally in the past 2020-04-29 12:03:46 +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
c5e5b7b4f1 Add migration to rewrite pending commands to use folder IDs 2020-04-25 03:12:46 +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
60f4c60ae0 Prepare for version 5.711 2020-04-24 05:49:59 +02:00
cketti
fa8b8dbdc3 Version 5.710 2020-04-24 05:49:27 +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
c6b1ce503d
Merge pull request #4688 from cketti/keyboard_shortcuts
Remove keyboard shortcuts for menu items
2020-04-24 05:32:39 +02:00
cketti
632b2e9a12
Merge pull request #4687 from cketti/landscape_message_compose_keyboard
Don't use fullscreen keyboard in landscape mode
2020-04-24 05:31:59 +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
f9bbeec290
Merge pull request #4683 from k9mail/move_messages_cleanup
Remove local message if we can't get new server ID after moving/copying
2020-04-24 05:30:43 +02:00
cketti
a3bf389065 Properly handle <br> tag when converting HTML to plain text 2020-04-24 00:30:35 +02:00
cketti
dd1a1013ac Remove keyboard shortcuts for menu options 2020-04-23 21:50:49 +02:00
cketti
543498ce89 Only handle keyboard shortcuts when no modifier key has been pressed 2020-04-23 21:42:27 +02:00
cketti
3ef8521d08 Don't show extracted IME text UI
This is so the fullscreen keyboard isn't used in landscape mode.
2020-04-23 21:27:03 +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
f4b25ba55f Add index on message_parts.root 2020-04-23 01:52:57 +02:00
cketti
afcaf96f6d Convert 'Migrations' to Kotlin 2020-04-23 01:37:07 +02:00
cketti
f88629b322 WIP: Renaming file 'Migrations' with Kotlin extension 2020-04-23 01:31:25 +02:00
cketti
2530dea98a
Merge pull request #4674 from k9mail/cleanup
Remove unused code
2020-04-19 22:00:45 +02:00
cketti
d70564e423 Remove unused code 2020-04-18 19:51:48 +02:00
cketti
d30de2fa61 Add missing super calls to onActivityResult() 2020-04-18 18:58:47 +02:00
cketti
c8a2319699 Prepare for version 5.710 2020-04-18 18:00:29 +02:00
cketti
ec0ce5ed1d Version 5.709 2020-04-18 17:38:07 +02:00
cketti
9fdf396cb8
Merge pull request #4672 from k9mail/update_translations
Update translations
2020-04-18 16:36:30 +02:00
cketti
400afb6367
Merge pull request #4671 from k9mail/discard_unmodified_message
Don't mark draft as changed when setting 'always BCC' recipients
2020-04-18 16:35:02 +02:00
cketti
48e6f3702b
Merge pull request #4670 from k9mail/fix_edit_quote_button
Fix button to make quoted text editable
2020-04-18 16:33:20 +02:00
cketti
dfe09e8619
Merge pull request #4669 from k9mail/remove_unused_assets
Remove unused assets
2020-04-18 16:32:00 +02:00
cketti
58455abe4a Update translations 2020-04-18 00:14:04 +02:00
cketti
fc49fb9d67 Don't mark draft as changed when setting 'always BCC' recipients 2020-04-17 19:51:58 +02:00
cketti
560003234f Fix button to make quoted text editable 2020-04-17 18:15:16 +02:00
cketti
196b225a1d Remove unused assets 2020-04-16 00:06:14 +02:00
cketti
1ac7387e83 Upgrade to jsoup 1.13.1 2020-04-15 23:32:23 +02:00
cketti
ac9f4059f6 Upgrade to kotlinx-coroutines 1.3.5 2020-04-15 23:32:23 +02:00
cketti
2e640de324 Upgrade to AndroidX Preference 1.1.1 2020-04-15 23:32:23 +02:00
cketti
65f162299a Upgrade to CircleImageView 3.1.0 2020-04-15 23:32:23 +02:00
cketti
bfca413cab Upgrade to Groupie 2.8.0 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
bdb501b80d Remove saved folder settings 2020-04-12 20:53:44 +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
a44732ee38 Remove FolderClass.NONE
Rewrite entries in the database to use FolderClass.NO_CLASS
2020-04-08 19:33:03 +02:00
cketti
de2f0a37ef Create local folders with FolderClass.NO_CLASS 2020-04-08 18:58:45 +02:00
cketti
308917e6fd
Merge pull request #4649 from k9mail/folder_database_id
Make "manage folders" screens use database ID to refer to folders
2020-04-08 18:33:00 +02:00
cketti
fb4ebf7acb
Merge pull request #4645 from k9mail/message_view_attachment_boxes
Change appearance of attachment boxes in message view screen
2020-04-08 18:11:06 +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
c0a949fe08 Remove old database migrations
By doing so we now only support upgrading without data loss from
K-9 Mail versions 5.301 (released 2017-10-15) and newer.
2020-04-07 22:34:30 +02:00
cketti
084396c369 Refresh image preview when attachment has been downloaded 2020-04-07 15:33:59 +02:00
cketti
ae0606b5dc Change appearance of attachment boxes in message view screen 2020-04-07 15:33:59 +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
61f3f06ba7
Merge pull request #4641 from k9mail/remove_old_push_code
Remove old push code
2020-04-06 19:21:53 +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
59630fb13b Change appearance of attachment boxes in message compose screen 2020-04-05 03:40:24 +02:00
cketti
e46c5bd966 Don't crash when startActivityForResult() throws 2020-04-03 23:53:16 +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
89fc8b966d Prepare for version 5.709 2020-03-20 00:28:23 +01:00
cketti
b558dc855f Version 5.708 2020-03-20 00:02:38 +01:00
cketti
6c508e339a Add "edit as new message" action to message view 2020-03-19 20:49:58 +01:00
cketti
2bb57e6b0e
Merge pull request #4618 from k9mail/fix_address_autocomplete
Fix address auto-complete when composing messages
2020-03-19 20:15:31 +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
06ea59d816 Don't check for WRITE_CONTACTS permission in RecipientLoader 2020-03-19 16:57:57 +01:00
cketti
5bdc8cc5f1 Click on contact picture (de)selects a message 2020-03-18 17:54:16 +01:00
cketti
86c3af8892 Use CircleImageView instead of ContactBadge view in message list 2020-03-17 19:19:37 +01:00
cketti
fa97981282 Clean up message flag listener in message list 2020-03-17 01:19:51 +01:00
cketti
19310314c5 Remove unused "Gestures" setting and unused code 2020-03-15 17:22:09 +01:00
cketti
e461f734eb
Merge pull request #4611 from k9mail/fix_theme_issue
Never follow system theme on Android versions prior to Android 9
2020-03-15 17:08:52 +01:00
cketti
035dd848ca Never follow system theme on Android versions prior to Android 9 2020-03-15 02:09:27 +01:00
cketti
0961e330c9 Long-press on message list item (de)selects a message 2020-03-14 18:55:05 +01:00
cketti
fa45a11858 Don't show context menu when long-pressing message list item 2020-03-14 18:43:00 +01:00
cketti
09f6fa5943 Remove K9PreferenceActivity 2020-03-12 03:55:16 +01:00
cketti
84558bd2d7 Add UnreadWidgetConfigurationFragment 2020-03-12 03:54:26 +01:00
cketti
c4ab630161 Remove 'androidTest' tests
We don't regularly run them and most of them don't even compile anymore.
2020-03-11 18:01:41 +01:00
cketti
0ee6592b0b Change code to resolve theme attributes
This way doesn't produce Lint errors.
2020-03-10 21:57:34 +01:00
cketti
33282c0895 Prepare for version 5.708 2020-03-06 15:57:27 +01:00
cketti
9909e8f290 Version 5.707 2020-03-06 15:50:07 +01:00
cketti
17967c1af9
Merge pull request #4590 from k9mail/integrate_font_size_settings
Integrate font size settings into general_settings.xml
2020-03-06 15:45:48 +01:00
cketti
3a4d170755 Integrate font size settings into general_settings.xml 2020-03-05 15:19:17 +01:00
cketti
0e13c58550 Extract 'folder settings' screen to FolderSettingsFragment 2020-03-04 21:49:10 +01:00
cketti
1bd52ae417 Extract 'manage folders' screen to ManageFoldersFragment 2020-03-04 17:19:26 +01:00
cketti
0e1804ff3e Remove keyboard bindings from ManageFoldersActivity 2020-03-04 16:30:01 +01:00
cketti
2cf4274700 Remove "compact account" from 'Manage folders' screen 2020-03-04 16:28:29 +01:00
cketti
b9803cefad
Merge pull request #4588 from k9mail/update_koin
Update Koin to 2.1.1
2020-03-04 16:00:17 +01:00
cketti
66ac63500a
Merge pull request #4587 from k9mail/fix_ghost_message_list
Fix another ghost message list bug
2020-03-04 15:59:48 +01:00
cketti
00086bd15e Update Koin to 2.1.1 2020-03-04 14:39:30 +01:00
cketti
c87af0e391 Try to avoid introducing "ghost message list" bugs in the future 2020-03-04 13:36:23 +01:00
cketti
44d3932651 Fix another ghost message list bug
When using the back button only open the default folder when the back stack
is empty.
2020-03-04 13:36:00 +01:00
cketti
c1af18fb69 Add missing methods to AppCompatPreferenceActivity 2020-03-04 04:40:30 +01:00
cketti
9d536163e0 Prepare for version 5.707 2020-03-03 19:46:54 +01:00
cketti
d83d63663d Version 5.706 2020-03-03 19:27:11 +01:00
cketti
93fccaf0c3
Merge pull request #4583 from k9mail/whats_new_dialog
Remove "What's new" dialog from MessageList
2020-03-03 19:03:19 +01:00
cketti
f353c9db96
Merge pull request #4581 from k9mail/back_button_opens_default_folder
Back button opens default folder
2020-03-03 19:03:02 +01:00
cketti
b23251f0e2
Merge pull request #4580 from k9mail/default_to_unified_inbox
Open Unified Inbox by default
2020-03-03 19:01:01 +01:00
cketti
485e1bd589
Merge pull request #4578 from k9mail/update_translations
Update translations
2020-03-03 18:57:45 +01:00
cketti
c041a2e0ef
Merge pull request #4577 from k9mail/message_compose_expanding_text
Fix bug where EditText for message body wasn't growing properly
2020-03-03 18:57:00 +01:00
cketti
325d9a1cc3 Remove "What's new" dialog from MessageList
See #4517
2020-03-03 15:03:50 +01:00
cketti
90f7703773 Back button opens default folder 2020-03-03 14:54:46 +01:00
cketti
26571af2d0 Open Unified Inbox by default 2020-03-02 18:50:27 +01:00
cketti
5eceb0d682 Update translations 2020-03-02 16:28:02 +01:00
cketti
6bcc419e4e Fix bug where EditText for message body wasn't growing properly 2020-03-02 16:09:33 +01:00
cketti
e8d297a8fa Keep read position when switching apps
The bug seems to have been caused by a behavior change in LoaderManager.
Previously, onLoadFinished() wasn't called when the Loader returned the
same object as before. We now emulate this behavior by adding our own
checks.
2020-03-02 15:51:08 +01:00
cketti
916015b1f0 Convert 'MimeHeader' to Kotlin 2020-02-29 21:29:46 +01:00
cketti
2a8d094343 JMAP: Add support for uploading messages 2020-02-25 19:00:18 +01:00
cketti
b1c6a55115 Fix "Bcc all messages to" when switching accounts 2020-02-22 22:28:32 +01:00
cketti
085332896e
Merge pull request #4556 from ByteHamster/metrics-opt-out
Opt out of WebView metrics
2020-02-21 15:07:15 +01:00
ByteHamster
f8cf52a59c Opt out of WebView metrics 2020-02-20 21:58:26 +01:00
Maurizio Pasquinelli
34373622ac Fix overlapping bcc and date 2020-02-19 19:57:39 +01:00
cketti
a2f1487ba5 JMAP: Add support for deleting messages 2020-02-18 16:47:33 +01:00
cketti
84aebf1037
Merge pull request #4533 from k9mail/jmap_message_sync
Add JMAP message sync (part 2) - delta sync
2020-02-16 18:59:52 +01:00
cketti
520eb13dc0
Merge pull request #4536 from k9mail/fix_memory_leaks
Fix some Activity leaks
2020-02-16 18:38:29 +01:00
cketti
ce7b59addf Clean up code in K9WebViewClient 2020-02-16 18:21:31 +01:00
FliegendeWurst
1a413e4a5c
Never open external links in our WebView (API level < 24) 2020-02-16 14:44:55 +01:00
cketti
d85e581485 Don't use GeneralSettingsDataStore as singleton
It holds a reference to the Activity that it was last used from.
2020-02-14 02:25:57 +01:00
cketti
b78c2e295e Add JMAP message sync (part 2) - delta sync 2020-02-14 00:16:34 +01:00
cketti
5dce1101ed
Merge pull request #4531 from k9mail/more_messages_ui_update
Don't load 'hasMoreMessages' data in main thread
2020-02-14 00:16:14 +01:00
cketti
caa7b6d797 Don't load 'hasMoreMessages' data in main thread 2020-02-12 23:22:57 +01:00
cketti
6768e74fc2 Be a bit more selective on which StrictMode warnings we enable 2020-02-12 22:27:13 +01:00
cketti
20e239f68e
Merge pull request #4529 from k9mail/jmap_message_sync
Add JMAP message sync (part 1)
2020-02-12 19:51:18 +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