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

Commit bb17108f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Remove "Hotspot" key from settings search if not needed" into...

Merge "Remove "Hotspot" key from settings search if not needed" into tm-qpr-dev am: 58292e70 am: 155beb06

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20307409



Change-Id: I08bf5d2cdbd4a1e038af7c54468d39590f72e7c7
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 812c7d79 155beb06
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.net.ConnectivityManager.TETHERING_BLUETOOTH;
import static android.net.ConnectivityManager.TETHERING_USB;
import static android.net.ConnectivityManager.TETHERING_USB;
import static android.net.TetheringManager.TETHERING_ETHERNET;
import static android.net.TetheringManager.TETHERING_ETHERNET;


import static com.android.settings.wifi.WifiUtils.canShowWifiHotspot;
import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfUsbDataSignalingIsDisabled;
import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfUsbDataSignalingIsDisabled;


import android.app.Activity;
import android.app.Activity;
@@ -628,6 +629,9 @@ public class TetherSettings extends RestrictedSettingsFragment


                    if (!TetherUtil.isTetherAvailable(context)) {
                    if (!TetherUtil.isTetherAvailable(context)) {
                        keys.add(KEY_TETHER_PREFS_SCREEN);
                        keys.add(KEY_TETHER_PREFS_SCREEN);
                    }

                    if (!canShowWifiHotspot(context) || !TetherUtil.isTetherAvailable(context)) {
                        keys.add(KEY_WIFI_TETHER);
                        keys.add(KEY_WIFI_TETHER);
                    }
                    }


+3 −2
Original line number Original line Diff line number Diff line
@@ -41,6 +41,7 @@ import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settings.wifi.WifiUtils;
import com.android.settingslib.TetherUtil;
import com.android.settingslib.TetherUtil;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexable;
@@ -296,12 +297,12 @@ public class WifiTetherSettings extends RestrictedDashboardFragment


        @Override
        @Override
        protected boolean isPageSearchEnabled(Context context) {
        protected boolean isPageSearchEnabled(Context context) {
            if (context == null || !WifiUtils.canShowWifiHotspot(context)) return false;
            return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
            return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
        }
        }


        @Override
        @Override
        public List<AbstractPreferenceController> createPreferenceControllers(
        public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
                Context context) {
            return buildPreferenceControllers(context, null /* listener */);
            return buildPreferenceControllers(context, null /* listener */);
        }
        }
    }
    }
+13 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,8 @@ import static android.content.Intent.ACTION_MEDIA_SHARED;
import static android.content.Intent.ACTION_MEDIA_UNSHARED;
import static android.content.Intent.ACTION_MEDIA_UNSHARED;
import static android.hardware.usb.UsbManager.ACTION_USB_STATE;
import static android.hardware.usb.UsbManager.ACTION_USB_STATE;


import static com.android.settings.wifi.WifiUtils.setCanShowWifiHotspotCached;

import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;


import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.any;
@@ -93,6 +95,7 @@ public class TetherSettingsTest {
                any(String.class), anyInt(), any(UserHandle.class));
                any(String.class), anyInt(), any(UserHandle.class));


        setupIsTetherAvailable(true);
        setupIsTetherAvailable(true);
        setCanShowWifiHotspotCached(true);


        when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
        when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
        when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[0]);
        when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[0]);
@@ -123,6 +126,16 @@ public class TetherSettingsTest {
        assertThat(niks).contains(TetherSettings.KEY_WIFI_TETHER);
        assertThat(niks).contains(TetherSettings.KEY_WIFI_TETHER);
    }
    }


    @Test
    public void getNonIndexableKeys_canNotShowWifiHotspot_containsWifiTether() {
        setCanShowWifiHotspotCached(false);
        setupIsTetherAvailable(true);

        List<String> keys = TetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);

        assertThat(keys).contains(TetherSettings.KEY_WIFI_TETHER);
    }

    @Test
    @Test
    public void testTetherNonIndexableKeys_usbNotAvailable_usbKeyReturned() {
    public void testTetherNonIndexableKeys_usbNotAvailable_usbKeyReturned() {
        when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
        when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
+19 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@ import android.net.TetheringManager;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Bundle;
import android.os.UserManager;
import android.os.UserManager;
import android.util.FeatureFlagUtils;
import android.widget.TextView;
import android.widget.TextView;


import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentActivity;
@@ -44,6 +45,7 @@ import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.core.app.ApplicationProvider;


import com.android.settings.R;
import com.android.settings.R;
import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settings.testutils.shadow.ShadowFragment;
@@ -93,6 +95,7 @@ public class WifiTetherSettingsTest {


    @Before
    @Before
    public void setUp() {
    public void setUp() {
        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
        setCanShowWifiHotspotCached(true);
        setCanShowWifiHotspotCached(true);
        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
        doReturn(mConnectivityManager)
        doReturn(mConnectivityManager)
@@ -218,6 +221,22 @@ public class WifiTetherSettingsTest {
        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
    }
    }


    @Test
    public void isPageSearchEnabled_canShowWifiHotspot_returnTrue() {
        setCanShowWifiHotspotCached(true);

        assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext))
                .isTrue();
    }

    @Test
    public void isPageSearchEnabled_canNotShowWifiHotspot_returnFalse() {
        setCanShowWifiHotspotCached(false);

        assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext))
                .isFalse();
    }

    private void spyWifiTetherSettings() {
    private void spyWifiTetherSettings() {
        mWifiTetherSettings = spy(new WifiTetherSettings(mWifiRestriction));
        mWifiTetherSettings = spy(new WifiTetherSettings(mWifiRestriction));
        final FragmentActivity activity = mock(FragmentActivity.class);
        final FragmentActivity activity = mock(FragmentActivity.class);