diff options
author | Gary Mai <garymai@google.com> | 2017-01-10 16:47:45 -0800 |
---|---|---|
committer | Gary Mai <garymai@google.com> | 2017-01-11 01:05:57 +0000 |
commit | 9f691e8b1c30dcdae230daebd26da0f225f74008 (patch) | |
tree | 45236e99ba60cd9339c71a361a14dc8478e2914d /src/com/android/contacts/editor/ContactEditorFragment.java | |
parent | 1134a9908ffc9db33de512ddaf7969a8855488de (diff) | |
download | packages_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.java | 2 |
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); } |