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() {
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;
}

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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)));
}
}

View File

@@ -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() {