Commit Graph

2931 Commits

Author SHA1 Message Date
cketti 24c10f0fd3 Explicitly set layout used in a ListActivity 2013-01-18 12:33:31 +01:00
cketti ffda532612 Add (heavily modified) HoloColorPicker 2013-01-17 09:03:11 +01:00
Samuel Sieb edc0c0dc5e load the correct number of extra messages from the server instead of possibly doubling the count 2013-01-16 12:24:43 -08:00
Jesse Vincent f19b243860 Make the default folder name size in the folder list the same as the default account name size in the account list 2013-01-15 15:33:14 -05:00
Jesse Vincent f8414ffe99 Merge remote-tracking branch 'zjw/folder_search'
* zjw/folder_search:
  Provide message search capability from the folder list.
  Eliminate unused code.
  Switch to using the action bar for folder searches.
  Use a more appropriate title when diplaying folder search results.
  Switch to using the action bar for folder searches.
  Provide new action bar "find folder" icons
  Create action buttons to search for folders.
  Readjust settings version number based on current master
  Control wrapping of folder names programmatically only
  Permit the folder list item to expand vertically.
  Create new preference option for wrapping folder names in folder list view.
  Issue 1911:  Permit folder names to wrap on multiple lines in folder list view so users can see the entire name.
2013-01-15 15:19:12 -05:00
Jesse Vincent 841e565a49 Merge remote-tracking branch 'zjw/progress_indicators'
* zjw/progress_indicators:
  Provide a progress indicator while loading remote search results.
  Remove the progress bar from the message list footer.
  Provide progress indicator for searches.

Conflicts:
	src/com/fsck/k9/activity/MessageList.java
2013-01-15 15:06:23 -05:00
Jesse Vincent ae6c7e37ca Merge remote-tracking branch 'zjw/issue_2389_cert_error_notice2'
* zjw/issue_2389_cert_error_notice2:
  Fix Issue 2389:  Self signed certificate expiry causes silent send/receive failure.
2013-01-15 14:44:21 -05:00
Andrew Chen bdf2283ef4 Merge pull request #225 from maniac103/fix-multiaccount-notification
Fix notification click behaviour for multiple accounts.
2013-01-14 15:14:06 -08:00
cketti b0b0ee6678 Add check to display database upgrade screen to more activities
Through shortcuts, widgets, etc. users can start the app using another
activity than Accounts. We still want to display the database upgrade
screen in such cases.
2013-01-14 09:32:58 +01:00
cketti ae7ddcdd5f Fix condition to check whether or not the database needs upgrading 2013-01-14 09:32:58 +01:00
Joe Steele ad16bf94cd Provide message search capability from the folder list.
The search is performed in all folders for the account
to which the folders belong.
2013-01-13 22:35:59 -05:00
Joe Steele f3084dbb66 Provide a progress indicator while loading remote search results. 2013-01-12 18:02:09 -05:00
cketti 009c2c6a12 Add button to show changelog to 'About' dialog 2013-01-12 23:56:25 +01:00
cketti a98db87dd8 Add ckChangeLog to about dialog 2013-01-12 23:40:45 +01:00
cketti 543fefebaa Merge branch 'threading_schema_change' 2013-01-12 23:03:38 +01:00
cketti 705ba76509 Close thread view when last message has been moved/deleted 2013-01-12 22:52:09 +01:00
cketti 7a1e52de48 Fix copy/move when not in 'single folder mode' 2013-01-12 06:17:31 +01:00
cketti 65a5a73737 Rewrite/optimize some SQL statements 2013-01-12 04:21:53 +01:00
cketti 0a5a330820 Fix getFoldersAndUids() for threads 2013-01-12 04:02:21 +01:00
cketti 421558c148 Optimize setting flags for whole threads 2013-01-12 02:28:12 +01:00
Joe Steele 512d67a10e Merge branch 'wrap_folder_name_2' into folder_search
Conflicts:
	src/com/fsck/k9/activity/FolderList.java
2013-01-11 17:51:16 -05:00
Joe Steele d01ef4f9cb Eliminate unused code. 2013-01-11 17:42:38 -05:00
cketti 3ec623c174 Avoid full table scan when creating the threaded message list 2013-01-11 03:59:38 +01:00
cketti 1df88ea153 Use separate table to store the thread structure 2013-01-11 03:40:35 +01:00
Joe Steele fa857f7d09 Switch to using the action bar for folder searches.
Eliminate the old-style search dialog box.  A similar change
was previously made when searching from the folder list.  This
change is applicable when searching while choosing a
folder (e.g. a destination folder for a copy operation).
2013-01-10 17:41:15 -05:00
Joe Steele 993b025906 Use a more appropriate title when diplaying folder search results. 2013-01-10 17:41:14 -05:00
Joe Steele d7cb89880a Switch to using the action bar for folder searches.
Eliminate the old-style search dialog box.
2013-01-10 17:41:13 -05:00
Joe Steele 218823d7b2 Remove the progress bar from the message list footer.
More often than not, it's scrolled out of view.
Other progress indicators have been implemented that
are always in view.
2013-01-10 16:50:21 -05:00
Joe Steele 689f69ca49 Provide progress indicator for searches.
Searches can be slow, so users need an indicator.  The indicator is
also used when opening a message list or when refreshing it, or when
loading more messages.

This also removes some unused code.
2013-01-10 16:50:20 -05:00
Joe Steele 29f15d715d Fix Issue 2389: Self signed certificate expiry causes silent send/receive failure.
With this fix, a CertPathValidatorException or CertificateException will
create a "Certificate error:  Check your server settings" notification
in the status bar.  When the user clicks on the notification, they are
taken to the appropriate server settings screen where they can review their
settings and can accept a different server certificate.
2013-01-10 16:49:55 -05:00
Joe Steele 9b851f20e3 Readjust settings version number based on current master 2013-01-10 16:42:28 -05:00
Joe Steele d5a2c6b5c7 Control wrapping of folder names programmatically only
This removes the default settings (ellipsized, single line) from the layout
xml file and implements them programmatically.  This fixes the problem where:
You are viewing a folder list while wrapping is currently on, then you go into settings
and turn wrapping off, after which you are back at the folder list, but the
list is still wrapped.
2013-01-10 16:42:26 -05:00
Joe Steele 26fe9b7757 Create new preference option for wrapping folder names in folder list view.
Revert to using an ellipsized folder name as the default.
2013-01-10 16:42:23 -05:00
Joe Steele 7459f1c6b5 Issue 1911: Permit folder names to wrap on multiple lines in folder list view so users can see the entire name.
Reduce the default font size used in folder list view to a reasonable size so that long folder paths wrap to fewer lines.
2013-01-10 16:42:22 -05:00
Andrew Chen 076650f3a3 Merge pull request #224 from maniac103/extend-folder-menu
Add Refresh' and Settings to folder context menu.

Also add Account Settings to the account context menu.
2013-01-10 12:07:33 -08:00
Danny Baumann a75947dd87 Add back account settings to account context menu. 2013-01-10 10:00:37 +01:00
Danny Baumann 3d14bd53f1 Fix notification click behaviour for multiple accounts.
Test case:
- Have two accounts A and B
- Get a mail on A
- Get a mail on B
- Click on the notification for A

Result:
You end up seeing the message from B instead of A

The reason for that is that we need to register separate PendingIntents
for each account.
2013-01-10 09:45:37 +01:00
Andrew Chen 190a291e76 Merge pull request #223 from maniac103/jb-notifications-followup
Some follow-up fixes for the JB notifications
2013-01-08 09:16:04 -08:00
Danny Baumann 4b4412b666 Add back 'refresh' and 'settings' to folder context menu.
Both items are commonly used even by the average user (and likely both
are used more commonly than 'clear local messages'), so it makes
sense to provide them in the context menu as well as the action bar.
2013-01-08 13:12:47 +01:00
Danny Baumann ada2a9ccb5 Documentation and cleanup
- Add Javadoc to new methods and classes
- Get rid of magic number
2013-01-08 12:52:56 +01:00
Danny Baumann 4d075c91ac Some more cleanup
- When the last message of the message list is cleared, clear the whole
  notification
- Compare whole message reference, not only UID.
2013-01-08 10:06:01 +01:00
Danny Baumann cb9cff382f Fix typo causing a NPE. 2013-01-08 09:29:34 +01:00
Danny Baumann 84a5e34537 Improve notification message list processing
- If a message contained in the inbox list is deleted or read while
  there are messages in the overflow list, restore the newest message
  from the overflow list so there are always 5 messages in the inbox
  list in that case.
- Use explicit methods instead of method overriding.
2013-01-08 09:27:28 +01:00
cketti f548e822d6 Add ckChangeLog to display a change log after an app upgrade 2013-01-08 09:17:35 +01:00
Andrew Chen 5ac3d1d5c2 Use existing LocalMessage for the JB notifications.
LocalMessage already has a content preview in it; reuse that.
Remove unneeded MimeMessage#getPreview() method now that we don't need
to generate a preview anymore.
2013-01-07 23:20:35 -08:00
Andrew Chen 068f87380c More javadoc 2013-01-07 22:15:49 -08:00
Andrew Chen d4eae05630 Javadoc 2013-01-07 22:11:04 -08:00
Andrew Chen e32909c57a Remove unused import 2013-01-07 20:51:37 -08:00
Andrew Chen 1ff0bb6289 Merge pull request #222 from maniac103/jb-notifications
Merge branch 'jb-notifications' of https://github.com/maniac103/k-9

* 'jb-notifications' of https://github.com/maniac103/k-9:
  Strip off signatures from preview.
  Reset list of unseen messages when the user clears the notification.
  In the new-style notification, directly go to message if new message count is 1.
  Cancel notification when viewing message by clicking on notification.
  Directly go to message when clicking on a single-message notification.
  Fix message overflow.
  Incorporate review comments.
  Some fixes to notification behaviour.
  Add German translation for message delete notification action.
  Add delete action to notification.
  Update summarized notification if a message is deleted or read remotely.
  Fixed deprecation warnings.
  Simplify code and beautify pre-jellybean notifications by using bold sender span for those.
  Respect "Show contact names" option when determining sender for notification.
  Fix marking messages as read from notification.
  Add German translation for new strings.
  Add actions to notifications.
  First stab at new notifications.
  Remove own Notification.Builder abstraction.
  Update android support library to latest version.
2013-01-07 20:44:35 -08:00
Danny Baumann 45328189f3 Strip off signatures from preview. 2013-01-07 10:39:08 +01:00
Danny Baumann 7e1e38189d Reset list of unseen messages when the user clears the notification. 2013-01-07 09:12:07 +01:00
Andrew Chen d7d562bd58 Fetch the simple name of the class instead of doing regex dances. 2013-01-06 12:40:03 -08:00
Danny Baumann aaa65a457e In the new-style notification, directly go to message if new message
count is 1.

This matches what is displayed in the notification itself.
2013-01-06 12:16:54 +01:00
Danny Baumann e17e9b9344 Cancel notification when viewing message by clicking on notification. 2013-01-06 12:13:36 +01:00
Danny Baumann ef93f0af6c Directly go to message when clicking on a single-message notification. 2013-01-05 14:15:15 +01:00
Danny Baumann d9cc0446b6 Fix message overflow. 2013-01-05 13:59:16 +01:00
Danny Baumann 6f7ec3e401 Incorporate review comments. 2013-01-05 13:21:17 +01:00
Danny Baumann b334960355 Some fixes to notification behaviour.
- Make notification high priority if any previewed message is flagged
- Fix message ordering
- Go to folder list instead of folder of newest message if there are
  multiple messages in the notification
2013-01-04 16:52:47 +01:00
Danny Baumann 0bf3dddafc Add delete action to notification. 2013-01-04 10:40:48 +01:00
Danny Baumann 220a2da195 Update summarized notification if a message is deleted or read remotely. 2013-01-03 10:14:22 +01:00
Danny Baumann 3e0cbb1bb6 Fixed deprecation warnings. 2013-01-03 09:39:02 +01:00
Andrew Chen 1767c3428e If we have to surface Java exceptions to the user, make them more readable. 2013-01-02 21:38:01 -08:00
Danny Baumann 42605a7ea9 Simplify code and beautify pre-jellybean notifications by using bold
sender span for those.
2013-01-02 17:02:57 +01:00
Danny Baumann be68a6cbe6 Respect "Show contact names" option when determining sender for
notification.

Fixes #4765.
2013-01-02 16:13:27 +01:00
Danny Baumann c0e0ac9d34 Fix marking messages as read from notification.
MessagingController.setFlag(Account, List<Long>, Flag, boolean, boolean)
expects database IDs, while Message.getId() returns UIDs. Fix the
operation by using a variant that expects UIDs.
2013-01-02 15:43:29 +01:00
Danny Baumann 8cee3ee18d Add actions to notifications.
- If there's only a single message in the notification, add 'Reply' and
  'Read' (marks as read) buttons.
- If there's more than one message pending, add only 'Read'.
2013-01-02 14:17:20 +01:00
Danny Baumann 694a46c6c1 First stab at new notifications. 2013-01-02 14:11:07 +01:00
Danny Baumann 565fef0cea Remove own Notification.Builder abstraction.
Replace it by NotificationCompat.Builder, which is in the support
library we're using anyway.
2013-01-02 14:09:37 +01:00
Andrew Chen b0171c69aa Enable K9.DEBUG if a debugger is attached.
Allows debugging to be enabled from the get-go on fresh installs before we can get to the preference screen.
2012-12-21 18:00:42 -08:00
Andrew Chen c63a756500 No functional changes; whitespace only. 2012-12-21 15:36:54 -08:00
Andrew Chen c6beeacb7d Outlook 2013 uses a new color for the quote divider. Updating to match The New Hotness™. 2012-12-21 15:31:13 -08:00
Andrew Chen 3462532f7c Don't try to save crypto settings if they weren't enabled. 2012-12-18 16:26:53 -08:00
Andrew Chen bcc29632e9 Disable Cryptography setup menu if APG isn't installed. 2012-12-18 16:18:00 -08:00
cketti 3f84bb54f2 Fix crash when deleting all messages in a thread
Fixes issue 4772
2012-12-18 21:12:40 +01:00
cketti 99e7d5a692 Fix "disappearing threads" bug
List threads regardless whether or not the thread root was deleted.
2012-12-18 20:48:33 +01:00
David Miller f282386ab0 Fix issue 4771 - work around > getting included in URLs when linkifying text/plain emails 2012-12-18 09:59:14 -05:00
cketti caa26311f1 Use HTML to format welcome message / make URL clickable 2012-12-17 12:41:12 +01:00
cketti 75329c45b3 Add Javadoc 2012-12-17 12:37:27 +01:00
cketti 5f638a02e2 Add missing @Override annotation and whitespace fixes 2012-12-17 12:36:42 +01:00
cketti bcd52a6707 Fetch in-reply-to header when downloading envelope on IMAP accounts 2012-12-13 17:03:35 +01:00
cketti bc2f099c3c Fix pull-to-refresh
- disable pull-to-refresh while showing the "Loading..." view
- move initialization code from onResume() to initializePullToRefresh()
and call it from onCreateView()
2012-12-10 23:21:00 +01:00
cketti 44348e08a4 Create non-existent IMAP folders when copying/moving messages 2012-12-10 21:42:57 +01:00
cketti edd2a44201 Don't display negative unread count in message list 2012-12-10 20:06:18 +01:00
cketti 7db33ce8c6 Ignore null-rows in results of SQL queries 2012-12-10 17:34:48 +01:00
cketti ba691612dd Add support for "Unified Inbox" and "All messages" to unread widget 2012-12-08 18:15:34 +01:00
cketti cc3580c675 Remember across activity restarts whether remote search was performed 2012-12-08 17:29:05 +01:00
cketti e5d8e1965e Restore call to remoteSearchFinished() when stopping MessageListFragment 2012-12-08 17:28:46 +01:00
cketti 19a1549d52 Remove unused code 2012-12-08 17:11:17 +01:00
cketti 36a17eae91 Retain selected messages when restarting MessageListFragment 2012-12-08 17:06:15 +01:00
cketti 99ae73ebb9 Remove the setting to hide the refile buttons
With the introduction of the action bar there is no longer a separate
button bar for refile actions. So it's no longer necessary to hide the
buttons to save screen space.
2012-12-08 11:51:10 +01:00
cketti 8d652b2f61 Fix some compiler warnings 2012-12-07 15:50:55 +01:00
cketti 7b49f67c51 Remove unused methods 2012-12-07 15:47:15 +01:00
cketti bc4fb530d0 Remove all code using the old unread/flagged count database columns 2012-12-07 15:45:36 +01:00
cketti 04ec2abd2c Use local unread/flagged count in folder list and message list 2012-12-07 15:04:53 +01:00
cketti 41d608f3be Refresh action bar title in FolderList when unread count was calculated 2012-12-07 14:25:30 +01:00
cketti cf390861d6 Use constant "UUID" for search accounts
This way we can match the account stats to the search accounts when the
Accounts activity is restarted.
2012-12-07 14:06:03 +01:00
cketti 4ccb1c952a Set action bar title for Accounts activity in onCreate() 2012-12-07 13:43:42 +01:00
cketti 144884080d Retain unread count in Accounts activity during configuration changes 2012-12-07 13:35:49 +01:00
cketti 8100e00523 Remove leading space in action bar title of Accounts activity 2012-12-07 13:08:01 +01:00
cketti d3e840a9ee Only list messages in searchable folders under "All messages" 2012-12-07 12:55:32 +01:00
cketti 251428e963 Restore behavior of unread/flagged filtered message list
The unread/flagged count/view for accounts now excludes special folders
and only includes displayable folders as specified by the display class.
2012-12-07 12:03:04 +01:00
cketti 73757af680 Only count local messages for unread/flagged count
Currently only the Accounts activity uses the new count.

While working on this I realized that the unread/flagged search for
accounts currently looks for unread/flagged messages in all folders, not
all displayable folders without special folders (Trash, Spam, Outbox,
Sent, Drafts) like we used to.
Also, the "All messages" search currently doesn't limit the search to
searchable folders like it is supposed to.
2012-12-07 05:34:44 +01:00
Andrew Chen 9a380c69ad Strip RE/FW from the MessageList subject line for thread subjects.
"Be like Outlook."
2012-12-06 17:41:39 -08:00
Andrew Chen c81f68af33 Remove the progress spinner when not in use so that the "Load more..." text is centered. 2012-12-06 17:25:56 -08:00
cketti b4bd80baa2 Fix "up" logic in MessageList
Fixes issue 4727
2012-12-06 06:26:39 +01:00
cketti 26b462a90e Refresh the list when returning to the message list activity 2012-12-06 06:26:39 +01:00
cketti b04f1b4319 Add an "empty view" to the message list
This will display a spinning progress indicator while the message list
is loaded from the database.
2012-12-06 06:26:39 +01:00
cketti d5bb462917 Don't create Message objects when changing flags of selected messages
This changes the interface to MessagingController and the way flags are
updated in the database. Now messages aren't changed one by one but in
batches of 500. This should give better performance, but breaks the
unread and flagged count. I'm not very sad about this, because now we
can move towards only displaying the number of unread/flagged messages
in the local database.
2012-12-06 06:26:38 +01:00
cketti c0b5255e24 Make most important flags separate database columns
This is the first step to speed up searches and flag updates.
2012-12-04 05:13:58 +01:00
cketti d30cda26fb Fix database version cache logic 2012-12-04 04:55:52 +01:00
cketti fcc9e37f66 Add file missing in last commit 2012-12-01 08:29:25 +01:00
cketti b2098c8d1c Add activity that is displayed during database upgrades
See UpgradeDatabases.java for a detailed description of the upgrade
process.
2012-12-01 08:02:55 +01:00
cketti f67d543510 Remove unused imports 2012-11-27 17:22:58 +01:00
cketti 2db8034c31 Use one database transaction when doing bulk flag changes
Previously we used one transaction per message. For 500 messages the
database updates alone took over 30s on my Nexus 7.
2012-11-27 16:46:59 +01:00
cketti 3b022cd72f Remove excessive debug logging 2012-11-27 16:33:53 +01:00
cketti 38e8fc182c Don't use LocalSearch object in launcher shortcut intents 2012-11-27 00:50:32 +01:00
cketti cd3cc88fd4 Fix "Notification opens unread messages" 2012-11-27 00:15:21 +01:00
cketti 689f12a7f8 Don't use FLAG_ACTIVITY_SINGLE_TOP to start MessageList
We currently don't implement onNewIntent() so using
FLAG_ACTIVITY_SINGLE_TOP won't work.
2012-11-27 00:01:51 +01:00
Jesse Vincent c870c5acbc make the checkmark a little wider. 2012-11-24 17:44:07 -05:00
Jesse Vincent 134b1f1b78 Hide the threaded view wrapper to get slightly better spacing 2012-11-24 14:42:57 -05:00
cketti b96e7bb058 Fix NPE related to changed initialization order in Android 4.2 2012-11-22 22:50:46 +01:00
cketti f0118ecb85 Change authority of the new content provider to unbreak build scripts 2012-11-22 22:50:46 +01:00
Jesse Vincent e2d347f0a3 Strip Re/Fwd/Aw etc from titles of thread view 2012-11-22 15:24:43 -05:00
Jesse Vincent eacc5e2ffe Add titles to thread display 2012-11-22 15:19:27 -05:00
cketti 9452b9e4c6 Make sure MessageView menu is configured correctly 2012-11-21 02:45:37 +01:00
cketti 189452618a Reset the message view theme when the app theme changes 2012-11-21 02:18:52 +01:00
cketti 349b1e997e Use type of compose action as action bar title
I.e. one of "Compose", "Reply", "Reply all", "Forward"
2012-11-21 01:42:19 +01:00
cketti 08615f205f Merge branch 'content_provider' 2012-11-18 16:50:31 +01:00
cketti bb01102403 Use Uri.getQueryParameterNames() workaround on pre-API 11 devices 2012-11-16 18:28:40 +01:00
cketti 411abbea64 Fix display of folder settings and account settings menu entries 2012-11-15 21:45:36 +01:00
cketti 999dd33169 Prevent NPEs in methods called by the handler after activity detached 2012-11-15 21:42:10 +01:00
cketti 4eefcb3a31 Fix crash when remote search fails after search screen has been left
Also, change error message to be less technical.
2012-11-15 21:28:05 +01:00
cketti 5accadab00 Enable loading more search results from the server 2012-11-15 21:26:46 +01:00
cketti b108e7a539 Don't fetch already downloaded messages found by a server-side search 2012-11-15 21:05:45 +01:00
cketti 38fe4d1990 Fix "up" navigation when leaving a message list with search results 2012-11-14 15:01:18 +01:00
cketti 9cbbd06352 Restore settings to configure remote search 2012-11-14 02:08:08 +01:00
cketti ff156ac7c9 Fix remote search 2012-11-14 00:19:10 +01:00
András Veres-Szentkirályi a86354be7d Treat mailto-URI parameters case-insensitive
RFC 6068 defines these parameters case-insensitive, yet we only
supported lower-case values because the method Uri.getQueryParameters()
treats parameter names case-sensitive.
This patch introduces a wrapper class that implements case-insensitive
parameter name matching.

Note: commit message edited by cketti
2012-11-13 13:33:22 +01:00
cketti 9814833008 Merge branch 'master' into content_provider 2012-11-08 20:32:12 +01:00
cketti 246ed6990c Avoid endless loop via Handler 2012-11-08 18:20:52 +01:00
Jesse Vincent 9be4efe58f Get the Folder list to use the new common icons 2012-11-06 16:18:00 -05:00
Jesse Vincent 446cda8618 Clean up the icons in account list 2012-11-06 16:02:08 -05:00
cketti d209c0cce3 Merge branch 'master' into content_provider
Conflicts:
	src/com/fsck/k9/activity/MessageList.java
	src/com/fsck/k9/fragment/MessageListFragment.java
2012-11-05 04:52:45 +01:00
cketti 52bfea65d1 Make the message selection code use the unique (Cursor) ID 2012-11-05 02:11:02 +01:00
cketti f02d265f60 Removed unused column from projection 2012-11-05 01:06:10 +01:00
Koji Arai c0cb734288 Should change Bcc address when Identity changed. 2012-11-05 00:02:57 +09:00
cketti d530b20e2b Copy/move all messages in a thread when copying/moving placeholder 2012-11-03 08:30:32 +01:00
cketti dfbfaf48dd Clean up method copyOrMove() 2012-11-03 06:27:27 +01:00
cketti 2cfd25fa23 Javadoc cleanup 2012-11-03 06:20:11 +01:00
cketti c231b732ac Avoid converting lists to arrays when possible 2012-11-03 05:56:12 +01:00