From f13145b323abd0b5cd0010c2531df0bfa4d844b5 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Wed, 30 Oct 2019 09:51:50 -0700 Subject: [PATCH] Settings: Use public API for mac randomization support Also, don't directly reference the default tether ssid overlay. This info should always be retrieved from wifiManager. This ensures that we don't use wifi overlays in settings. Bug: 143464763 Test: atest com.android.server.wifi Change-Id: I893a4ca0f4243e1eb6f9c8bef810d0b4a493fb88 --- .../conditional/HotspotConditionController.java | 4 ++-- .../android/settings/wifi/WifiConfigController.java | 3 +-- .../details/WifiPrivacyPreferenceController.java | 5 ++--- .../wifi/tether/WifiTetherPreferenceController.java | 13 +++++++------ .../conditional/HotspotConditionControllerTest.java | 5 ++--- 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java b/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java index 3557e49d2f4..bd0bd7a4456 100644 --- a/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java +++ b/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java @@ -116,8 +116,8 @@ public class HotspotConditionController implements ConditionalCardController { private CharSequence getSsid() { WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration(); if (wifiConfig == null) { - return mAppContext.getText( - com.android.internal.R.string.wifi_tether_configure_ssid_default); + // Should never happen. + return ""; } else { return wifiConfig.SSID; } diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index 94cb306fefd..0ba2a940c24 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -261,8 +261,7 @@ public class WifiConfigController implements TextWatcher, mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings); mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings); mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings); - if (mContext.getResources().getBoolean( - com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported)) { + if (mWifiManager.isConnectedMacRandomizationSupported()) { View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields); privacySettingsLayout.setVisibility(View.VISIBLE); } diff --git a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java index 950cc131f4a..eab0fa4bd35 100644 --- a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java +++ b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java @@ -65,9 +65,8 @@ public class WifiPrivacyPreferenceController extends BasePreferenceController im @Override public int getAvailabilityStatus() { - return mContext.getResources().getBoolean( - com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported) ? - AVAILABLE : CONDITIONALLY_UNAVAILABLE; + return mWifiManager.isConnectedMacRandomizationSupported() + ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; } @Override diff --git a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java index 73f1d82d270..121af92607a 100644 --- a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java +++ b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java @@ -16,6 +16,7 @@ package com.android.settings.wifi.tether; +import android.annotation.NonNull; import android.content.Context; import android.net.ConnectivityManager; import android.net.wifi.WifiClient; @@ -164,12 +165,12 @@ public class WifiTetherPreferenceController extends AbstractPreferenceController } } - private void updateConfigSummary(WifiConfiguration wifiConfig) { - final String s = mContext.getString( - com.android.internal.R.string.wifi_tether_configure_ssid_default); - + private void updateConfigSummary(@NonNull WifiConfiguration wifiConfig) { + if (wifiConfig == null) { + // Should never happen. + return; + } mPreference.setSummary(mContext.getString(R.string.wifi_tether_enabled_subtext, - BidiFormatter.getInstance().unicodeWrap( - (wifiConfig == null) ? s : wifiConfig.SSID))); + BidiFormatter.getInstance().unicodeWrap(wifiConfig.SSID))); } } diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java index 8663d0bcbb5..ac3d7d8af93 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java @@ -61,11 +61,10 @@ public class HotspotConditionControllerTest { } @Test - public void buildContextualCard_noWifiAp_shouldHaveDefaultSsid() { + public void buildContextualCard_noWifiAp_shouldHaveEmptySsid() { final ContextualCard card = mController.buildContextualCard(); - assertThat(card.getSummaryText()).isEqualTo( - mContext.getText(com.android.internal.R.string.wifi_tether_configure_ssid_default)); + assertThat(card.getSummaryText()).isEqualTo(""); } private void setupWifiApConfiguration() {