Commit graph

953 commits

Author SHA1 Message Date
Jacek Kuzniarski
cf2c67efde Renaming file 'MessageViewHolder' with Kotlin extension 2019-08-08 20:36:07 +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
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
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
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
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
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
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
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
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
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
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
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
22798072fd Extract code to find server settings via providers.xml 2019-03-10 20:13:36 +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
ByteHamster
a007d9bfa7 Confirm empty trash 2019-03-04 18:25:54 +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
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
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
Oji Ofong
0d98be6dd1 Replace old robolectric APIs 2019-01-14 21:16:12 -05:00
williamvds
ab16ac880e
Add account selection spinner to account settings 2019-01-12 11:41:17 +00: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
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
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
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
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
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
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
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
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
e7d6f85e66 add AccountsChangeListener to Preferences 2018-12-10 18:13:34 +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
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
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
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
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
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
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
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
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
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
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
29874cf99f add unit tests for draft state header 2018-11-29 14:00:46 +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
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
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
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
81f496b7f3 Refresh OpenPGP provider setting onResume, and small cosmetic changes 2018-11-21 14:25:34 +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
c7a7bbfc8c Extract strings 2018-11-14 03:32:26 +01:00
cketti
05c091212c Rename NotificationChannelUtils to NotificationChannelManager 2018-11-14 02:30:55 +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
fa1d6aab18 Remove EXTRA_SHOW_FOLDER_NONE from ChooseFolder 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
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
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
63b3379e5d Use TextQuoteCreator instances instead of static method 2018-10-25 01:41:00 +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
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
18bbd76783 Add a way to inject SchemaDefinition into LocalStore 2018-09-03 00:57:41 +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
721c97fe39 Make MessageLoaderHelper call callbacks on the main thread 2018-08-20 18:33:12 +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
cketti
da6eca639c Move file to correct location 2018-07-26 23:44:11 +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
dc785a8e92 Fix error handling when refreshing the folder list fails 2018-07-22 18:31:41 +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
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
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
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
408f725b61 Remove string references from SearchAccount 2018-07-07 19:09:31 +02:00
cketti
87d0e05a92 Move helper classes to ui module 2018-07-06 17:24:16 +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
b46594fed4 Move UI code to ui module 2018-07-02 16:19:21 +02:00