From 262226137de1007a6373666b792ebed6eb4c03de Mon Sep 17 00:00:00 2001 From: Fred Quintana Date: Mon, 1 Mar 2010 13:45:22 -0800 Subject: [PATCH] fix a system crash that occurs when ChooseAccountActivity is restarted from the icicle http://b/issue?id=2352368 --- .../android/accounts/ChooseAccountActivity.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/core/java/android/accounts/ChooseAccountActivity.java b/core/java/android/accounts/ChooseAccountActivity.java index 4a0018e1f7226..0bbb6fc077e4d 100644 --- a/core/java/android/accounts/ChooseAccountActivity.java +++ b/core/java/android/accounts/ChooseAccountActivity.java @@ -36,14 +36,15 @@ public class ChooseAccountActivity extends ListActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (savedInstanceState == null) { - mAccounts = getIntent().getParcelableArrayExtra(AccountManager.KEY_ACCOUNTS); - mAccountManagerResponse = - getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_MANAGER_RESPONSE); - } else { - mAccounts = savedInstanceState.getParcelableArray(AccountManager.KEY_ACCOUNTS); - mAccountManagerResponse = - savedInstanceState.getParcelable(AccountManager.KEY_ACCOUNT_MANAGER_RESPONSE); + mAccounts = getIntent().getParcelableArrayExtra(AccountManager.KEY_ACCOUNTS); + mAccountManagerResponse = + getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_MANAGER_RESPONSE); + + // KEY_ACCOUNTS is a required parameter + if (mAccounts == null) { + setResult(RESULT_CANCELED); + finish(); + return; } String[] mAccountNames = new String[mAccounts.length];