Merge "Don't crash in EmailActivity if no accounts exist" into ics-mr1
This commit is contained in:
commit
de6b6db995
@ -78,6 +78,9 @@ public class MessageListContext implements Parcelable {
|
|||||||
} else {
|
} else {
|
||||||
if (accountId == Account.NO_ACCOUNT) {
|
if (accountId == Account.NO_ACCOUNT) {
|
||||||
accountId = Account.getDefaultAccountId(context);
|
accountId = Account.getDefaultAccountId(context);
|
||||||
|
if (accountId == Account.NO_ACCOUNT) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (mailboxId == Mailbox.NO_MAILBOX) {
|
if (mailboxId == Mailbox.NO_MAILBOX) {
|
||||||
mailboxId = (accountId == Account.ACCOUNT_ID_COMBINED_VIEW)
|
mailboxId = (accountId == Account.ACCOUNT_ID_COMBINED_VIEW)
|
||||||
|
@ -199,19 +199,22 @@ public class EmailActivity extends Activity implements View.OnClickListener, Fra
|
|||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
mUIController.onRestoreInstanceState(savedInstanceState);
|
mUIController.onRestoreInstanceState(savedInstanceState);
|
||||||
} else {
|
} 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();
|
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
|
@Override
|
||||||
protected void onSaveInstanceState(Bundle outState) {
|
protected void onSaveInstanceState(Bundle outState) {
|
||||||
if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) {
|
if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) {
|
||||||
|
Loading…
Reference in New Issue
Block a user