summaryrefslogtreecommitdiffstats
path: root/src/com/android/contacts/editor/ContactEditorFragment.java
diff options
context:
space:
mode:
authorGary Mai <garymai@google.com>2017-01-10 16:47:45 -0800
committerGary Mai <garymai@google.com>2017-01-11 01:05:57 +0000
commit9f691e8b1c30dcdae230daebd26da0f225f74008 (patch)
tree45236e99ba60cd9339c71a361a14dc8478e2914d /src/com/android/contacts/editor/ContactEditorFragment.java
parent1134a9908ffc9db33de512ddaf7969a8855488de (diff)
downloadpackages_apps_Contacts-9f691e8b1c30dcdae230daebd26da0f225f74008.tar.gz
packages_apps_Contacts-9f691e8b1c30dcdae230daebd26da0f225f74008.tar.bz2
packages_apps_Contacts-9f691e8b1c30dcdae230daebd26da0f225f74008.zip
Fix editor crash when rotating during contact insert
Remember the current account being saved to when setting state for a new contact. Otherwise when during an insert it will never get set unless you select a new account from the switcher dropdown. Since it's null once the account load is finished it goes through the set state for a new contact code path again which adds another RawContactDelta to the list which breaks some of our assumptions regarding the size of mState. Test: Manually verified no crash occurs after rotation when adding a new contact from: * the fab * recommendations assistant * third party apps (dialer/messenger) Bug: 34126254 Bug: 34131358 Change-Id: I874cc592f94584a98e54010751c557cfd3b0d389
Diffstat (limited to 'src/com/android/contacts/editor/ContactEditorFragment.java')
-rw-r--r--src/com/android/contacts/editor/ContactEditorFragment.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index c1a149b28..84c2b1f7c 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -1090,6 +1090,7 @@ public class ContactEditorFragment extends Fragment implements
private void setStateForNewContact(AccountWithDataSet account, AccountType accountType,
RawContactDelta oldState, AccountType oldAccountType, boolean isUserProfile) {
mStatus = Status.EDITING;
+ mAccountWithDataSet = account;
mState.add(createNewRawContactDelta(account, accountType, oldState, oldAccountType));
mIsUserProfile = isUserProfile;
mNewContactDataReady = true;
@@ -1702,7 +1703,6 @@ public class ContactEditorFragment extends Fragment implements
public void onRebindEditorsForNewContact(RawContactDelta oldState,
AccountWithDataSet oldAccount, AccountWithDataSet newAccount) {
mNewContactAccountChanged = true;
- mAccountWithDataSet = newAccount;
rebindEditorsForNewContact(oldState, oldAccount, newAccount);
}