Merge "Remove "Hotspot" key from settings search if not needed" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
58292e7058
@@ -20,6 +20,7 @@ import static android.net.ConnectivityManager.TETHERING_BLUETOOTH;
|
||||
import static android.net.ConnectivityManager.TETHERING_USB;
|
||||
import static android.net.TetheringManager.TETHERING_ETHERNET;
|
||||
|
||||
import static com.android.settings.wifi.WifiUtils.canShowWifiHotspot;
|
||||
import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfUsbDataSignalingIsDisabled;
|
||||
|
||||
import android.app.Activity;
|
||||
@@ -589,6 +590,9 @@ public class TetherSettings extends RestrictedSettingsFragment
|
||||
|
||||
if (!TetherUtil.isTetherAvailable(context)) {
|
||||
keys.add(KEY_TETHER_PREFS_SCREEN);
|
||||
}
|
||||
|
||||
if (!canShowWifiHotspot(context) || !TetherUtil.isTetherAvailable(context)) {
|
||||
keys.add(KEY_WIFI_TETHER);
|
||||
}
|
||||
|
||||
|
@@ -41,6 +41,7 @@ import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.dashboard.RestrictedDashboardFragment;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
import com.android.settings.wifi.WifiUtils;
|
||||
import com.android.settingslib.TetherUtil;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
@@ -292,12 +293,12 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
|
||||
|
||||
@Override
|
||||
protected boolean isPageSearchEnabled(Context context) {
|
||||
if (context == null || !WifiUtils.canShowWifiHotspot(context)) return false;
|
||||
return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AbstractPreferenceController> createPreferenceControllers(
|
||||
Context context) {
|
||||
public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
|
||||
return buildPreferenceControllers(context, null /* listener */);
|
||||
}
|
||||
}
|
||||
|
@@ -20,6 +20,8 @@ import static android.content.Intent.ACTION_MEDIA_SHARED;
|
||||
import static android.content.Intent.ACTION_MEDIA_UNSHARED;
|
||||
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 org.mockito.ArgumentMatchers.any;
|
||||
@@ -93,6 +95,7 @@ public class TetherSettingsTest {
|
||||
any(String.class), anyInt(), any(UserHandle.class));
|
||||
|
||||
setupIsTetherAvailable(true);
|
||||
setCanShowWifiHotspotCached(true);
|
||||
|
||||
when(mTetheringManager.getTetherableUsbRegexs()).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);
|
||||
}
|
||||
|
||||
@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
|
||||
public void testTetherNonIndexableKeys_usbNotAvailable_usbKeyReturned() {
|
||||
when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
|
||||
|
@@ -37,6 +37,7 @@ import android.net.TetheringManager;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserManager;
|
||||
import android.util.FeatureFlagUtils;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
@@ -44,6 +45,7 @@ import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.dashboard.RestrictedDashboardFragment;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||
@@ -93,6 +95,7 @@ public class WifiTetherSettingsTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
|
||||
setCanShowWifiHotspotCached(true);
|
||||
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
|
||||
doReturn(mConnectivityManager)
|
||||
@@ -218,6 +221,22 @@ public class WifiTetherSettingsTest {
|
||||
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() {
|
||||
mWifiTetherSettings = spy(new WifiTetherSettings(mWifiRestriction));
|
||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
||||
|
Reference in New Issue
Block a user