Commit graph

245 commits

Author SHA1 Message Date
cketti
923453ad3f Don't remove OAuth state on temporary errors 2022-07-14 17:06:31 +02:00
cketti
1ff327eda8 Display an error notification when creating a notification fails
When importing settings from another device, we could end up with a notification channel that references a non-existing notification sound. In that case creating a notification for a new message will lead to a `SecurityException`. We catch this case and display an error notification instead. This is fine because we create the "Miscellaneous" notification channel without a notification sound.
2022-07-11 18:06:22 +02:00
cketti
7d69ada798
Merge pull request #6115 from thundernest/oauth_outlook
Add OAuth support for Microsoft accounts
2022-07-05 17:19:35 +02:00
cketti
f96154f0b0 Display "authentication failed" notification when OAuth sign-in is required 2022-06-16 14:55:34 +02:00
cketti
598a171464 Add OAuth support for Microsoft accounts 2022-06-15 13:02:50 +02:00
cketti
6290e9b2a6 Add OAuth support for AOL accounts 2022-06-08 20:28:08 +02:00
cketti
79dd0fe1b2 Add OAuth support for Yahoo accounts 2022-06-08 20:28:08 +02:00
Olivier Blin
4c937ad7a6 Move redirectUri in OAuthConfiguration
Not all providers accept the redirect URI Google requires Android apps to use.
2022-06-08 20:28:08 +02:00
cketti
d08aa55853 Add proper way to retrieve OAuth credentials 2022-06-05 16:35:39 +02:00
cketti
d4883d1921 Add "Sign in with Google" button
This flow is not a great user experience. But it's the fastest way I could think of to add the button that was requested by Google.
2022-06-03 23:25:58 +02:00
cketti
14a7f1b0d3 Add support for OAuth 2.0 (Gmail) 2022-05-23 22:26:49 +02:00
cketti
7f343e4fd1 Move DefaultTrustedSocketFactory 2022-04-28 22:18:14 +02:00
cketti
4ad2e04cff Decouple WebDavSocketFactory from DefaultTrustedSocketFactory 2022-04-28 22:02:48 +02:00
cketti
7be4ea62fe Remove ImapStore's dependency on ConnectivityManager 2022-04-12 21:58:15 +02:00
cketti
a796b1d941 Change IMAP code to use single compression setting 2022-04-12 21:58:15 +02:00
cketti
903d0f43c4 Change Account to use a single setting for IMAP compression 2022-04-12 21:58:15 +02:00
cketti
372252710d Update name/description of notification channels when app locale changes 2022-03-17 18:35:59 +01:00
cketti
51457a6859 Simplify LocalStore.searchForMessages() 2022-02-24 20:28:03 +01:00
cketti
5d102ec610 Set targetSdkVersion to 31 2022-02-21 18:43:01 +01:00
cketti
13b57b7eba Use android:exported="false" when possible 2022-02-21 18:42:27 +01:00
cketti
8847e30cb7 Add appropriate mutability flags to PendingIntents 2022-02-21 18:42:27 +01:00
cketti
f6e03ff040 Don't expose MessageProvider to third-party apps
If this was an important feature to you, please contact us and tell us a little bit about your use case.
2022-02-17 20:56:31 +01:00
cketti
dee2ca345d Convert 'BaseAccount' to Kotlin 2022-02-08 16:54:15 +01:00
cketti
bfc708df19 Use Account.getDisplayName() when appropriate 2022-02-08 02:05:05 +01:00
cketti
19829eb2a2 Rename Account.getDescription() to Account.getName() 2022-02-08 01:13:30 +01:00
cketti
1d601c5c59 Rename Account.getName() to Account.getSenderName() 2022-02-08 00:50:26 +01:00
cketti
91c0787fa5 Open message from notification in Unified Inbox if possible 2022-01-09 23:10:04 +01:00
cketti
8e12d05a1d Update summary notification click behavior
Open "New messages" view when tapping the summary notification and not all messages either belong to the Unified Inbox or to a single folder.
2021-12-11 15:41:15 +01:00
cketti
c289c74238 Update summary notification click behavior
When tapping the summary notification and all new messages belong to folders that are included in the Unified Inbox, we display the Unified Inbox.
2021-12-09 22:21:55 +01:00
cketti
514802e010 Make sure the message list widget reuses an existing MessageList activity 2021-12-09 02:01:40 +01:00
cketti
6c54b324d6 Switch back to using launchMode="singleTop" for MessageList
We previously removed it because using the default launcher intent would open the default folder instead of just bringing the app to the foreground. We now handle that case by ignoring the default launcher intent in MessageList.onNewIntent().

See 97a75a54ef
2021-12-09 01:50:56 +01:00
cketti
57d7616d5a Create public version for certificate error notifications
Don't expose account name or error details when Android is configured to hide sensitive information on the lock screen.
2021-12-08 02:37:21 +01:00
cketti
981e7fbe70 Improve support for RTL languages in layouts 2021-11-26 22:45:48 +01:00
cketti
1071f3b9dd Fix warnings in AndroidManifest.xml 2021-11-26 16:11:39 +01:00
cketti
9074d6c570 Remove unused strings 2021-11-26 15:23:57 +01:00
cketti
230d0f4a84 Remove unused code (K9.Intents.Share.EXTRA_FROM) 2021-11-26 02:46:58 +01:00
cketti
b7526588c7 Separate notification UI/UX logic from notification creation 2021-11-24 17:49:14 +01:00
cketti
086ce98f44 Add sample data and various tools attributes to layouts 2021-10-27 14:38:18 +02:00
cketti
7209dc0ff2 Set theme in ui-legacy module so the IDE preview picks it up 2021-10-27 04:37:51 +02:00
cketti
e1aef32042
Merge pull request #5703 from k9mail/choose_folder_ui
Tweak toolbar in 'choose folder' screen
2021-09-30 14:11:14 +02:00
cketti
8ae5378942 Remove Flag from MessageReference 2021-09-29 15:27:45 +02:00
cketti
4eb0c692d3 Change title of ChooseFolderActivity for copy/move operations 2021-09-28 18:48:53 +02:00
cketti
799917d5b8
Merge pull request #5697 from k9mail/demo_backend
Add "demo" backend
2021-09-28 15:28:35 +02:00
cketti
c6936043c6 Remove unused functionality from StorageManager and StorageProvider 2021-09-24 18:39:20 +02:00
cketti
eae910fe8f Add "demo" backend 2021-09-23 22:43:02 +02:00
cketti
fb8f98486f Remove Account.isAvailable() 2021-09-17 10:47:03 +02:00
cketti
219648f142 Get rid of mount/unmount receivers for external storage
We no longer support storing the database on "external storage". Even when migrating old databases chances are very slim "external storage" actually is a removable storage device.
2021-09-17 10:01:14 +02:00
cketti
f2f8e4d0f3 Remove FolderRepositoryManager
Instead we use one FolderRepository instance and pass Account as parameter to individual functions.
2021-08-26 22:34:57 +02:00
cketti
5bba535699 Convert notification classes to Kotlin 2021-08-26 01:36:25 +02:00
cketti
ed6cbe1c4b Rename .java to .kt 2021-08-26 01:35:18 +02:00