Commit graph

942 commits

Author SHA1 Message Date
cketti
4815a2f1a4 Fix crash when launching 'LauncherShortcuts' with unexpected action 2019-08-15 15:51:44 +02:00
cketti
4e12589656 Don't use AbsoluteSizeSpan when default font size is configured 2019-08-15 02:50:21 +02:00
cketti
26c7c76395 Remove setting for message list check boxes 2019-08-15 02:10:46 +02:00
cketti
f919a84ab9 Remove selection check box from message list 2019-08-15 02:10:46 +02:00
cketti
168e090846
Merge pull request #4154 from k9mail/MessageListAdapter_tests
Add some tests for MessageListAdapter
2019-08-15 01:05:35 +02:00
cketti
731dc7e948 Add tests for MessageListAdapter 2019-08-15 00:38:06 +02:00
cketti
836632d966
Merge pull request #4148 from bhm/feature/decouple-message-viewholder
View finding logic for MessageViewHolder
2019-08-12 02:51:45 +02:00
Jacek Kuzniarski
8c8c3a3a30 Change MessageViewHolder::contactBadge processing to achieve fully non nullable properties 2019-08-10 17:22:37 +02:00
Jacek Kuzniarski
d01c75774c Change MessageViewHolder::contactBadge to val 2019-08-10 17:20:47 +02:00
Jacek Kuzniarski
75db15ebbd Move MessageViewHolder::flagged to Androidx::isVisible 2019-08-10 17:19:11 +02:00
Jacek Kuzniarski
3fc5d0e424 Convert MessageViewHolder to Kotlin 2019-08-10 17:18:01 +02:00
Jacek Kuzniarski
cf2c67efde Renaming file 'MessageViewHolder' with Kotlin extension 2019-08-08 20:36:07 +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
fd9324ca46
Merge pull request #4143 from bhm/feature/message-list-appearance
Add MessageListAppearance data class
2019-08-06 19:48:23 +02:00
Jacek Kuzniarski
470cf2f38b Decouple MessageListAdapter further from K9 class dependency 2019-08-06 08:45:25 +02:00
Jacek Kuzniarski
f9faa6d446 Add MessageListAppearance data class 2019-08-05 18:03:37 +02:00
cketti
261f404275
Merge pull request #4142 from k9mail/settingsimporter_password
Return additional information on settings import
2019-08-05 16:37:53 +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
2fe416b300
Merge pull request #4140 from k9mail/MessageListAdapter_refactoring
MessageListAdapter refactoring
2019-08-05 14:30:14 +02:00
cketti
c10e835e37 Return whether or not settings file included server passwords 2019-08-04 19:59:01 +02:00
cketti
766a13a5d9
Merge pull request #4128 from rspencer01/default-no-grey-unread
Change default to not set unread email backround grey
2019-08-03 22:14:11 +02:00
cketti
be00110fdd
Merge pull request #4124 from k9mail/message_list_stars
Use Material Design icons for star in message list (and message view)
2019-08-03 21:45:27 +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
Jacek Kuzniarski
b0b69cc7dd Remove hungarian notation from MessageListAdapter 2019-08-03 21:13:40 +02:00
Jacek Kuzniarski
0229513977 Decouple MessageViewHolder from MessageListFragment
This removes the dependency of MessageListAdapter to MessageListFragment
2019-08-03 21:13:40 +02:00
Jacek Kuzniarski
10b80ae231 Decouple MessageListAdapter from MessageListFragment.getAccountFromCursor() 2019-08-03 21:13:40 +02:00
Jacek Kuzniarski
c832c6f11c Decouple MessageListAdapter from MessageListFragment.selected 2019-08-03 21:13:20 +02:00
Jacek Kuzniarski
7dc6019025 Decouple MessageListAdapter from MessageListFragment.uniqueIdColumn 2019-08-03 21:03:43 +02:00
Jacek Kuzniarski
82ba8c046e Decouple MessageListAdapter from MessageListFragment.activity 2019-08-03 21:00:32 +02:00
Jacek Kuzniarski
84b46fcab8 Decouple MessageListAdapter from MessageListFragment.activeMessage 2019-08-03 21:00:32 +02:00
Jacek Kuzniarski
e2e8dc653e Decouple MessageListAdapter from MessageListFragment.contactsPictureLoader 2019-08-03 21:00:32 +02:00
Jacek Kuzniarski
9e39744e9d Decouple MessageListAdapter from MessageListFragment.stars 2019-08-03 21:00:32 +02:00
Jacek Kuzniarski
387e8b9283 Decouple MessageListAdapter from MessageListFragment.checkboxes 2019-08-03 21:00:32 +02:00
Jacek Kuzniarski
178e239185 Decouple MessageListAdapter from MessageListFragment.showingThreadedList 2019-08-03 21:00:32 +02:00
Jacek Kuzniarski
a4a151afdc Decouple MessageListAdapter from MessageListFragment.senderAboveSubject 2019-08-03 21:00:31 +02:00
Jacek Kuzniarski
d1013ba901 Decouple MessageListAdapter from MessageListFragment.previewLines 2019-08-03 21:00:31 +02:00
Jacek Kuzniarski
8fa2ae65a8 Add MessageHelper as MessageListAdapter constructor parameter 2019-08-03 21:00:31 +02:00
Jacek Kuzniarski
2c5f32d6d3 Use Resources.getString() instead of Fragment.getString() 2019-08-03 21:00:31 +02:00
Jacek Kuzniarski
134206a1f0 Add LayoutInflater as MessageListAdapter constructor parameter 2019-08-03 21:00:31 +02:00
Jacek Kuzniarski
a8915812b5 Add Theme as MessageListAdapter constructor parameter 2019-08-03 21:00:31 +02:00
Jacek Kuzniarski
7ef770c1e6 Add Resources as MessageListAdapter constructor parameter 2019-08-03 21:00:31 +02:00
Jacek Kuzniarski
f923b0ec61 Convert 'MessageListAdapter' to Kotlin 2019-08-03 21:00:31 +02:00
cketti
b84cd45a74 WIP: Renaming file 'MessageListAdapter' with Kotlin extension 2019-08-03 21:00:31 +02:00
cketti
3c76ce9567 Use Material Design icon for star in message view 2019-07-24 18:42:06 +02:00
cketti
d05c0ae807 Use Material Design icon for star in message list 2019-07-24 18:42:06 +02:00
cketti
90601f3470 Scale down letter in contact picture fallback image 2019-07-24 17:54:46 +02:00
cketti
f73ef35892
Merge pull request #4117 from k9mail/remove_compact_mode
Remove message list compact mode
2019-07-24 17:20:57 +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
cketti
6aac1f42a6 Remove message list compact mode 2019-07-19 17:29:10 +02: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
cketti
11f69d2e02
Merge pull request #4116 from rspencer01/increase-subject-font-size
Increase subject font size in message list
2019-07-19 17:17:49 +02:00
Robert Spencer
c864b9c4be Increase subject font size 2019-07-19 15:49:16 +01:00
ByteHamster
52f61659fe Using K9.DEVELOPER_MODE in more places 2019-07-19 13:49:44 +02:00
cketti
3fcf736bd4 Stop observing old FoldersLiveData instances 2019-07-18 23:20:50 +02:00
cketti
1b4ec98973 Update folder list when unread count changes 2019-07-18 18:32:01 +02:00
cketti
f99bc6c380 Display a folder's unread count in drawer 2019-07-18 17:59:42 +02:00
cketti
096ee17871 Change FolderRepository.getDisplayFolders() to include unread count 2019-07-18 17:52:29 +02:00
cketti
52cb690da6 Throw exception when a database downgrade situation is encountered 2019-07-18 15:38:15 +02:00
Robert Spencer
e84b7948f6 Use rounded images for selecting recipients, and for the recipient list. 2019-07-11 20:33:04 +01:00
Robert Spencer
b083bb0173 Round contact images in message view and message list view
This commit has `ContactBadge` extend `CircleImageView` instead
of `ImageView`, thus rounding all the contact badges.  It introduces
the dependency `de.hdodenhof:circleimageview:3.0.0`.
2019-07-11 19:19:02 +01:00
cketti
119dea66cc Base startup theme on dark theme 2019-05-28 03:54:17 +02:00
cketti
cddf57d62e Restart activities if theme or language settings have changed 2019-05-28 03:51:56 +02:00
cketti
ec9d82dd90 Make "composer theme" setting not override action bar theme 2019-05-28 03:33:01 +02:00
cketti
f15d43d0bb Add import/export support for new theme setting 2019-05-28 02:41:48 +02:00
cketti
e7adf0b5ef Add migration to rewrite theme setting from LIGHT to FOLLOW_SYSTEM 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
9bfc810257 Use AppCompat's DayNight theme for dark mode support 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
0b097d2acd Pass configuration to 'MessageWebView' instead of having it query 'K9' 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
6257efa007 Make 'K9ActivityCommon' usable by all activities 2019-05-28 02:41:48 +02:00
cketti
8910fdf8c1 Change the way 'K9ActivityCommon' is initialized 2019-05-28 02:41:48 +02:00
cketti
2c17c25938 Convert 'K9ActivityCommon' to Kotlin 2019-05-28 02:41:48 +02:00
cketti
ab1c4fdb43 WIP: Renaming file 'K9ActivityCommon' with Kotlin extension 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
e3e057d465 Fix ActivityListenerTest and remove unused strings 2019-05-22 01:52:37 +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
e0a618903e
Merge pull request #4061 from k9mail/preview_text_color_theme_attribute
Make the preview text color used in the message list a theme attribute
2019-05-21 21:04:52 +02:00
cketti
1e8b66e29b
Merge pull request #4053 from k9mail/settings_export_fragment
Add settings export to settings screen
2019-05-21 21:03:30 +02:00
cketti
049780b9c4 Only resolve theme attributes on MessageListAdapter creation 2019-05-20 19:00:19 +02:00
cketti
5a00645df0 Make the preview text color used in the message list a theme attribute 2019-05-20 18:50:33 +02:00
cketti
1f488a9c27 Properly persist OpenPGP provider settings 2019-05-19 03:48:35 +02:00
cketti
f3cc89f09d Add 'SettingsExportFragment' 2019-05-19 02:25:29 +02:00
NITIN DUDIA
3e218dcecc
Update AndroidManifest.xml
android:usesCleartextTraffic="true" as it is required to show complete mail view  , otherwise some html images will show broken .

SDK targeting 28+
2019-05-15 13:42:09 +05:30
cketti
e85e91c923
Merge pull request #4020 from k9mail/navigation_settings
Use navigation component for settings screens
2019-05-01 19:18:02 +02:00
Vasyl Gello
af6550d47d Fix issue #4016.
Following the conversation in PR #4025:
https://github.com/k9mail/k-9/pull/4025
2019-04-23 21:32:01 +03:00
cketti
bcacd83655 Use navigation component for settings screens 2019-04-14 15:52:16 +02:00
cketti
04c763ccaf Extract settings list code to 'SettingsListFragment' 2019-04-14 15:06:49 +02:00
ByteHamster
1b011cec02 Updated icons 2019-04-09 20:37:16 +02:00
ByteHamster
cb5c7c6ff7 Scaling icons with text size 2019-04-09 19:42:36 +02:00
ByteHamster
6745553394 Flat icons in message list 2019-04-06 19:54:06 +02:00
cketti
4c14d842d3
Merge pull request #3991 from k9mail/manage_folders_cleanup
Clean up FolderList (part 1)
2019-04-02 15:37:10 +02:00
cketti
42854acc53
Merge pull request #3992 from k9mail/convert_drawer_to_kotlin
Convert 'K9Drawer' to Kotlin
2019-04-02 15:36:29 +02:00
cketti
c306c0ef6b Remove unused Activity 'EmailAddressList' 2019-04-02 04:05:26 +02:00
cketti
1973452f25 Convert 'K9Drawer' to Kotlin 2019-03-28 20:56:06 +01:00
cketti
e49da99a7c WIP: Renaming file 'K9Drawer' with Kotlin extension 2019-03-28 20:31:37 +01:00
cketti
3b8c24bbde Clean up folder_list_item.xml 2019-03-28 19:29:51 +01:00
cketti
1fb5807677 Remove unnecessary ActivityListener callbacks from FolderList 2019-03-28 19:29:51 +01:00
cketti
8fb735479b Don't display folder status in FolderList 2019-03-28 18:59:47 +01:00
cketti
0cef41e45d Remove unread and starred icons from FolderList 2019-03-28 18:41:29 +01:00
cketti
55d0128afc Remove unused imports 2019-03-28 18:31:39 +01:00
cketti
d6423ff85e Clean up code 2019-03-22 00:54:51 +01:00
Wiktor Kwapisiewicz
b7652205ae Add Thunderbird autodiscovery code (part 1) 2019-03-20 17:27:44 +01:00
cketti
d56e49bb0a Clean up ProvidersXmlDiscovery 2019-03-14 04:04:29 +01:00
cketti
e64177cedc Convert ProvidersXmlDiscovery to Kotlin 2019-03-14 03:16:15 +01:00
cketti
8fea3b3a64 WIP: Renaming file 'ProvidersXmlDiscovery' with Kotlin extension 2019-03-14 03:04:42 +01:00
cketti
ed39bad737 Use EmailHelper in ProvidersXmlDiscovery 2019-03-14 03:04:07 +01: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
21f36e73c8 Migrate old pending commands for deleting messages to new format 2019-03-11 02:22:11 +01:00
cketti
189f50a15e Make MessagingController use Backend.deleteMessage() 2019-03-11 01:20:46 +01:00
cketti
22798072fd Extract code to find server settings via providers.xml 2019-03-10 20:13:36 +01:00
cketti
0c9bb833e5 Move RobolectricTest class to :app:testing module 2019-03-10 20:02:28 +01:00
cketti
0b78c60978 Create (empty) autodiscovery Gradle module 2019-03-10 20:00:29 +01:00
cketti
c580b2b85c
Merge pull request #3956 from k9mail/remove_note_from_providers_xml
Remove support for 'note' attribute in providers.xml
2019-03-10 18:06:16 +01:00
cketti
e0ebc9f637 Remove support for 'note' attribute in providers.xml 2019-03-09 02:15:45 +01:00
cketti
0a08cfdbc5 Remove POP3 settings from providers.xml 2019-03-09 01:35:01 +01:00
cketti
34c20ce317
Merge pull request #3942 from ByteHamster/confirm-empty-trash
Confirm empty trash
2019-03-08 23:11:00 +01:00
ByteHamster
a007d9bfa7 Confirm empty trash 2019-03-04 18:25:54 +01:00
cketti
be60dccb14 Respect background sync setting 2019-02-28 03:01:04 +01:00
David Hebbeker
8ca7fd896c
Removed unused interface OnLayoutChangedListener.
As the member mOnLayoutChangedListener was never populated, the only method of the interface was never called. Thus the complete interface was removed.
Also the only method which would have called the interface method was removed. That method did nothing else.
2019-02-27 10:15:13 +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
272a03eb96
Merge pull request #3907 from k9mail/androidx_migration
Androidx migration
2019-02-10 02:03:17 +01:00
cketti
c44df93347 Update translations from Transifex 2019-02-10 00:29:48 +01:00
cketti
dffca6f867 Update Groupie to version 2.3.0 2019-02-09 22:08:25 +01:00
cketti
b4ead8d3b5 Update MaterialDrawer to version 6.1.1 2019-02-09 22:08:25 +01:00
cketti
a7d6d9c50f Switch to com.takisoft.preferencex artifacts 2019-02-09 22:08:25 +01:00
cketti
47deb4e5ba Switch to androidx artifacts 2019-02-09 22:08:25 +01:00
cketti
28f8edee87 Upgrade to support library 28.0.0 2019-02-09 21:39:50 +01:00
cketti
00120ede97
Merge pull request #3850 from williamvds/settingsRedesign
Add account selection spinner to account settings
2019-02-09 21:39:11 +01:00
cketti
5d3fc6397b Code cleanup 2019-02-09 21:17:17 +01:00
williamvds
2d9a12286b
Use wrap_content in account selection spinner 2019-02-07 20:35:39 +00:00
williamvds
0fd31b6e55
Clean up adding account selection spinner 2019-02-07 20:35:23 +00:00
williamvds
d2f642c3ef
Move AccountSelectionSpinner into its own file 2019-02-07 20:34:04 +00:00
cketti
f1963aec08
Merge pull request #3886 from k9mail/backend_do_not_move_to_trash
Add flag to allow a Backend to opt out of the "move to Trash folder" behavior
2019-01-25 15:08:20 +01:00
cketti
932f5f2ddc Add 'isDeleteMoveToTrash' flag to Backend 2019-01-22 18:52:06 +01:00
Wolfgang Grossinger
374717dcab Fix build problems with a fresh forked k-9 (#3874)
Update build tools
2019-01-22 17:16:07 +01:00
cketti
cae0e22ada
Merge pull request #3878 from ojiofong/fix-android-job-test2
Replace old robolectric APIs
2019-01-15 03:32:15 +01:00
Oji Ofong
0d98be6dd1 Replace old robolectric APIs 2019-01-14 21:16:12 -05: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
williamvds
ab16ac880e
Add account selection spinner to account settings 2019-01-12 11:41:17 +00: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
6a64d5e380
Merge pull request #3851 from ByteHamster/drawer-bg
Material paper drawer background
2019-01-06 22:03:25 +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
ByteHamster
e8da523f30 Material paper drawer background 2018-12-31 15:23:24 +01:00
williamvds
9b537b963a
Add license string 2018-12-27 22:20:22 +00:00
williamvds
9fc5e41ec7
Convert app_fmt_authors string to authors 2018-12-27 22:19:09 +00:00
williamvds
856d9b4e6e
Correct font sizes in About to normal levels
Also adjusts some margin/padding on elements
2018-12-27 22:11:33 +00:00
cketti
f0b12e5bfd
Merge pull request #3839 from k9mail/fix_action_mode
Fix placement of action mode bar
2018-12-23 21:30:45 +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
57c72034c6
Merge pull request #3829 from williamvds/aboutRedesign
Redesign About activity
2018-12-22 20:49:46 +01:00
williamvds
7b15649b25
Remove default value for Library.license 2018-12-22 11:29:58 +00: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
f88215594b Exit settings and display welcome screen when there are no accounts left 2018-12-20 23:50:31 +01:00
cketti
59edfb59f5 Add "remove account" action to account settings screen 2018-12-20 23:50:31 +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
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
91104b98c1 Fix placement of action mode bar 2018-12-20 19:14:31 +01:00
cketti
4da4544264 Remove custom whenever() helper for Mockito 2018-12-20 18:26:12 +01:00
williamvds
44a58d14c1
Convert app_revision_fmt string to app_revision
Removes the formatting, which is no longer needed
2018-12-19 17:54:26 +00:00
williamvds
b9724b4792
Remove string interpolation symbols from version strings 2018-12-19 17:47:50 +00:00
williamvds
2473a574e7
Version in About opens changelog, remove overflow menu 2018-12-19 17:43:21 +00: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
williamvds
185396440a
Use Kotlin synthetic bindings in AboutActivity 2018-12-17 21:17:26 +00:00
williamvds
a1195f5733
Move libraries in About to main layout
About's layout has been wrapped in a NestedScrollView
Added a Library data class to store library information
Added fragment for libraries, listing their name and licenses, links to
their homepages
Added string about_libraries for the section title
2018-12-17 21:07:57 +00: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
342cd75a31
Merge pull request #3825 from k9mail/remove_pre_api19_code
Remove compatibility code for pre-API 19 Android versions
2018-12-16 23:37:31 +01:00
williamvds
0ce24f8ed1
Add padding above links in About 2018-12-16 11:22:10 +00:00
williamvds
f241111ac9
Link to contributors in About 2018-12-16 11:22:10 +00:00
williamvds
5785d0bb83
Remove wrapping LinearLayout in About
Also make the license layout selectable. Removing the linear layout
improves the ripple effect
2018-12-16 11:21:56 +00:00
cketti
b5588a8d02 Remove compatibility code for pre-API 19 versions 2018-12-16 02:49:49 +01:00
cketti
6de1704029
Merge pull request #3823 from ByteHamster/folder-list
Removed unneeded options from folder list
2018-12-16 02:47:49 +01:00
cketti
58717266c0 Remove code for importing and exporting settings from and to files 2018-12-16 02:03:21 +01:00
ByteHamster
f69a1850f7 Open folder settings directly 2018-12-16 00:51:13 +01:00
ByteHamster
374c79e9aa Removed unneeded options from folder list 2018-12-16 00:26:19 +01:00
ByteHamster
7894bfdf1a Removed show folder list
Now that #3800 was merged, we have the option in the sidebar
2018-12-15 23:59:10 +01:00
williamvds
d15dbb6900
Make app_license string less verbose 2018-12-15 21:44:39 +00:00
williamvds
db2d2c4862
Convert debug_version_fmt string to version 2018-12-15 21:44:39 +00:00
williamvds
4db0c8d068
Convert about_title_fmt string to about_title 2018-12-15 21:44:39 +00:00
williamvds
5c30c5b08e
Move revison info link into About layout 2018-12-15 21:44:38 +00:00
williamvds
58ad258f3d
Add change log link to About 2018-12-15 21:44:38 +00:00
williamvds
e1c0278173
Add source link to About 2018-12-15 21:44:38 +00:00
williamvds
6182cf9ecd
Move information in About into layout
Including...
version
authors
license
copyright notice
2018-12-15 21:44:38 +00:00
Wiktor Kwapisiewicz
6e2690a552
Fix crash of SettingsActivity on resume
`SettingsActivity#populateSettingsList` listens for changes in accounts
using `observeNotNull` that throws when a `null` value is assigned.

This change leaves the old value when `onInactive` is called.

See: https://github.com/k9mail/k-9/pull/3819#issuecomment-447523394
2018-12-15 11:42:14 +01:00
cketti
2798a13669 Remove storage permission 2018-12-14 01:59:52 +01:00
cketti
c2e80122f7 Use Storage Access Framework to save attachments 2018-12-14 01:44:13 +01:00
cketti
ffc69c9f34 Use DownloadManager to save linked images 2018-12-14 01:14:51 +01:00
cketti
a3735c671d Remove attachment default path setting 2018-12-14 01:05:29 +01:00
cketti
57ebf05b63 Always ask for the storage location when saving an attachment 2018-12-14 00:55:06 +01:00
cketti
796738db57 Remove "Save attachments to…" from general settings 2018-12-14 00:37:17 +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
Wiktor Kwapisiewicz
cad4cac6df
Fix consistent crashes when using dark theme
Commit 212f36170 moved dark theme's parent to
Theme.AppCompat.NoActionBar but the theme file for v21 was not updated.
This caused IllegalStateException to be thrown when constructing
K9Activities when dark theme has been selected.

The fix corrects the parent value.
2018-12-12 21:50:13 +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
Vincent Breitmoser
ac8fe9dbe7
Merge pull request #3790 from k9mail/accounts-listener
add AccountsChangeListener to Preferences
2018-12-12 12:42:09 +01:00
Vincent Breitmoser
099e13f0c4
Merge pull request #3800 from k9mail/manage-folders-item
add "Manage folders" item to drawer footer
2018-12-12 11:43:42 +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
037b19d7ce
Merge pull request #3807 from k9mail/message_list_title
Remove custom view in MessageList toolbar
2018-12-10 19:11:49 +01:00
Vincent Breitmoser
214580a2ec reload account onActive 2018-12-10 18:54:27 +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
75c4b9ff73 revert accidental changes 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
2f80530b2d Use FolderNameFormatter to get display names for folders 2018-12-08 23:23:13 +01:00
cketti
958c3cf29c Remove custom actionbar view 2018-12-08 23:23:06 +01:00
cketti
3c16d2caed Fix empty view handling in K9ListActivity 2018-12-08 22:37:55 +01:00
cketti
227972ffde Fix layouts 2018-12-08 22:00:06 +01:00
ByteHamster
212f36170f Switch to Toolbar
This allows to show the sidebar above the ActionBar.
2018-12-08 21:59:22 +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
cketti
c555790ca3
Merge pull request #3798 from k9mail/helo-ip
Always send IP instead of hostname in HELO/EHLO
2018-12-06 04:02:59 +01:00
Vincent Breitmoser
c3c7593458 add "Manage folders" item to drawer footer
part of #3750
2018-12-05 16:47:27 +01:00
Vincent Breitmoser
4333a3a16f remove "hideHostnameWhenConnecting" from global settings 2018-12-05 14:39:08 +01:00
Vincent Breitmoser
c06e1a9d9b always just send IP instead of hostname in SMTP EHLO message
Clients are very often behind NATs, which makes the hostname in
HELO/EHLO messages virtually useless these days. Attempting to figure
out a hostname we could use also led to issues with some strict Postfix
configurations (see https://github.com/k9mail/k-9/issues/3387). This
commit changes our behavior to simply send the local IP always, getting
rid of this metadata.

Fixes #3387
2018-12-05 14:36:06 +01:00
cketti
48ef5e43b7
Merge pull request #3769 from Khyojung/khyojung
Add padding between labels and input fields in message composition screen

Fixes #3768
2018-12-04 21:59:24 +01:00
cketti
6bb9f844e9 Add padding between labels and input fields in message composition screen 2018-12-04 21:47:14 +01:00
H. Lehmann
03907d8861 Add icons to account settings screen (#3792) 2018-12-04 21:37:31 +01:00
Oji Ofong
49917278de Resolve scheduled job issues 2018-12-04 13:42:22 -05:00
Vincent Breitmoser
8b3d51686a
Merge pull request #3788 from k9mail/empty_trash
Add "empty trash" action to MessageList activity
2018-12-03 20:09:39 +01:00
Vincent Breitmoser
62411ace05 Fix assigning account number when Account is first saved (fixes #3787) 2018-12-03 14:12:25 +01:00
cketti
e18c9167fd Hide crypto indicator in initial message header layout 2018-12-03 05:17:45 +01:00
Vincent Breitmoser
7e47519223 adjust mark as read/unread icon according to read status 2018-12-03 04:34:32 +01:00
Vincent Breitmoser
41c4f02a44 move star and crypto status next to subject 2018-12-03 04:34:32 +01:00
Vincent Breitmoser
ee44e03b43 display subject inline 2018-12-03 04:34:32 +01:00
Vincent Breitmoser
c96ced3bc3 drop specialized MessageCryptoStatusView
This was introduced when the crypto icon was combined from an icon and
dots. That's no longer the case, so we can simplify.
2018-12-03 04:34:32 +01:00
Vincent Breitmoser
a592b0dfba add reply button to message header 2018-12-03 04:34:31 +01:00
cketti
b503e1eeb1 Add "empty trash" action to MessageList activity 2018-12-03 04:18:19 +01:00
Marc K
ecd3238dd1 Update drawer when re-opened via intent (#3765)
Fixes #3764
2018-12-03 04:04:16 +01:00
cketti
1552c151a5
Merge pull request #3785 from wiktor-k/fix-notifications
Fix NPE when accessing settings screens
2018-12-02 18:25:12 +01:00
cketti
8f699ee542
Merge pull request #3771 from wiktor-k/app-compat-fixes
Add ActionBars to activities extending K9PreferenceActivity
2018-12-02 18:08:22 +01:00
Wiktor Kwapisiewicz
5c2bb43844
Fix NPE when accessing settings screens
Previous PR did not check if preferences to be removed exist on the
current screen and failed when the current screen was not the
notification settings.

Fixes #3782.
2018-12-02 17:50:46 +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
Meteor0id
aa8621cc58 Attempt to order menu items similar across views (#3511) 2018-12-02 02:24:28 +01:00
Wiktor Kwapisiewicz
e757e59156
Hide built-in notification settings on Android O
Resolves #3722.
2018-12-01 21:05:05 +01:00
Wiktor Kwapisiewicz
d9ddba4e60 Add an item that opens system notification settings
This item is displayed only on Oreo or higher and is hidden in previous
versions of Android.
2018-12-01 21:04:39 +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
Wiktor Kwapisiewicz
4578863118
Convert PreferenceScreens to Categories
Nested PreferenceScreens do not get the AppCompat Action Bar.
Converting them to categories works-around the issue.

Resolves #3753.
2018-11-30 13:27:36 +01:00
Wiktor Kwapisiewicz
3caa56a57e Add Action Bars to Preference activities 2018-11-30 13:26:11 +01:00
Khyojung
5a00c3b3fd add padding of user email in creation UI 2018-11-30 15:40:38 +09:00
cketti
bb6427cec0
Merge pull request #3744 from k9mail/dumb-account-1
Move logic out of Account class (1)
2018-11-30 01:45:53 +01:00
cketti
55746ea3ff
Merge pull request #3760 from sgomin/master
Optionally enable web cache
2018-11-29 23:30:54 +01:00
Stan Gomin
959b022ee2 Enabling Web cache unconditionally 2018-11-30 09:05:36 +11: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
David Hoppenbrouwers
0f33a43a8c Added colored chip in Unified Inbox widget items (#3759)
Add colored chip in Unified Inbox widget items
2018-11-29 17:15:01 +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
29874cf99f add unit tests for draft state header 2018-11-29 14:00: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
47451c89fe Enable encryption if editing an encrypted draft
This commit is a hack. It assumes that if a draft is encrypted, the user
chose to encrypt at some point and sets the status based on that
assumption. This is only an assumption though, which becomes a problem
e.g. if some other MUA encrypts all drafts. At some point we should
remember the actual user choice.
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
108db7e8a4 Load draft text from correct part 2018-11-28 12:22:51 +01:00
Vincent Breitmoser
d55be9edc4 Encrypt drafts to self 2018-11-28 12:22:51 +01:00
Vincent Breitmoser
0455157eb7
Merge pull request #3632 from GoneUp/runtime_contacts
Runtime permissions for contacts
2018-11-28 10:56:27 +01:00
Vincent Breitmoser
94585ffd93
Merge pull request #3745 from morckx/add-accounts-header-to-drawer
Add accounts header to the drawer
2018-11-28 10:51:45 +01:00
cketti
0c911dbac3 Increase targetSdkVersion to 23 2018-11-28 05:16:01 +01:00
cketti
1da164bed4 Code style cleanup 2018-11-28 05:16:01 +01:00
cketti
c76d85adde Use request permission rationale mechanism instead of showing toast 2018-11-28 05:16:01 +01:00
cketti
4a79664139 Move common permissions code to K9Activity 2018-11-28 04:26:05 +01:00
cketti
9cc5b0f179 Don't request permission when recreating Activity from saved state 2018-11-28 03:15:56 +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
Henry
455228f182 Added mime4j-dom dependency in app:ui to make sure the package is available. Without it DefaultAddressParser is not found in the RecipentLoaderTest even though the dependecy is declared in common. Looks like a gradle bug to me. 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
Marc K
e9d3c14ff8 Add a tinted background image to the drawer account header
... using the configured account color as tint color.

Thanks @ByteHamster
2018-11-27 21:19:24 +01:00
morckx
269656dbe3 Render message lists in the background after account switch 2018-11-26 23:53:56 +01:00
morckx
cced6e34f2 Move openRealAccount from Accounts to MessageList 2018-11-26 23:13:05 +01:00
morckx
455b0f2c6c Make MessageListViewModel.getFolders aware of account switches 2018-11-25 10:50:07 +01:00
morckx
63154d0602 Remove more leftovers 2018-11-25 10:41:11 +01:00
morckx
e5fbedb541 Don't forget to set the photo icon 2018-11-25 00:08:44 +01:00
morckx
98d92d9cf2 Use contact photos as account icons 2018-11-24 23:58:10 +01:00
morckx
f11d0e47ec Fix account selection and folder list not beeing updated 2018-11-24 23:51:02 +01:00
morckx
a5196ed2f6 Clean up leftovers 2018-11-24 23:51:02 +01:00
cketti
7736d3610e
Merge pull request #3643 from williamvds/master
Use an adaptive icon
2018-11-24 18:33:26 +01:00
cketti
f3686a3ff3
Merge pull request #3740 from morckx/fix-uninitialized-drawer-use
Don't try to operate on an uninitialized drawer
2018-11-24 18:25:18 +01:00
morckx
830535081a Use font awesome icon also also for normal account 2018-11-24 13:59:26 +01:00
morckx
ef5cbfb1ec Use faw-users icon for unified inbox in accounts header 2018-11-24 13:59:26 +01:00
morckx
e8e03b1635 Show detailed unified inbox description in accounts drawer header 2018-11-24 12:22:06 +01:00
Marc K
1e4c7510a6 Add accounts header to the drawer 2018-11-23 22:17:34 +01:00
morckx
ed7ca86b04 Don't forget to set actionBarSubTitle visibility when drawer is null 2018-11-23 21:26:37 +01:00
Vincent Breitmoser
33261885e9
Merge pull request #3742 from k9mail/selectableItemBackground
use native selectableItemBackground
2018-11-23 15:44:09 +01:00
Vincent Breitmoser
88a3167b25 use native selectableItemBackground 2018-11-23 15:42:23 +01:00
Vincent Breitmoser
04c88b6cda
Merge pull request #3736 from k9mail/fix-set-openpgp-provider
Refresh OpenPGP provider setting onResume
2018-11-22 12:22:05 +01:00
Marc K
7f8894c8f9 Don't try to operate on an uninitialized drawer
This is necessary whenever the account list is configured as default
starting view.

Fixes #3716
2018-11-22 12:14:05 +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
Vincent Breitmoser
81f496b7f3 Refresh OpenPGP provider setting onResume, and small cosmetic changes 2018-11-21 14:25:34 +01:00
Vincent Breitmoser
0f7d0963f5
Merge pull request #3734 from k9mail/fix_expunge_message
Only try to expunge a message if the Backend supports it
2018-11-21 10:29:19 +01:00
Vincent Breitmoser
8df62f136d
Merge pull request #3730 from wiktor-k/remove-unsaved-accounts
Remove partially constructed accounts on resume
2018-11-21 10:28:58 +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
Wiktor Kwapisiewicz
54d71ac54a
Remove partially constructed accounts on resume
Resuming account setup activity when the account has been partially
constructed (the setup has not been finished) resulted in having unsaved
account with ID = -1 in the accounts list. The application would then on
resume proceed to messages list but there won't be any folders as the
setup has been aborted.

The fix clears the list of accounts on resume and create so that the
application properly reacts to the event of no setup accounts.

Fixes #3717.
2018-11-20 15:10:06 +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