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
This commit is contained in:
Roshan Pius
2019-10-30 09:51:50 -07:00
parent c5a039a89f
commit f13145b323
5 changed files with 14 additions and 16 deletions

View File

@@ -116,8 +116,8 @@ public class HotspotConditionController implements ConditionalCardController {
private CharSequence getSsid() { private CharSequence getSsid() {
WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration(); WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration();
if (wifiConfig == null) { if (wifiConfig == null) {
return mAppContext.getText( // Should never happen.
com.android.internal.R.string.wifi_tether_configure_ssid_default); return "";
} else { } else {
return wifiConfig.SSID; return wifiConfig.SSID;
} }

View File

@@ -261,8 +261,7 @@ public class WifiConfigController implements TextWatcher,
mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings); mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings);
mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings); mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings); mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings);
if (mContext.getResources().getBoolean( if (mWifiManager.isConnectedMacRandomizationSupported()) {
com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported)) {
View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields); View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields);
privacySettingsLayout.setVisibility(View.VISIBLE); privacySettingsLayout.setVisibility(View.VISIBLE);
} }

View File

@@ -65,9 +65,8 @@ public class WifiPrivacyPreferenceController extends BasePreferenceController im
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return mContext.getResources().getBoolean( return mWifiManager.isConnectedMacRandomizationSupported()
com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported) ? ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
AVAILABLE : CONDITIONALLY_UNAVAILABLE;
} }
@Override @Override

View File

@@ -16,6 +16,7 @@
package com.android.settings.wifi.tether; package com.android.settings.wifi.tether;
import android.annotation.NonNull;
import android.content.Context; import android.content.Context;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.wifi.WifiClient; import android.net.wifi.WifiClient;
@@ -164,12 +165,12 @@ public class WifiTetherPreferenceController extends AbstractPreferenceController
} }
} }
private void updateConfigSummary(WifiConfiguration wifiConfig) { private void updateConfigSummary(@NonNull WifiConfiguration wifiConfig) {
final String s = mContext.getString( if (wifiConfig == null) {
com.android.internal.R.string.wifi_tether_configure_ssid_default); // Should never happen.
return;
}
mPreference.setSummary(mContext.getString(R.string.wifi_tether_enabled_subtext, mPreference.setSummary(mContext.getString(R.string.wifi_tether_enabled_subtext,
BidiFormatter.getInstance().unicodeWrap( BidiFormatter.getInstance().unicodeWrap(wifiConfig.SSID)));
(wifiConfig == null) ? s : wifiConfig.SSID)));
} }
} }

View File

@@ -61,11 +61,10 @@ public class HotspotConditionControllerTest {
} }
@Test @Test
public void buildContextualCard_noWifiAp_shouldHaveDefaultSsid() { public void buildContextualCard_noWifiAp_shouldHaveEmptySsid() {
final ContextualCard card = mController.buildContextualCard(); final ContextualCard card = mController.buildContextualCard();
assertThat(card.getSummaryText()).isEqualTo( assertThat(card.getSummaryText()).isEqualTo("");
mContext.getText(com.android.internal.R.string.wifi_tether_configure_ssid_default));
} }
private void setupWifiApConfiguration() { private void setupWifiApConfiguration() {