Commit Graph

3064 Commits

Author SHA1 Message Date
Jesse Vincent f5eb2708b4 restore super-dense layout when the user has selected 0 lines of message preview 2013-07-20 15:37:48 -04:00
Jesse Vincent 5cec9e175b Replace synchronous setting of a flag with async setting of the flag. This helps speed up message display time (anecdotally) 2013-07-18 20:27:16 -04:00
Jesse Vincent b27ffcf502 Marking a message as read in the database is currently very expensive, especially if you have threading enabled.
Defer that until _after_ telling listeners that they're cool to show the message
2013-07-18 20:26:54 -04:00
cketti 01438d62c9 Make sure we always have the ID of a folder when fetching the unread/flagged count 2013-07-18 20:26:34 -04:00
Jesse Vincent 04ad291ba2 Opening a folder (especially in threaded mode) does a very heavy SQL query. This method doesn't use or modify the folder object. Don't cargo-cult the Open here.
(cketti may well tell me I'm wrong about this. Happy to listen & fix)
2013-07-18 20:26:19 -04:00
cketti c1ab586ecc Stop using the old Android Market URL 2013-07-18 20:25:52 -04:00
Jesse Vincent a40e7d80c1 Cache our compat lookups for our message webview - (They're expensive on
older devices - and pointless not to reuse)
2013-07-18 20:25:21 -04:00
Jesse Vincent 6d86fb3b16 Don't invalidate the options menu from the message list as we open a
message. We also invalidate it (twice) as we show the message. It turns
out to have measurable performance impact on 2.3 thanks to ABS
2013-07-18 20:24:59 -04:00
Jesse Vincent 9698fa7e32 Add an index for a heavy query 2013-07-18 20:18:20 -04:00
cketti 3b09b83f20 Fix actions started from the message list context menu
This patch makes sure actions started via the context menu operate on
the correct message even when the message list changes and the 'adapter
position' accessible via the menu object points to another message.
When the message the menu was opened for is deleted the context menu
will be closed.
2013-07-09 03:02:27 +02:00
Koji Arai 68ff355e34 adapt to a corner case for broken server. 2013-07-08 15:48:40 -04:00
Koji Arai c185cf0f1f adapt broken pop3 server 2013-07-08 15:48:40 -04:00
cketti 916489ad9d Don't load unread/flagged count when creating LocalFolder instances
This avoids a potentially expensive LEFT JOIN when querying the database.
2013-07-08 04:50:30 +02:00
cketti d7db3777cd Refactor code to create LocalFolder instances from a database query. 2013-07-08 04:50:28 +02:00
cketti b9ecf30b5b Fix code to reset the database when upgrading fails
Previously the app crashed when upgrading the database failed. Now we
reset the database version and run the upgrade code again (recreating
all tables).
2013-07-03 20:59:49 +02:00
cketti b6d7f4ae40 Fix "Folders" menu item and hotkey handling in MessageList 2013-07-03 20:59:46 +02:00
Jesse Vincent 721744f9f7 better guarding for the folders menu item in the face of search folders with multiple accounts 2013-07-03 20:59:43 +02:00
cketti c1fbb9c1fc Use the color chip area as click target for the multi-select checkboxes 2013-07-03 20:59:02 +02:00
Jesse Vincent f6ab0a5ea4 Play store NPE:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fsck.k9/com.fsck.k9.activity.UpgradeDatabases}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2117)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2155)
at android.app.ActivityThread.access$700(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1248)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5062)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1409)
at android.app.Activity.startActivityForResult(Activity.java:3389)
at android.app.Activity.startActivityForResult(Activity.java:3350)
at android.app.Activity.startActivity(Activity.java:3562)
at android.app.Activity.startActivity(Activity.java:3528)
at com.fsck.k9.activity.UpgradeDatabases.launchOriginalActivity(UpgradeDatabases.java:183)
at com.fsck.k9.activity.UpgradeDatabases.onCreate(UpgradeDatabases.java:109)
at android.app.Activity.performCreate(Activity.java:5058)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2081)
... 11 more
2013-07-01 23:32:46 -04:00
Jesse Vincent 969cbcb688 Back, by popular demand, an empty trash button in the accounts context menu 2013-06-30 16:52:45 -04:00
Jesse Vincent 6649c19cb6 Add a "Folders" menu item back to the message list to ease nav discoverability 2013-06-30 16:38:02 -04:00
cketti e685d3521c Don't crash when MessageList is started with no intent extras 2013-06-29 03:59:10 +02:00
cketti 876d4d61df Don't use extended notifications when privacy mode is enabled 2013-06-27 19:25:21 +02:00
cketti 3da571e264 Correctly initialize mSingleAccountMode
This fixes a NullPointerException when trying to open account settings
from the Unified Inbox (when there's only one account).
2013-06-27 18:59:26 +02:00
Jesse Vincent 64a92423b7 broaden a 'catch' to catch other failures showing all headers.
Market reported NPE:

java.lang.NullPointerException
at com.fsck.k9.view.MessageHeader.showAdditionalHeaders(MessageHeader.java:186)
at com.fsck.k9.view.MessageHeader.onShowAdditionalHeaders(MessageHeader.java:318)
at com.fsck.k9.fragment.MessageViewFragment.onToggleAllHeadersView(MessageViewFragment.java:300)
at com.fsck.k9.activity.MessageList.onOptionsItemSelected(MessageList.java:867)
at android.support.v4.app.Watson.onMenuItemSelected(Watson.java:119)
at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:603)
at com.actionbarsherlock.internal.ActionBarSherlockNative.dispatchOptionsItemSelected(ActionBarSherlockNative.java:78)
at com.actionbarsherlock.app.SherlockFragmentActivity.onMenuItemSelected(SherlockFragmentActivity.java:205)
at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1047)
at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
at com.android.internal.view.menu.ListMenuPresenter.onItemClick(ListMenuPresenter.java:180)
at android.widget.AdapterView.performItemClick(AdapterView.java:301)
at android.widget.AbsListView.performItemClick(AbsListView.java:1276)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3067)
at android.widget.AbsListView$1.run(AbsListView.java:3963)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4898)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
at dalvik.system.NativeStart.main(Native Method)
2013-06-27 12:23:54 -04:00
Jesse Vincent 34c1d983fb market-reported NPE
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fsck.k9/com.fsck.k9.activity.MessageList}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
at android.app.ActivityThread.access$600(ActivityThread.java:128)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4517)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.fsck.k9.activity.MessageList.decodeExtras(MessageList.java:368)
at com.fsck.k9.activity.MessageList.onCreate(MessageList.java:216)
at android.app.Activity.performCreate(Activity.java:4470)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
k
2013-06-27 12:07:28 -04:00
cketti fc77bf6029 Only enable debug logging when running a debuggable build
There have been some complaints from Android developers that get flooded
by K-9's log messages when debugging their own apps. Oops :)
2013-06-09 02:36:12 +02:00
cketti dc6987862b Disable strict mode 2013-05-24 22:57:01 +02:00
cketti bcfc1e141d Always include currently opened message in the message list
This should fix various bugs where moving to the next/previous message
didn't work.
2013-05-23 21:41:30 +02:00
Joe Steele acfc3e0f63 Fix settings versioning after merging autofitWidth branch.
Versioning on master was updated subsequent to the creation
of the branch.
2013-05-08 23:10:01 -04:00
Jesse Vincent 2e74d28da9 Merge branch 'Issue_4503_auto-fit_messages_option' of https://github.com/zjw/k-9 into zjw-Issue_4503_auto-fit_messages_option
* 'Issue_4503_auto-fit_messages_option' of https://github.com/zjw/k-9:
  Revert "Don't show a disabled preference if there is nothing a user can do to enable it."
  Fix indentation
  Correct preference version number.
  Issue 4503: Auto-fit messages option
  Don't show a disabled preference if there is nothing a user can do to enable it.
2013-05-07 21:49:12 -04:00
cketti edf75ec05a Fix crash on search with multiple accounts set up 2013-05-05 03:03:40 +02:00
Joe Steele 97a2f1b261 Revert "Don't show a disabled preference if there is nothing a user can do to enable it."
This reverts commit 0ecc49815f because
an equivalent commit was subsequently made to master:
5f49195a0a
2013-04-28 13:37:29 -04:00
cketti c7024af9a1 Merge branch 'message-list-sender-sorting' 2013-04-26 02:39:48 +02:00
cketti 99daa4068f Merge branch 'better_singleaccount_check' 2013-04-26 02:37:19 +02:00
cketti 46ed21d9f5 Merge branch 'smtp_port_fix' 2013-04-26 02:30:27 +02:00
cketti b91b86c657 Change SMTP default port to 587 2013-04-26 02:29:36 +02:00
cketti 1c722876f1 Use very light grey instead of white for message text in dark theme 2013-04-24 01:05:11 +02:00
cketti d14bdc0b79 Exclude folders Trash, Spam, and Outbox from "All messages" 2013-04-23 20:14:29 +02:00
cketti 8c8e0d299d Fix copyOrMove() so it works for single messages in Unified Inbox 2013-04-23 19:25:05 +02:00
cketti 8f9dd78012 Always enable "pull to refresh" when "check mail" action is shown 2013-04-23 18:55:24 +02:00
dzan 6c1b3cbc68 Change smtp+tls default port to 587. 2013-04-20 18:02:30 +02:00
cketti 5f49195a0a Hide "condensed layout" setting instead of disabling it 2013-04-19 02:24:41 +02:00
cketti e15409bafa Don't show ALL unread messages for "notification opens unread messages" 2013-04-18 22:06:33 +02:00
cketti 0d80dd8fe1 Avoid another NPE 2013-04-18 05:49:18 +02:00
cketti 51ad31a513 Avoid NullPointerException 2013-04-18 05:43:11 +02:00
cketti 4890cd9ea0 Better cope with messages having identical message IDs 2013-04-17 02:09:43 +02:00
cketti d29825fe57 Fix settings file versioning 2013-04-16 01:21:26 +02:00
dzan 33cf1bc222 If messagelist started from Unified localsearch, verify if we are really dealing with multiple accounts. If not then set SingleAccountMode anyway. 2013-04-14 14:47:45 +02:00
Joe Steele 84769d2433 Fix indentation 2013-04-11 22:26:32 -04:00