diff --git a/src/com/fsck/k9/activity/MessageList.java b/src/com/fsck/k9/activity/MessageList.java index 34f5655ba..fcca71ecc 100644 --- a/src/com/fsck/k9/activity/MessageList.java +++ b/src/com/fsck/k9/activity/MessageList.java @@ -213,7 +213,10 @@ public class MessageList extends K9FragmentActivity implements MessageListFragme // Enable gesture detection for MessageLists setupGestureDetector(this); - decodeExtras(getIntent()); + if (!decodeExtras(getIntent())) { + return; + } + findFragments(); initializeDisplayMode(savedInstanceState); initializeLayout(); @@ -244,7 +247,10 @@ public class MessageList extends K9FragmentActivity implements MessageListFragme mSearch = null; mFolderName = null; - decodeExtras(intent); + if (!decodeExtras(intent)) { + return; + } + initializeDisplayMode(null); initializeFragments(); displayViews(); @@ -361,7 +367,7 @@ public class MessageList extends K9FragmentActivity implements MessageListFragme } } - private void decodeExtras(Intent intent) { + private boolean decodeExtras(Intent intent) { String action = intent.getAction(); if (Intent.ACTION_VIEW.equals(action)) { Uri uri = intent.getData(); @@ -433,7 +439,7 @@ public class MessageList extends K9FragmentActivity implements MessageListFragme String folderName = intent.getStringExtra("folder"); mSearch = new LocalSearch(folderName); - mSearch.addAccountUuid(accountUuid); + mSearch.addAccountUuid((accountUuid == null) ? "invalid" : accountUuid); if (folderName != null) { mSearch.addAllowedFolder(folderName); } @@ -459,7 +465,7 @@ public class MessageList extends K9FragmentActivity implements MessageListFragme if (mSingleAccountMode && (mAccount == null || !mAccount.isAvailable(this))) { Log.i(K9.LOG_TAG, "not opening MessageList of unavailable account"); onAccountUnavailable(); - return; + return false; } if (mSingleFolderMode) { @@ -468,6 +474,8 @@ public class MessageList extends K9FragmentActivity implements MessageListFragme // now we know if we are in single account mode and need a subtitle mActionBarSubTitle.setVisibility((!mSingleFolderMode) ? View.GONE : View.VISIBLE); + + return true; } @Override