diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java index ee4cc2983c7..10d1d48f4a2 100644 --- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java +++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java @@ -140,6 +140,8 @@ public class WifiNetworkDetailsFragment extends DashboardFragment { context); privacyController.setWifiConfiguration(mAccessPoint.getConfig()); privacyController.setIsEphemeral(mAccessPoint.isEphemeral()); + privacyController.setIsPasspoint( + mAccessPoint.isPasspoint() || mAccessPoint.isPasspointConfig()); controllers.add(privacyController); return controllers; diff --git a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java index a549e21ac27..7bec4119f8d 100644 --- a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java +++ b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java @@ -41,6 +41,7 @@ public class WifiPrivacyPreferenceController extends BasePreferenceController im private WifiConfiguration mWifiConfiguration; private WifiManager mWifiManager; private boolean mIsEphemeral = false; + private boolean mIsPasspoint = false; public WifiPrivacyPreferenceController(Context context) { super(context, KEY_WIFI_PRIVACY); @@ -56,6 +57,10 @@ public class WifiPrivacyPreferenceController extends BasePreferenceController im mIsEphemeral = isEphemeral; } + public void setIsPasspoint(boolean isPasspoint) { + mIsPasspoint = isPasspoint; + } + @Override public int getAvailabilityStatus() { return mContext.getResources().getBoolean( @@ -71,7 +76,7 @@ public class WifiPrivacyPreferenceController extends BasePreferenceController im updateSummary(dropDownPreference, randomizationLevel); // Makes preference not selectable, when this is a ephemeral network. - if (mIsEphemeral) { + if (mIsEphemeral || mIsPasspoint) { preference.setSelectable(false); dropDownPreference.setSummary(R.string.wifi_privacy_settings_ephemeral_summary); } diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiPrivacyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiPrivacyPreferenceControllerTest.java index a1af8bf272c..2e588b54a69 100644 --- a/tests/robotests/src/com/android/settings/wifi/details/WifiPrivacyPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/details/WifiPrivacyPreferenceControllerTest.java @@ -109,4 +109,20 @@ public class WifiPrivacyPreferenceControllerTest { assertThat(mDropDownPreference.isSelectable()).isFalse(); } + + @Test + public void testUpdateState_isNotPasspointNetwork_shouldBeSelectable() { + mPreferenceController.setIsPasspoint(false); + mPreferenceController.updateState(mDropDownPreference); + + assertThat(mDropDownPreference.isSelectable()).isTrue(); + } + + @Test + public void testUpdateState_isPasspointNetwork_shouldNotSelectable() { + mPreferenceController.setIsPasspoint(true); + mPreferenceController.updateState(mDropDownPreference); + + assertThat(mDropDownPreference.isSelectable()).isFalse(); + } }