diff --git a/res/xml/location_mode.xml b/res/xml/location_mode.xml index b1b05bba8dd..e6dc067f472 100644 --- a/res/xml/location_mode.xml +++ b/res/xml/location_mode.xml @@ -17,15 +17,15 @@ - - - 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/src/com/android/settings/location/LocationMode.java b/src/com/android/settings/location/LocationMode.java index e50a0d9cbab..4ca098de22f 100644 --- a/src/com/android/settings/location/LocationMode.java +++ b/src/com/android/settings/location/LocationMode.java @@ -21,6 +21,7 @@ import android.support.v7.preference.PreferenceScreen; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; +import com.android.settings.widget.RadioButtonPreference; /** * A page with 3 radio buttons to choose the location mode. diff --git a/src/com/android/settings/location/RadioButtonPreference.java b/src/com/android/settings/widget/RadioButtonPreference.java similarity index 83% rename from src/com/android/settings/location/RadioButtonPreference.java rename to src/com/android/settings/widget/RadioButtonPreference.java index 91352666f66..cf5921eca8f 100644 --- a/src/com/android/settings/location/RadioButtonPreference.java +++ b/src/com/android/settings/widget/RadioButtonPreference.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013 The Android Open Source Project + * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,9 +14,10 @@ * limitations under the License. */ -package com.android.settings.location; +package com.android.settings.widget; import android.content.Context; +import android.support.v4.content.res.TypedArrayUtils; import android.support.v7.preference.CheckBoxPreference; import android.support.v7.preference.PreferenceViewHolder; import android.util.AttributeSet; @@ -36,7 +37,7 @@ import com.android.settings.R; */ public class RadioButtonPreference extends CheckBoxPreference { public interface OnClickListener { - public abstract void onRadioButtonClicked(RadioButtonPreference emiter); + void onRadioButtonClicked(RadioButtonPreference emiter); } private OnClickListener mListener = null; @@ -47,14 +48,16 @@ public class RadioButtonPreference extends CheckBoxPreference { } public RadioButtonPreference(Context context, AttributeSet attrs) { - this(context, attrs, com.android.internal.R.attr.checkBoxPreferenceStyle); + this(context, attrs, TypedArrayUtils.getAttr(context, + android.support.v7.preference.R.attr.preferenceStyle, + android.R.attr.preferenceStyle)); } public RadioButtonPreference(Context context) { this(context, null); } - void setOnClickListener(OnClickListener listener) { + public void setOnClickListener(OnClickListener listener) { mListener = listener; } 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);