am de6b6db9: Merge "Don\'t crash in EmailActivity if no accounts exist" into ics-mr1

* commit 'de6b6db9951637147ae4288d386995ac07c87f26':
  Don't crash in EmailActivity if no accounts exist
This commit is contained in:
Marc Blank 2011-11-10 23:30:56 +00:00 committed by Android Git Automerger
commit 2764af4269
2 changed files with 15 additions and 9 deletions

View File

@ -78,6 +78,9 @@ public class MessageListContext implements Parcelable {
} else {
if (accountId == Account.NO_ACCOUNT) {
accountId = Account.getDefaultAccountId(context);
if (accountId == Account.NO_ACCOUNT) {
return null;
}
}
if (mailboxId == Mailbox.NO_MAILBOX) {
mailboxId = (accountId == Account.ACCOUNT_ID_COMBINED_VIEW)

View File

@ -199,19 +199,22 @@ public class EmailActivity extends Activity implements View.OnClickListener, Fra
if (savedInstanceState != null) {
mUIController.onRestoreInstanceState(savedInstanceState);
} else {
initFromIntent();
final Intent intent = getIntent();
final MessageListContext viewContext = MessageListContext.forIntent(this, intent);
if (viewContext == null) {
// This might happen if accounts were deleted on another thread, and there aren't
// any remaining
Welcome.actionStart(this);
finish();
return;
} else {
final long messageId = intent.getLongExtra(EXTRA_MESSAGE_ID, Message.NO_MESSAGE);
mUIController.open(viewContext, messageId);
}
}
mUIController.onActivityCreated();
}
private void initFromIntent() {
final Intent intent = getIntent();
final MessageListContext viewContext = MessageListContext.forIntent(this, intent);
final long messageId = intent.getLongExtra(EXTRA_MESSAGE_ID, Message.NO_MESSAGE);
mUIController.open(viewContext, messageId);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) {