cketti
e05bc461b5
Re-implement copy message functionality in MessageStore
...
Instead of loading a message into memory and then saving it to the new folder the new code copies the database entries and data files.
2021-04-23 22:28:40 +02:00
cketti
9ef105d74f
Merge pull request #5267 from k9mail/update_dependencies
2021-04-22 18:37:38 +02:00
cketti
5444d8be3a
Remove explicit dependency on Kotlin's standard library
2021-04-22 03:54:15 +02:00
cketti
632d8f3cb7
Upgrade Mockito-Kotlin to 3.1.0
2021-04-22 03:54:15 +02:00
cketti
105d55a303
Remove unnecessary code to update thread entry
2021-04-22 03:43:00 +02:00
cketti
4573b5d001
Clean up ThreadInfo
2021-04-22 03:33:32 +02:00
cketti
813cc4eec2
Remove unused ThreadInfo.messageIdHeader
2021-04-22 03:17:48 +02:00
cketti
826e4a470e
Various message threading fixes
2021-04-21 20:44:47 +02:00
cketti
c43f27a9ff
Merge pull request #5259 from k9mail/save_messages
2021-04-20 21:23:47 +02:00
cketti
903babe917
Save drafts using MessageStore
2021-04-17 23:26:46 +02:00
cketti
f58860f8bb
Merge pull request #5257 from k9mail/save_messages
...
Split Backend.fetchMessage() into two methods
2021-04-17 21:45:00 +02:00
cketti
127e311385
Change FolderDetailsAccessor to better support local folders
...
For "local-only" folders the server ID column in the database is NULL.
2021-04-17 17:54:25 +02:00
plan3d
27e6dc9d84
Issue #5249 : Fixed NPE in folder settings of outbox folder
2021-04-17 10:12:54 +02:00
cketti
428ae60a58
Split Backend.fetchMessage() into two methods
...
The two new methods now also save the downloaded message data instead of returning a Message instance.
MessageStore.saveRemoteMessage() will now replace a message if it already exists.
2021-04-17 00:04:58 +02:00
cketti
289744ec24
Change key/value functions in K9BackendFolder to use MessageStore
2021-04-15 01:51:54 +02:00
cketti
cf51883637
Change K9BackendFolder.getOldestMessageDate() to use MessageStore
2021-04-15 01:51:52 +02:00
cketti
4e4babeea6
Change K9BackendFolder.saveMessage() to use MessageStore
2021-04-15 01:19:18 +02:00
cketti
78e616ed37
Remove ThreadMessageOperations' dependency on LocalStore
2021-04-13 17:43:24 +02:00
cketti
923b0308b4
Change K9BackendFolder.setMessageFlag() to use MessageStore
2021-04-09 03:08:25 +02:00
cketti
c20de077d9
Change K9BackendFolder.getMessageFlags() to use MessageStore
2021-04-09 02:24:02 +02:00
cketti
c17db2cb94
Change K9BackendFolder.isMessagePresent() to use MessageStore
2021-04-09 02:00:10 +02:00
cketti
d52b4511fe
Change K9BackendFolder.setStatus() to use MessageStore
2021-04-08 21:33:25 +02:00
cketti
e7b764e6e8
Change K9BackendFolder.setLastChecked() to use MessageStore
2021-04-08 21:28:05 +02:00
cketti
cbb5825d03
Change K9BackendFolder.setMoreMessages() to use MessageStore
2021-04-08 21:23:48 +02:00
cketti
7dc4b6dd71
Change K9BackendFolder.getMoreMessages() to use MessageStore
2021-04-08 21:12:01 +02:00
cketti
3a86cc632e
Update 'delete_message' trigger to delete entries in 'threads' table
2021-04-08 20:27:03 +02:00
cketti
cf9037a513
Add code to delete messages to MessageStore
2021-04-08 20:27:03 +02:00
cketti
9d4d7f0352
Move code to get message server IDs and dates from K9BackendFolder to MessageStore
2021-04-07 20:39:19 +02:00
cketti
484db5730d
Move code to get message server IDs from K9BackendFolder to MessageStore
2021-04-07 20:23:54 +02:00
cketti
102fbc690f
Move code to get highest message UID from K9BackendFolder to MessageStore
2021-04-07 20:23:52 +02:00
cketti
2e6b5710be
Move code to retrieve folder details from K9BackendFolder to MessageStore
2021-04-07 17:21:40 +02:00
cketti
6373d0249f
Move delete folder code from K9BackendStorage to MessageStore
2021-04-06 22:17:38 +02:00
cketti
59b8ead290
Move create/update folder code from K9BackendStorage to MessageStore
2021-04-03 18:35:29 +02:00
cketti
9932ed3b68
Move "extra values" code from K9BackendStorage to MessageStore
2021-04-03 17:48:43 +02:00
cketti
9c257685a3
Move more code from FolderRepository to MessageStore
2021-04-03 02:32:13 +02:00
cketti
e2bc68e0ac
Move FolderRepository.updateFolderDetails() to MessageStore.updateFolderSettings()
2021-04-03 00:23:11 +02:00
cketti
796d22a132
Move FolderRepository.getFolderId() to MessageStore
2021-04-02 06:12:09 +02:00
cketti
392ae3eb3c
Move FolderRepository.getDisplayFolders() to MessageStore
2021-04-02 05:52:57 +02:00
cketti
05543214e5
Move more code from FolderRepository to MessageStore
2021-04-02 01:26:12 +02:00
cketti
0250736cf5
Move code to read a single folder from FolderRepository to MessageStore
2021-04-02 00:27:02 +02:00
cketti
24f55ee03e
Add test for RetrieveMessageOperations.getHeaders()
2021-04-01 01:32:46 +02:00
cketti
e76082568d
Move code from MessageRepository to MessageStore
2021-03-31 23:03:46 +02:00
cketti
dc93335100
Move old migration code from 'K9' to storage module
2021-03-24 16:28:07 +01:00
cketti
e601d866c3
Don't violate ServerSetting's nullability constraints when decoding store URIs
2021-02-11 13:24:40 +01:00
cketti
ddabe3a238
Rewrite stored value from "hideSpecialAccounts" to "showUnifiedInbox"
2021-02-07 15:45:14 +01:00
cketti
1f2404557b
Migrate storeUri/transportUri to new server settings format
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
ad2c37d343
Fix ThreadInfo to allow messageIdHeader being null
2020-10-25 16:48:31 +01: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
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
0fb0de1bb2
Add database migration to clear 'server_id' column of local folders
2020-06-13 02:02:56 +02:00
cketti
8ffd7e9c20
Add database migration to correct Outbox 'server_id' value if necessary
2020-05-29 19:42:34 +02:00
cketti
7a7d588b43
Clean up special local folders in database
2020-05-16 17:46:26 +02:00
cketti
9ed54011ce
Refactor MigrationTo75
2020-05-05 22:55:19 +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
8079ef89b4
Reset folder server IDs in Account
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
789769ef39
Replace Account.getOutboxFolder() with Account.getOutboxFolderId()
2020-05-04 16:31:00 +02:00
cketti
9acef0e9a0
Remove placeholder messages that have been kept accidentally in the past
2020-04-29 12:03:46 +02:00
cketti
c5e5b7b4f1
Add migration to rewrite pending commands to use folder IDs
2020-04-25 03:12:46 +02:00
cketti
cc1002eeb4
Use folder database ID for PendingSetFlag
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
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
3b19d53a0e
Convert old value for message view content font size to new format
2020-04-13 16:44:22 +02:00
cketti
bdb501b80d
Remove saved folder settings
2020-04-12 20:53:44 +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
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
eed9daa020
Remove Push state from database
2020-04-06 04:19:29 +02:00
cketti
54bf442259
Rename outdated PendingMoveOrCopy factory method to createLegacy()
2020-01-26 00:47:23 +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
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
5f9999e173
Change LocalFolder to no longer extend Folder
2020-01-09 14:08:41 +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
9655216606
Update to Koin 2.0.1
2019-11-20 15:38:11 +01:00
cketti
57ff989edd
Add kotlinOptions.jvmTarget to Gradle projects using Kotlin
2019-11-17 14:45:05 +01:00
cketti
dd0c25d9f5
Rewrite "poll folders" settings to include "push folders"
2019-11-15 03:17:44 +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
c8a8d0c669
Merge pull request #4115 from ByteHamster/developer-mode
...
Using K9.DEVELOPER_MODE in more places
2019-07-19 17:18:32 +02:00
ByteHamster
52f61659fe
Using K9.DEVELOPER_MODE in more places
2019-07-19 13:49:44 +02:00
cketti
52cb690da6
Throw exception when a database downgrade situation is encountered
2019-07-18 15:38:15 +02:00
cketti
e7adf0b5ef
Add migration to rewrite theme setting from LIGHT to FOLLOW_SYSTEM
2019-05-28 02:41:48 +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
21f36e73c8
Migrate old pending commands for deleting messages to new format
2019-03-11 02:22:11 +01:00
cketti
47deb4e5ba
Switch to androidx artifacts
2019-02-09 22:08:25 +01:00
cketti
9d9d46868f
Clean up LocalFolder.delete()
2019-01-10 00:15:35 +01:00
cketti
d27180f55c
Rename LocalFolder.delete() to deleteSettings()
2019-01-10 00:02:17 +01:00
Wiktor Kwapisiewicz
7d3ba67380
Add migration to cap minimum sync frequency to 15m
...
This change ensures that upgrading from older version of K-9 would not
set the frequency to unsupported value (below 15 minutes).
2018-12-20 20:56:11 +01:00
cketti
4da4544264
Remove custom whenever() helper for Mockito
2018-12-20 18:26:12 +01:00