Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f13145b3 authored by Roshan Pius's avatar Roshan Pius
Browse files

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
parent c5a039a8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
        }
+1 −2
Original line number Diff line number Diff line
@@ -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);
        }
+2 −3
Original line number Diff line number Diff line
@@ -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
+7 −6
Original line number Diff line number Diff line
@@ -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)));
    }
}
+2 −3
Original line number Diff line number Diff line
@@ -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() {