Commit Graph

3129 Commits

Author SHA1 Message Date
Danny Baumann 1dda0cfdbd Another unused import. 2013-02-05 14:32:56 +01:00
Danny Baumann 7b48df7dce Simplify message list item layout. 2013-02-05 11:16:00 +01:00
Danny Baumann f51f675021 Simplify and improve message view header layout.
The star was displayed partially off-screen before.
2013-02-05 11:15:55 +01:00
m0viefreak a74d57cb71 MessageView: Theme fix when global and message view theme differ
- Since the split-view change, MessageView is only a fragment, so we
  can't call setTheme() anymore so easily.
  Instead, use a ContextThemeWrapper and use that to inflate the
  layout. This way the message header and attachment view
  are styled correctly.

- The HTC WebView fix in SingleMessageView was returning the wrong
  background color, when message view theme and global theme differ,
  because it always used the global theme to retrieve it.
  Fix: Specifically put the light/dark values in the themes.xml,
  and get them using getContext().getTheme().resolveAttribute().
  getContext() will use the ContextThemeWrapper from above, so
  even if the global and message view themes differ, it aleays
  returns the correct one.
  The getThemeBackgroundColor() method added to the K9ActivityMagic
  interface in 309eeb72ac is now not
  needed anymore, and was removed.
2013-02-04 19:30:40 +01:00
m0viefreak 2c87efe5f3 Put back prev/next buttons to non-split message views for now.
Some people prefer them over swiping / volume keys.

They could probably be made optional so they can be hidden.

Also: delete the now unused message_view_fragment.xml and message_view_option.xml.
2013-02-04 19:26:04 +01:00
m0viefreak 7bcecf7060 Fix action bar items missing when opening new message.
Calling configureMenu() inside updateMenu() doesn't update the
buttons properly. Instead, call invalidateOptionsMenu(). This forces
the menu to be re-created, and onPreareOptionsMenu() to be called.
From there, configureMenu() is called automatically.
2013-02-04 19:26:04 +01:00
cketti 7a5095a6aa Fix back button behavior when rotating the device 2013-02-04 17:26:46 +01:00
Danny Baumann 275700e482 Fix a number of build warnings.
This gets rid of about 50 warnings. Deprecation warnings still remain,
though.
2013-02-04 11:18:49 +01:00
cketti a5c00a42d0 Add missing Override annotations 2013-02-03 17:23:39 +01:00
cketti 869a769e23 Stop using deprecated PullToRefresh methods 2013-02-03 17:22:34 +01:00
cketti d5a417d936 Fix some warnings 2013-02-03 17:08:48 +01:00
cketti e2ce85706d Fix NullPointerException 2013-02-03 17:00:56 +01:00
Danny Baumann 5d1e42c453 Improve certificate failure notifications.
The commit that introduced those notifications also introduced a rather
... interesting design pattern: The CertificateValidationException
notified the user of its pure existance - it's no longer a 'message'
only, but defines policy. As this is more than unusual, replace this
pattern by the MessagingController treating
CertificateValidationException specially when accessing remote folders.

Also make clear which account failed when constructing the notification.
2013-02-02 13:04:41 +01:00
maniac103 d97d6b848d Merge pull request #240 from maniac103/thread-star
Show thread as starred if at least one message in it is starred.
2013-02-02 04:03:22 -08:00
cketti cce969a6b6 Merge branch 'split_view'
Conflicts:
	res/values-de/strings.xml
	src/com/fsck/k9/fragment/MessageListFragment.java
2013-02-02 05:30:30 +01:00
cketti 57e55734c4 Make sure semaphore in MessageProvider is released in case of an error
Patch provided by teslacoil
2013-02-02 04:25:39 +01:00
cketti 3171ee969f Fix some warnings 2013-02-02 04:14:56 +01:00
cketti 58919c2912 Fix accessing the unread count using MessageProvider
Thanks to teslacoil for diagnosing the problem and coming up with a fix.
2013-02-02 04:13:26 +01:00
cketti 1f5ca9eeaa Don't use MessageViewFragment before it's initialized
The previous code worked fine on Android 4.2. But the lifecycle on older
Android versions (tested with 2.2) seems to be slightly different. This
should fix the problem.
2013-02-02 02:35:48 +01:00
cketti b02e338b49 Add animation when switching from message list to message view 2013-02-02 02:21:20 +01:00
cketti a7b90feb83 Fix handling of hotkeys to move to previous/next message 2013-02-01 21:35:38 +01:00
Danny Baumann 6d1f96966a Fix sorting of threaded messages. 2013-02-01 09:52:14 +01:00
Danny Baumann 74c79cc365 Aggregate some more thread columns properly.
- show thread as starred if at least one message in it is starred
- use arrival date of last message as thread arrival date
- use sum of message attachment counts in thread as thread attachment
  count
- show thread as answered/forwarded if all messages in thread were
  answered/forwarded
2013-02-01 09:51:28 +01:00
cketti 40bbc5f5ae Change default value of split-screen setting 2013-02-01 03:37:47 +01:00
cketti 6b143d845a Set MessageList title in action bar depending on display mode 2013-02-01 02:50:00 +01:00
cketti c11e5ef76b Fix back button behavior 2013-02-01 00:47:28 +01:00
cketti af51eee9b1 Get rid of MessageView activity 2013-01-31 04:34:23 +01:00
cketti 1ab04587a9 Restore list state when recreating MessageListFragment 2013-01-30 22:30:19 +01:00
cketti 5b8fe64917 Refactor code to restore the list state 2013-01-30 21:56:16 +01:00
cketti e9f57dd9c6 Merge branch 'remember-message-list-state' of git://github.com/maniac103/k-9 2013-01-30 20:30:46 +01:00
cketti c87878fb63 Merge pull request #238 from maniac103/thread-unread
Show thread as unread if at least one of the messages of the thread is unread.
2013-01-30 11:19:56 -08:00
cketti 77da312354 Fix the span range for the text in front of the message preview 2013-01-30 19:31:06 +01:00
Danny Baumann 6e23a5e8e6 Show thread as unread if at least one of the messages of the thread is
unread.

Fixes issue 4759.
2013-01-30 17:14:20 +01:00
Danny Baumann 55e5d8680e Remember last list view state when going back to a previous message list
fragment.

Fixes issue 4854.
2013-01-30 16:53:21 +01:00
cketti 7332c38bd4 Fix "return to list after delete" 2013-01-29 04:03:15 +01:00
cketti 957042a0d0 Make sure swipe gestures only work on the message list 2013-01-29 03:30:45 +01:00
cketti a00626264f Go back to message list when using the back button in message view 2013-01-29 01:25:22 +01:00
cketti ad2a6d7a9b Add message view menu items to MessageList 2013-01-29 01:19:53 +01:00
cketti 77b8e62d64 Add hotkeys from MessageView to MessageList 2013-01-28 16:15:03 +01:00
m0viefreak dae3b776ff MessageList: add setting to allow 0 preview lines 2013-01-28 04:45:03 +01:00
cketti 0a14d584e9 Add 1px divider between message list and message view in split view 2013-01-25 12:19:09 +01:00
cketti c5b1e1d0e5 Add setting to configure the splitview mode 2013-01-24 20:30:07 +01:00
cketti 573058bffc Add marker in message list for currently opened message 2013-01-24 15:36:59 +01:00
cketti 933dd95047 First very basic version of a split screen for message list + view 2013-01-24 13:04:06 +01:00
cketti 1d01bcb688 Clean up the code a bit 2013-01-22 23:47:38 +01:00
cketti bfdee8161c Fix compiler warnings/code style 2013-01-18 14:27:04 +01:00
cketti 0844b4d394 Use HoloColorPicker to generate random account colors 2013-01-18 14:21:26 +01:00
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
luyang bbdec62e37 Fix for StrictMode error.
When the device lost connectivity, a StrictMode error could be thrown since
the stream was never closed.
2012-11-28 19:55:42 +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
cketti 46feb8b9d0 Group messages by account when moving to spam/archive folder 2012-11-03 05:24:41 +01:00
cketti 02aeccdedc Make flag operations work on all messages in a thread 2012-11-03 05:01:25 +01:00
cketti 7a266dcbdf Retain selected messages when message list is reloaded 2012-11-03 04:26:41 +01:00
cketti 36b572fa5f Fix deleteThreadsSynchronous() 2012-11-03 04:25:40 +01:00
cketti fb5e8eea84 Fix computeBatchDirection() 2012-11-03 03:21:30 +01:00
cketti e339dd1f10 Delete all messages in a thread when 'delete' is used on the placeholder 2012-11-03 01:52:45 +01:00
cketti 966794f169 Don't create (throw-away) Message objects when starting action mode 2012-11-02 09:30:23 +01:00
cketti c686284a77 Remove unused method 2012-11-02 05:18:45 +01:00
cketti db3ea36978 Include number of messages in a thread in number of selected messages
Selecting a placeholder message will select all messages in its thread.
2012-11-02 05:18:24 +01:00
cketti 2e1d25118a Fix JOIN-condition when searching for messages 2012-11-01 20:33:13 +01:00
cketti 60bf3e7e29 Rename class members 2012-10-31 01:49:11 +01:00
cketti 08b361ed36 Fix search for Unified Inbox
We don't want to list the Inbox contents of all accounts but the
contents of folders whose "Unify" setting is true.
2012-10-31 01:45:44 +01:00
cketti a54666e020 Fix edge case in MergeCursor 2012-10-31 01:06:26 +01:00
cketti b0ef68dfed Make search also search the message contents 2012-10-30 19:24:19 +01:00
Joe Steele f70d835404 Provide menu option to search messages.
Recent phones frequently do not have a hardware search key, so
there is no way to initiate a search without a menu option.

Related to issues 3386, 3428, 4523, and 4643.
2012-10-30 12:42:51 -04:00
cketti 0baffd05c8 Hide remote search UI elements
Remote search is currently not working
2012-10-30 16:54:21 +01:00
cketti 968d948dd0 Restore show next/previous message functionality in MessageView
This is just a temporary fix. In the future we want to get rid of
passing the serialized message list from MessageList to MessageView.
2012-10-30 16:27:09 +01:00
cketti 303c1ee85d Extract generation of SQL queries for searches to SqlQueryBuilder 2012-10-29 02:27:34 +01:00
cketti 5778d135fb Add global setting to enable/disable threaded view 2012-10-28 20:10:52 +01:00
cketti 889e2502be Replace call to method only available with API 9 and higher 2012-10-27 05:09:58 +02:00
cketti 65b3a57340 Clone LocalSearch object before modifying it for unread/starred search 2012-10-27 04:48:37 +02:00
cketti faa666394c Do sorting in MergeCursor when merging the query results
Disabled "sort by sender" for now because the database can't sort by
contact names from the contacts database. We probably have to
special-case that and do in-memory sorting.
2012-10-27 02:15:30 +02:00
cketti d74ca8c8ce Move MessageInfoHolder comparator to MessageProvider
The MessageInfoHolder comparators aren't used in MessageListFragment
anymore.
2012-10-26 02:44:40 +02:00
cketti 08fba5468f Switch MergeCursor from using a List to an array 2012-10-25 23:14:28 +02:00
cketti 49a5a3b7ff Fix message sorting for message lists of a single account
To support sorting of message lists spanning multiple accounts (e.g.
Unified Inbox) we need a MergeCursor that also does sorting.
2012-10-25 21:51:14 +02:00
cketti a4585657d1 Fix global search 2012-10-24 06:57:14 +02:00
cketti d703286833 Make LocalStore.searchForMessages() skip empty messages 2012-10-24 06:01:26 +02:00
cketti 613ef6ced2 "Select all" now won't start selection mode when there are no messages 2012-10-24 05:35:45 +02:00
cketti 508e9e8aa6 Don't display threaded message list for filtered views 2012-10-24 05:28:38 +02:00
cketti c7a2080b34 Only show message list footer when displaying a single folder 2012-10-24 04:34:41 +02:00
cketti ec76dca57f Remove unused stuff 2012-10-24 01:37:33 +02:00
cketti 1fcce6fb8a Add database indices for thread columns in 'messages' table 2012-10-24 01:03:59 +02:00
cketti 3bef05b55d Removed LocalStore hack introduced in 16d2326 2012-10-24 00:32:29 +02:00
cketti cba9d8fc88 Fix pull to refresh for normal list vs. "remote search"-able 2012-10-24 00:09:33 +02:00
cketti 1b98ce57e1 Notify observers (e.g. CursorAdapter) when the messages table changed 2012-10-24 00:08:44 +02:00
cketti 95b39c71d2 Add threading support to content provider 2012-10-23 03:01:50 +02:00
cketti 05a2571570 Fix display of named searches (e.g. "Unified Inbox") 2012-10-22 18:10:47 +02:00
cketti 6af48bd262 Restore TCP port value in incoming/outgoing server settings screens
Special thanks to zjw for the detailed analysis of this bug:
https://github.com/k9mail/k-9/pull/193
2012-10-21 20:04:53 +02:00
cketti 93ef3a7b0f Fix message list when no search condition is given (All messages) 2012-10-21 19:18:57 +02:00
cketti f093b84142 Make (de)serialization work when LocalSearch has no search conditions 2012-10-21 19:17:01 +02:00
cketti 1d655f5bc2 Added ability to display special folders combining multiple accounts 2012-10-18 05:15:40 +02:00
cketti 20ed1ebe61 Code style cleanup 2012-10-17 20:52:03 +02:00
cketti fff94956f4 Fixed LocalSearch.addAllowedFolder()
We need to use the node returned by add() as new root node.
2012-10-16 22:51:01 +02:00
cketti 502771dd0e Revert changing the default value for debug logging 2012-10-16 22:48:31 +02:00
cketti f1e433e6df Whitespace cleanup 2012-10-16 22:42:51 +02:00
cketti 83d5102f3d Merge branch 'new_search_framework' into content_provider
Conflicts:
	src/com/fsck/k9/fragment/MessageListFragment.java
2012-10-16 20:57:47 +02:00
cketti cc74a2ad2e Switched to ContentProvider and CursorLoader to display the message list 2012-10-16 15:46:40 +02:00
Sander Bogaert 49197b4f1c First attempt at making the fragmented messagelist and remote search play nice with the new search framework. Works partially. 2012-10-13 15:07:28 -04:00
Sander Bogaert bf82d0af7c Changed all the calls to MessageList to work using the new LocalSearch class. These are all tested and working changes. 2012-10-13 15:06:57 -04:00
Sander Bogaert f01f2f15cd Add static methods to create unifiedInbox and allMessages accounts. 2012-10-13 14:19:50 -04:00
Sander Bogaert a3d227649f Change visibility of SearchModifier class and members. 2012-10-13 14:12:52 -04:00
Sander Bogaert f550aaefb5 Add new SearchAccount class and move it together with SearchModifier to the search package ( refactor ). 2012-10-13 14:03:40 -04:00
Sander Bogaert 235e1f913b Avoid needless nullpointers. 2012-10-13 10:40:13 -04:00
Sander Bogaert bdfc9d6852 Added two convenience methods to avoid dealing with exceptions all the time. 2012-10-13 10:08:39 -04:00
Sander Bogaert 9883148b2f Fixed wrong construction of leaf sets and unrightfully ignored exceptions. 2012-10-13 10:03:19 -04:00
Sander Bogaert 442805fe62 Made thread_root a searchable field of the message table. This can be used to display threads. 2012-10-13 09:28:19 -04:00
Sander Bogaert d27f909600 Add new search logic to the MessagingController and LocalStore classes. 2012-10-13 08:53:00 -04:00
Sander Bogaert 5c6552cbf3 Adding the 3 core classes for the search framework. ConditionsTreeNode, LocalSearch and SearchSpecification. 2012-10-13 05:57:25 -04:00
Sander Bogaert 611bae3fb4 Created search package to hold the framework and moved over the SearchSpecification class ( refactor ). 2012-10-12 12:30:26 +02:00
cketti c2bb451712 Don't display thread count in thread view 2012-10-10 04:32:48 +02:00
cketti 3413cbebf5 Worked around NPEs when the activity has been detached 2012-10-10 04:30:19 +02:00
Jesse Vincent 4e6453e7bb remove vestiges of a deleted setting 2012-10-09 21:31:19 -04:00
cketti 16d2326033 Nasty hack to retain threads in MessageListFragment when polling 2012-10-10 03:02:36 +02:00
Jesse Vincent e9ae328164 Bring back the checkboxes option for messagelist 2012-10-09 18:22:00 -04:00
cketti 63b6b497a0 Early version of message threading
Missing:
- UI support for threading when polling
- code to upgrade existing installations
- UI elements to switch from/to threaded display mode
- threading of messages with same subject
2012-10-08 22:51:29 +02:00
cketti e66dd3d521 Fixed unit tests 2012-10-08 14:43:34 +02:00
cketti d3f9633378 Merge branch 'fragments' 2012-10-08 14:33:33 +02:00
Jesse Vincent f62ac401a0 make the stroke border on our color chips a bit wider to make them easier to see 2012-10-06 17:31:24 -04:00
cketti 93b13362b4 Converted message list to a fragment 2012-10-06 03:41:32 +02:00
cketti 12e9dce1d8 Renamed MessageList to MessageListFragment 2012-10-05 18:14:07 +02:00
cketti 8a226972a5 Extracted functionality common to most activities to K9ActivityCommon 2012-10-05 18:14:07 +02:00
cketti bbcc4988ba Converted message view to a fragment
The fragment should be fully functional. The only thing missing is the
animation when showing the next/previous message.
2012-10-05 18:14:07 +02:00
cketti c6bea2e6ab Copied ...activity.MessageView to fragment.MessageViewFragment
This commit breaks all sorts of things but should retain the Git
history of MessageView.
2012-10-05 18:14:06 +02:00
Andrew Chen 41756802a1 Move hasConnectivity() method into a helper method.
It's now used in multiple places, so unify the logic into one place.
2012-10-05 09:07:16 -07:00
Jesse Vincent 7b23704bd5 Add "cc Me" and "from me" color chips. Uprez the chips 10x so we get crisp views rather than awful bitmappy stuff 2012-10-03 21:56:28 -04:00
Jesse Vincent 0c34a21ff0 Add a fromMe method on messages 2012-10-03 21:56:28 -04:00
Andrew Chen ecd4e0b001 Use the default date format if pulling from Preferences fails for any reason. 2012-10-03 10:06:40 -07:00
cketti 952c40710e Added setting to disable using the background as (un)read indicator 2012-10-02 22:56:06 +02:00
cketti fad52e6dac Hide 'mark as (un)read' and '(un)flag' in the message list context menu 2012-10-02 19:59:08 +02:00
Andrew Chen 1491935465 Prevent remote search if we have no network connectivity. 2012-09-30 10:44:20 -07:00
Andrew Chen 3861e7ca35 Log NumberFormatExceptions. Fix whitespace. 2012-09-29 07:53:34 -07:00
Andrew Chen 5a487f154c Merge pull request #185 from chamonkey/issue3714
Add number format handling to Storage.java
2012-09-29 07:51:48 -07:00
Andrew Chen 6b10451b79 Whitespace; no functional changes. 2012-09-29 07:48:58 -07:00
Andrew Chen 1d0ad3cb38 Enable remote search by default. 2012-09-29 07:48:49 -07:00
chamonkey 6e27a90905 Addition of number format handling to Storage.java 2012-09-28 14:48:16 +01:00
Andrew Chen 39e2a973a1 Merge branch 'imapsearch'
* imapsearch:
  Change settings version to 18 to match what's currrently on master.
  Handle aborted imap searches by nuking in-progress connections.
  Move IMAP search into the Folder level.
  Remove duplicate notification on remote search start.
  Rename variables
  changed PREFERENCE_CLOUD_SEARCH_ENABLED from "cloud_search_enabled" to "remote_search_enabled" in activity/setup/AccountSettings.java to resolve FC.
  Add cloud search icon to local search result screen. Implement pull-to-remote-search.
  Log remote search exceptions in addition to toasting them.
  Add settings export for remote search settings.
  Whitespace; no functional changes.
  Handle implicit vs. explicit searches in ActionBar home button behavior.
  Whitespace fix; no functional changes.
  Add remote search actionbar icons.
  IMAP Search: log exceptions on remote search, properly dispatch MessageList changes.
  modified loadMessageForView() to dowload message if neither X_DOWNLOADED_FULL nor X_DOWNLOADED_PARTIAL.
  Add remote IMAP search support.

Conflicts:
	res/menu/message_list_option.xml
	res/values/attrs.xml
	res/values/themes.xml
	src/com/fsck/k9/activity/MessageList.java
	src/com/fsck/k9/preferences/Settings.java
2012-09-25 16:01:52 -07:00
Andrew Chen d88a275840 Change settings version to 18 to match what's currrently on master. 2012-09-25 15:50:47 -07:00
Andrew Chen 2541753aff Handle aborted imap searches by nuking in-progress connections. 2012-09-25 15:46:30 -07:00
Andrew Chen 9f96cd36a7 Move IMAP search into the Folder level.
Should also consider moving the LocalStore search into the folder level and have the store call the folder level searches.
2012-09-25 14:34:59 -07:00
Andrew Chen 270d948edb Remove duplicate notification on remote search start. 2012-09-25 08:16:48 -07:00
Andrew Chen 5b59511c12 Rename variables 2012-09-25 07:50:10 -07:00
Jesse Vincent 0e3f87f77f Chip updates based on work by m0vie 2012-09-24 19:25:34 -04:00
Jesse Vincent 2c486e31b6 option to put the sender of a message above the subject 2012-09-24 19:11:21 -04:00
Jesse Vincent 83c5783442 Remove the "make this the default account" checkbox from the account setup flow.
If you're adding a new account, it's less likely to be your default than your first was.
No reason for this in initial flow
2012-09-24 12:34:55 -04:00
Jesse Vincent 7c0d47a493 switch back from an itemmenu ot a context menu in messagelist. 2012-09-24 12:11:34 -04:00
Jesse Vincent 6e3ac2317e Fix a bug that caused accounts to not have a color on initial load
(and now caused a crash on inital load)
2012-09-24 12:11:07 -04:00
ashley willis 6ee0548b71 changed PREFERENCE_CLOUD_SEARCH_ENABLED from "cloud_search_enabled" to "remote_search_enabled" in
activity/setup/AccountSettings.java to resolve FC.
2012-09-22 14:23:06 -05:00
Andrew Chen 360b3f1be8 Add cloud search icon to local search result screen. Implement pull-to-remote-search. 2012-09-22 09:40:46 -07:00
Andrew Chen 7631af1572 Log remote search exceptions in addition to toasting them. 2012-09-22 09:37:50 -07:00
Jesse Vincent 8df55d069d make the checkmarks a bit more prominent 2012-09-21 17:27:59 -04:00
Jesse Vincent 48785f52bf Remove the message list stars preference now that stars are in the chip 2012-09-21 17:27:58 -04:00
Jesse Vincent 158c98b5af replace checkboxes with a variant of the chip. 2012-09-21 17:27:58 -04:00