Commit graph

187 commits

Author SHA1 Message Date
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
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
03f0fa9f0f Add 'outbox_state' table to database 2018-12-13 19:59:52 +01:00
Vincent Breitmoser
f7faccf5d9 extract persistence logic from Storage into StoragePersister 2018-12-10 13:06:52 +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
6276450c65 move loadAccount logic into AccountPreferenceSerializer 2018-11-29 18:22:12 +01:00
cketti
fbf4f44876 Add 'type' column to 'folders' table 2018-11-13 16:57:32 +01: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