diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java index 02610b752bf..38f6b1a660d 100644 --- a/src/com/android/settings/accounts/AccountPreferenceController.java +++ b/src/com/android/settings/accounts/AccountPreferenceController.java @@ -63,7 +63,6 @@ import java.util.List; import static android.content.Intent.EXTRA_USER; import static android.os.UserManager.DISALLOW_MODIFY_ACCOUNTS; import static android.os.UserManager.DISALLOW_REMOVE_MANAGED_PROFILE; -import static android.os.UserManager.DISALLOW_REMOVE_USER; import static android.provider.Settings.EXTRA_AUTHORITIES; public class AccountPreferenceController extends PreferenceController @@ -405,7 +404,8 @@ public class AccountPreferenceController extends PreferenceController } private void updateAccountTypes(ProfileData profileData) { - if (mParent.getPreferenceManager() == null) { + if (mParent.getPreferenceManager() == null + || profileData.preferenceGroup.getPreferenceManager() == null) { // This could happen if activity is finishing return; } diff --git a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java index 78d669888fa..87be7561e2e 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java @@ -25,6 +25,7 @@ import android.os.UserManager; import android.support.v14.preference.PreferenceFragment; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; +import android.support.v7.preference.PreferenceManager; import android.support.v7.preference.PreferenceScreen; import com.android.settings.AccessiblePreferenceCategory; @@ -324,6 +325,7 @@ public class AccountPreferenceControllerTest { when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(authDescs); AccessiblePreferenceCategory preferenceGroup = mock(AccessiblePreferenceCategory.class); + when(preferenceGroup.getPreferenceManager()).thenReturn(mock(PreferenceManager.class)); when(mAccountHelper.createAccessiblePreferenceCategory(any(Context.class))).thenReturn( preferenceGroup);