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
cketti
b35074315c
Merge pull request #3519 from k9mail/add_folder_extra_values
...
Allow backend code to store additional per-account and per-folder data
2018-07-22 18:21:51 +02:00
cketti
5104780468
Update BackendStorage to allow getting/setting extra values
2018-07-22 18:06:21 +02:00
cketti
e56b03d7bc
Create account_extra_values table
2018-07-22 18:06:21 +02:00
cketti
c91b482d30
Only reuse Backend instances when server settings haven't changed
2018-07-21 16:40:47 +02:00
ByteHamster
4ecb0d14e4
Cache contact names
2018-07-19 16:21:01 +02:00
cketti
0af83029cc
Change ServerSettings#type to a String
2018-07-19 12:40:57 +02:00
cketti
f046313d98
Remove knowledge of store URI from :mail:protocols:imap module
2018-07-17 20:39:18 +02:00
cketti
4e22b1c509
Remove ImapStore.createUri/decodeUri
2018-07-17 20:39:18 +02:00
cketti
fe8477cd9b
Make k9mail module specify which Backend implementations to include
2018-07-15 20:45:05 +02:00
cketti
ec9ba959f8
Remove TransportUris
2018-07-15 20:08:11 +02:00
cketti
e4b6175c45
Remove RemoteStoreManager
2018-07-15 18:36:49 +02:00
cketti
6bb8805aa9
Update BackendFolder to allow getting/setting extra folder values
2018-07-15 15:29:52 +02:00
cketti
4a0b761867
Create folder_extra_values table
2018-07-15 15:12:25 +02:00
cketti
60bfe335aa
Make Autocrypt code use MessagingController instead of TransportProvider
...
This also allows us to get rid of TransportProvider.
2018-07-11 20:15:00 +02:00
cketti
e2c09e4155
Make account setup code use Backend to check outgoing server settings
2018-07-11 19:57:51 +02:00
cketti
a63fcfd7fc
Rename Backend.checkServerSettings() to checkIncomingServerSettings()
2018-07-11 19:45:18 +02:00
cketti
6e18375d19
Add send message functionality to Backend interface
2018-07-11 19:41:13 +02:00
cketti
b6f59f40e1
Move erroneously moved XML resources from ui module back to core module
2018-07-08 18:36:37 +02:00
cketti
f6713ea55a
Clean up modules' dependencies
2018-07-08 16:06:19 +02:00
cketti
f63b4097a1
Remove core module's dependency on HoloColorPicker
2018-07-08 16:06:19 +02:00
cketti
228bba0bf1
Move almost all Android resources from core module to ui module
2018-07-08 00:58:59 +02:00
cketti
89c5b6d656
Remove string references from database migrations
2018-07-08 00:41:27 +02:00
cketti
5edccbec0c
Remove string references from IdentitySettings
2018-07-08 00:23:30 +02:00
cketti
c73719fa86
Create separate resource files for settings values
2018-07-08 00:15:39 +02:00
cketti
408f725b61
Remove string references from SearchAccount
2018-07-07 19:09:31 +02:00
cketti
c0d0a437c8
Remove string references from TextQuoteCreator
2018-07-07 18:38:00 +02:00
cketti
cfa6e678cb
Remove string references from HtmlQuoteCreator
2018-07-07 18:22:28 +02:00
cketti
b2a11c6136
Remove string references from MessageBuilder classes
2018-07-07 18:12:50 +02:00
cketti
c6b804f0f5
Remove string references from MessageViewInfoExtractor
2018-07-07 00:09:03 +02:00
cketti
5393404513
Remove Android resource references from MessageHelper
2018-07-06 23:41:03 +02:00
cketti
c44bdfbb7b
Remove Android resource references from StorageManager
2018-07-06 23:27:27 +02:00
cketti
87d0e05a92
Move helper classes to ui module
2018-07-06 17:24:16 +02:00
cketti
63142f222a
Remove Android resource references from MessagingController
2018-07-06 17:13:01 +02:00
cketti
a4e8046217
Remove Android resource references from AutocryptTransferMessageCreator
2018-07-06 16:50:47 +02:00
cketti
548f908d7c
Remove Android resource references from K9
2018-07-06 16:41:36 +02:00
cketti
de2b99a066
Remove all string references from Account
2018-07-06 02:02:57 +02:00
cketti
ae6c8edf01
Remove string references from Account.SortType
2018-07-05 22:57:45 +02:00
cketti
bfd46acc9f
Create NotificationResourceProvider to inject Android resources
2018-07-05 13:49:59 +02:00
cketti
154ffc51f6
Change DeviceNotifications to use dependency injection
2018-07-04 19:37:39 +02:00
cketti
1854191290
Change NewMailNotifications to use dependency injection
2018-07-04 19:26:08 +02:00
cketti
46f7b6e008
Change NotificationController to use dependency injection
2018-07-04 19:26:08 +02:00
cketti
6640b91a96
Move common code from NotificationController to NotificationHelper
2018-07-04 19:26:08 +02:00
cketti
c195e46222
Provide NotificationController via dependency injection
2018-07-04 18:20:58 +02:00
cketti
f2b3f5b7cb
Remove unused method parameters
2018-07-04 17:59:35 +02:00
cketti
b46594fed4
Move UI code to ui module
2018-07-02 16:19:21 +02:00
cketti
0403523fab
Remove Account's dependency on CheckDirection
2018-07-01 18:49:22 +02:00
cketti
f16b65edd6
Create Attachment interface for MessageBuilder
2018-07-01 18:49:22 +02:00
cketti
4f4918c39b
Move MessageCryptoAnnotations to a different package
2018-07-01 18:46:17 +02:00
cketti
a2cf5a08c1
Remove PgpMessageBuilder's dependency on ComposeCryptoStatus
2018-07-01 18:46:02 +02:00
cketti
a02a5d5f03
Remove LocalFolder's dependency on the Search Activity
2018-07-01 01:23:46 +02:00
cketti
ac3cb66ce6
Move ContactPicture to different package
2018-07-01 01:04:09 +02:00
cketti
b30c2f7811
Remove Utility's dependency on ContactBadge
2018-07-01 01:03:38 +02:00
cketti
d5437270a6
Move MessageInfoHolder to k9mail module
2018-07-01 00:25:59 +02:00
cketti
aa32778e55
Remove Core's dependency on MessageCompose
2018-06-30 22:08:02 +02:00
cketti
f284664f01
Remove ColorChip functionality that isn't used
2018-06-30 21:34:20 +02:00
cketti
c5d1d12e94
Extract ColorChip creation code to ColorChipProvider
2018-06-30 21:26:24 +02:00
cketti
bd0449c48a
Move K9ChooserTargetService to k9mail module
2018-06-30 20:47:23 +02:00
cketti
0747387948
Remove dependency on AccountSetupCheckSettings.CheckDirection
2018-06-30 20:23:06 +02:00
cketti
d7ab91afa5
Remove unnecessary dependency on ActivityListener
2018-06-30 20:21:09 +02:00
cketti
314ffe5a37
Move MessageReference to a different package
2018-06-30 19:57:13 +02:00
cketti
0dd464d9ad
Merge pull request #3478 from k9mail/decouple_notification_code
...
Decouple notification code from Activities
2018-06-30 19:37:12 +02:00
cketti
ede38b517d
Merge pull request #3477 from k9mail/move_to_k9mail_module
...
Move interface for third-party apps to k9mail module
2018-06-30 19:23:43 +02:00
cketti
1ac3c3a5eb
Move K9NotificationActionCreator to k9mail module
2018-06-30 13:48:14 +02:00
cketti
dfad1d1662
Make NotificationActionCreator an interface
2018-06-30 13:29:48 +02:00
cketti
98ce08bb79
Make NotificationActionCreator the only class referencing activities
2018-06-30 13:19:55 +02:00
cketti
1f7d3ee307
Move MessageProvider to k9mail module
2018-06-30 12:36:39 +02:00
cketti
9dd3567c64
Move remote control functionality to k9mail module
2018-06-30 12:35:29 +02:00
cketti
f72cc7cc97
Merge pull request #3475 from k9mail/move_to_k9mail_module
...
Move home screen widgets to k9mail module
2018-06-30 12:19:29 +02:00
cketti
c1a5a60cf1
Merge pull request #3468 from k9mail/fix_quiet_time
...
Fix "Disable notifications" during Quiet Time
2018-06-29 17:04:07 +02:00
cketti
9bb9e338f3
Move unread widget to :app:k9mail
2018-06-29 16:31:39 +02:00
cketti
71c79595c9
Move UnreadWidgetProvider to widget.unread package
2018-06-24 01:26:00 +02:00
cketti
9319d36d24
Move message list widget code to :app:k9mail
2018-06-24 01:21:57 +02:00
cketti
c757bf1076
Fix quiet time support when checking whether to notify for new messages
2018-06-24 00:08:29 +02:00
cketti
93eb2dbd9b
Fix logic bug when saving "disable notifications during quiet time"
2018-06-24 00:06:11 +02:00
Hicham Boushaba
4fc74a907a
Add unit tests for EmailAddressValidator
2018-06-23 21:40:23 +02:00
Hicham Boushaba
f994562b47
Validate hostname part of email address according to rfc2396
2018-06-23 21:38:34 +02:00
Hicham Boushaba
fe0e55f49c
Convert EmailAddressValidator to kotlin
2018-06-23 21:37:32 +02:00
cketti
644cff6d28
Create Application class in :app:k9mail module
...
This also moves the code to send broadcast Intents for external apps
to the :app:k9mail module.
2018-06-23 21:13:02 +02:00
cketti
89ae84e693
Move functionality from classes DI and K9 to new Core class
2018-06-23 01:46:18 +02:00
cketti
e0abd9e07f
Get rid of K9.app
2018-06-23 01:46:18 +02:00
cketti
d64e4b9a5c
Get rid of Globals class
2018-06-23 01:46:18 +02:00
cketti
02c0b605d5
Move all code to :app:core Gradle module
...
The idea is to later move the UI code back to the :app:k9mail module.
For now there are too many references from the "core" code to UI
components.
2018-06-22 02:09:10 +02:00