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

Commit 6ddc4b49 authored by Salvador Martinez's avatar Salvador Martinez
Browse files

Update AP preference to not be master switch pref

People keep getting confused by the master switch preference for
wireless tethering. The wireless tethering page already has a switch
so this just removes it from the preference and has it take you to
the page when tapped on instead.

Bug: 69423941
Test: robotests
Change-Id: I66d6d3271e83b49ae77f203e7892438d27f96025
parent 895f7854
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:title="@string/tether_settings_title_all">

    <com.android.settings.widget.MasterSwitchPreference
    <Preference
        android:key="wifi_tether"
        android:title="@string/wifi_hotspot_checkbox_text"
        android:summary="@string/summary_two_lines_placeholder"
+3 −8
Original line number Diff line number Diff line
@@ -25,14 +25,13 @@ import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.text.BidiFormatter;

import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.widget.MasterSwitchController;
import com.android.settings.widget.MasterSwitchPreference;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -50,10 +49,9 @@ public class WifiTetherPreferenceController extends AbstractPreferenceController
    private final String[] mWifiRegexs;
    private final WifiManager mWifiManager;
    private final Lifecycle mLifecycle;
    private WifiTetherSwitchBarController mSwitchController;
    private int mSoftApState;
    @VisibleForTesting
    MasterSwitchPreference mPreference;
    Preference mPreference;
    @VisibleForTesting
    WifiTetherSoftApManager mWifiTetherSoftApManager;

@@ -88,14 +86,11 @@ public class WifiTetherPreferenceController extends AbstractPreferenceController
    @Override
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mPreference = (MasterSwitchPreference) screen.findPreference(WIFI_TETHER_SETTINGS);
        mPreference = screen.findPreference(WIFI_TETHER_SETTINGS);
        if (mPreference == null) {
            // unavailable
            return;
        }
        mSwitchController = new WifiTetherSwitchBarController(
                mContext, new MasterSwitchController(mPreference));
        mLifecycle.addObserver(mSwitchController);
    }

    @Override
+0 −42
Original line number Diff line number Diff line
@@ -122,48 +122,6 @@ public class WifiTetherPreferenceControllerTest {
        assertThat(mController.isAvailable()).isTrue();
    }

    @Test
    public void startAndStop_shouldRegisterUnregisterReceiver() {
        final BroadcastReceiver receiver = ReflectionHelpers.getField(mController, "mReceiver");

        mLifecycle.handleLifecycleEvent(ON_START);
        mLifecycle.handleLifecycleEvent(ON_STOP);

        assertThat(ShadowWifiTetherSwitchBarController.onStartCalled).isTrue();
        assertThat(ShadowWifiTetherSwitchBarController.onStopCalled).isTrue();
        verify(mContext).registerReceiver(eq(receiver), any(IntentFilter.class));
        verify(mContext).unregisterReceiver(receiver);
    }

    @Test
    public void start_wifiApOff_shouldSetInitialStateToOff() {
        when(mWifiManager.getWifiApState()).thenReturn(WifiManager.WIFI_AP_STATE_DISABLED);
        final BroadcastReceiver receiver = ReflectionHelpers.getField(mController, "mReceiver");
        final MasterSwitchPreference pref = mock(MasterSwitchPreference.class);
        when(mScreen.findPreference(anyString())).thenReturn(pref);

        mController.displayPreference(mScreen);
        mLifecycle.handleLifecycleEvent(ON_START);

        verify(mContext).registerReceiver(eq(receiver), any(IntentFilter.class));
        verify(pref).setChecked(false);
    }

    @Test
    public void start_wifiApOn_shouldSetInitialStateToOn() {
        when(mWifiManager.getWifiApState()).thenReturn(WifiManager.WIFI_AP_STATE_ENABLED);
        final BroadcastReceiver receiver = ReflectionHelpers.getField(mController, "mReceiver");
        final MasterSwitchPreference pref = mock(MasterSwitchPreference.class);
        when(mScreen.findPreference(anyString())).thenReturn(pref);

        mController.displayPreference(mScreen);
        mLifecycle.handleLifecycleEvent(ON_START);

        assertThat(ShadowWifiTetherSwitchBarController.onStartCalled).isTrue();
        verify(mContext).registerReceiver(eq(receiver), any(IntentFilter.class));
        verify(pref).setChecked(true);
    }

    @Test
    public void testReceiver_goingToAirplaneMode_shouldClearPreferenceSummary() {
        final ContentResolver cr = mock(ContentResolver.class);