From c7804c130becb7bd8f0dbd8789349b42bdba76cf Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Fri, 13 Jan 2017 14:57:01 -0800 Subject: [PATCH] Another attempt fix for account preference screen. Fix: 34219500 Test: RunSettingsRoboTests Change-Id: I316e36496fc9d7eca9c718275c0f113b181d7f1e --- src/com/android/settings/accounts/AccountPreferenceController.java | 4 ++-- .../android/settings/accounts/AccountPreferenceControllerTest.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java index 02610b752b..38f6b1a660 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 78d669888f..87be7561e2 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); -- 2.11.0