Commit graph

1591 commits

Author SHA1 Message Date
cketti
91ae94d432 Add FolderType support to (Local)Folder 2018-11-13 16:57:32 +01:00
cketti
fbf4f44876 Add 'type' column to 'folders' table 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
williamvds
88475015ef
Provide adaptive icons 2018-11-04 14:50:14 +00:00
williamvds
424b71cdfc
Move app icons to mipmap directories 2018-11-03 14:02:39 +00:00
cketti
acf6e7c041
Merge pull request #3623 from ByteHamster/main-settings-page
Added icons to main settings screen
2018-11-01 04:20:50 +01:00
ByteHamster
23d0ab78cb Added icons to main settings 2018-11-01 04:08:35 +01: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
cketti
387a668857 Fix item selection in drawer 2018-10-24 03:14:02 +02:00
cketti
a6040a90fc Don't mutate list of folders being passed to K9Drawer
When the same list is passed in again it will be reversed another time
and folders show up in the wrong order. This happens e.g. on orientation
changes.
2018-10-24 02:56:42 +02:00
cketti
edef1e16b5 Code cleanup and variable/field renaming 2018-10-24 02:52:06 +02:00
williamvds
02b253b0f1
Detect and select unified inbox in drawer 2018-10-21 13:31:58 +01:00
williamvds
58598c07cc
Add unified inbox to drawer 2018-10-21 13:09:00 +01:00
williamvds
e5a9580551
Add Settings to drawer 2018-10-21 11:18:56 +01:00
williamvds
d6daea3c12
Move drawer logic from MessageList into K9Drawer 2018-10-21 11:03:10 +01:00
cketti
a8d14c1dc7 Code cleanup 2018-10-18 22:01:10 +02:00
ByteHamster
b2c232e40a Search function for general settings 2018-10-18 20:57:43 +02: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
7e5fed9990 Only use FLAG_UPDATE_CURRENT when creating PendingIntents
Using FLAG_ONE_SHOT is asking for trouble because we have no checks in
place to guarantee PendingIntents aren't reused.
Same goes for FLAG_NO_CREATE. We used this in a couple of places where
we previously created a PendingIntent for a "device action" and then
tried to reuse that PendingIntent for a "Wear action". But in some cases
only a "Wear action" was created. So creating a PendingIntent with
FLAG_NO_CREATE returned null. As a result we got notifications with
action buttons that did nothing.
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
97c0d7d4e9
Merge pull request #3572 from k9mail/change_removed_broadcast
Don't broadcast message details when message was removed
2018-09-01 17:47:34 +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
721c97fe39 Make MessageLoaderHelper call callbacks on the main thread 2018-08-20 18:33:12 +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
33e74567c5 Don't crash when MessageCompose is started with no account configured 2018-08-15 03:55:00 +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
leggewie
ae38778ec1
allow installation to external media (micro SD)
This change will enable installation of the app to external as well as internal flash memory which is important for devices where internal memory is limited but external memory is cheap and abundant in form of micro SD cards. Thank you for your consideration.
2018-08-02 20:58:20 +08:00
cketti
da6eca639c Move file to correct location 2018-07-26 23:44:11 +02:00
cketti
28f0aa642b
Merge pull request #3524 from k9mail/local_only_folders_column
Add 'local_only' column to 'folders' table
2018-07-26 23:30:14 +02:00
cketti
9eefb0be40 Don't call Contacts.getPhotoUri() from main thread 2018-07-23 17:32:45 +02:00
cketti
79d6d79d1a Refactor ContactPictureLoader 2018-07-23 17:12:32 +02:00
cketti
e7bf621822 Get rid of FallbackGlideParams 2018-07-23 16:37:54 +02:00
cketti
f610be227b Add configured background color of fallback contact picture to cache key 2018-07-23 16:20:41 +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
5e9dfa3656
Merge pull request #3520 from k9mail/fix_backend_manager_cache
Only reuse Backend instances when server settings haven't changed
2018-07-22 13:33:15 +02:00
cketti
c91b482d30 Only reuse Backend instances when server settings haven't changed 2018-07-21 16:40:47 +02:00
cketti
4faf17fbf2 Use Koin for creating instances of ContactPictureLoader 2018-07-21 16:06:17 +02:00
cketti
9ada669e0b Convert ContactPictureLoader to Kotlin 2018-07-21 16:06:17 +02:00
cketti
2dd7d00f8d WIP: Renaming file 'ContactPictureLoader' with Kotlin extension 2018-07-21 16:06:17 +02:00
cketti
9f84e43541 Use Koin for dependency injection in contact picture loading classes 2018-07-21 16:06:17 +02:00
cketti
e814b5dca0 Extract code to draw fallback contact pictures to a separate class 2018-07-21 16:06:17 +02:00
cketti
c787845ebe Extract code to get a displayable contact letter to separate class 2018-07-21 16:06:17 +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
50e955d2da Remove default port information from ServerSettings.Type 2018-07-18 19:25:43 +02:00
cketti
902d959c10 Remove knowledge of transport URI from SmtpTransport 2018-07-17 21:53:30 +02:00
cketti
7ca3806c33 Remove knowledge of store URI from :mail:protocols:webdav module 2018-07-17 21:33:04 +02:00
cketti
9cb5c70e4b Remove knowledge of store URI from :mail:protocols:pop3 module 2018-07-17 20:39:18 +02:00
cketti
f046313d98 Remove knowledge of store URI from :mail:protocols:imap module 2018-07-17 20:39:18 +02:00
cketti
2b97211612 Remove WebDavStore.createUri/decodeUri 2018-07-17 20:39:18 +02:00
cketti
6758b6546e Remove Pop3Store.createUri/decodeUri 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
5fe780a828
Merge pull request #3497 from k9mail/send_functionality_in_backend
Add 'send message' functionality to Backend interface
2018-07-13 13:59:40 +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
3dcf1a59ba Add a click handler for the message list widget header 2018-07-08 23:10:03 +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
0d3bfe233b Move color resource from k9mail to ui module 2018-07-08 16:06:19 +02:00
cketti
87ac35ed68 Move unread widget styles to k9mail module 2018-07-08 16:06:19 +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
21220c41b5 Remove unused functionality from MessageInfoHolder 2018-07-01 00:32:31 +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
747afee433 Don't reference theme attribute in layout for home screen widget 2018-06-29 16:46:22 +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
cketti
5abb327027 Rename :k9mail module to :app:k9mail 2018-06-21 22:53:38 +02:00