Remove Instant Hotspot from Settings search
- If Instant Hotspot is not enabled then remove it from Settings search Bug: 339159245 Flag: None Test: Manual testing atest -c WifiTetherSettingsTest Change-Id: I0b1d34c1130b17bfc0f3f0451a10c8aba265733c
This commit is contained in:
@@ -43,6 +43,7 @@ import com.android.settings.overlay.FeatureFactory;
|
|||||||
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.settings.wifi.WifiUtils;
|
||||||
|
import com.android.settings.wifi.repository.SharedConnectivityRepository;
|
||||||
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;
|
||||||
@@ -346,16 +347,20 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
|
|||||||
static class SearchIndexProvider extends BaseSearchIndexProvider {
|
static class SearchIndexProvider extends BaseSearchIndexProvider {
|
||||||
|
|
||||||
private final WifiRestriction mWifiRestriction;
|
private final WifiRestriction mWifiRestriction;
|
||||||
|
private final boolean mIsInstantHotspotEnabled;
|
||||||
|
|
||||||
SearchIndexProvider(int xmlRes) {
|
SearchIndexProvider(int xmlRes) {
|
||||||
super(xmlRes);
|
super(xmlRes);
|
||||||
mWifiRestriction = new WifiRestriction();
|
mWifiRestriction = new WifiRestriction();
|
||||||
|
mIsInstantHotspotEnabled = SharedConnectivityRepository.isDeviceConfigEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
SearchIndexProvider(int xmlRes, WifiRestriction wifiRestriction) {
|
SearchIndexProvider(int xmlRes, WifiRestriction wifiRestriction,
|
||||||
|
boolean isInstantHotspotEnabled) {
|
||||||
super(xmlRes);
|
super(xmlRes);
|
||||||
mWifiRestriction = wifiRestriction;
|
mWifiRestriction = wifiRestriction;
|
||||||
|
mIsInstantHotspotEnabled = isInstantHotspotEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -369,6 +374,9 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
|
|||||||
keys.add(KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
keys.add(KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
||||||
keys.add(KEY_WIFI_TETHER_AUTO_OFF);
|
keys.add(KEY_WIFI_TETHER_AUTO_OFF);
|
||||||
keys.add(KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
keys.add(KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
||||||
|
keys.add(KEY_INSTANT_HOTSPOT);
|
||||||
|
} else if (!mIsInstantHotspotEnabled) {
|
||||||
|
keys.add(KEY_INSTANT_HOTSPOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove duplicate
|
// Remove duplicate
|
||||||
|
@@ -266,7 +266,8 @@ public class WifiTetherSettingsTest {
|
|||||||
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
|
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
|
||||||
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
|
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
|
||||||
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
||||||
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction);
|
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
|
||||||
|
true /* isInstantHotspotEnabled */);
|
||||||
|
|
||||||
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
||||||
|
|
||||||
@@ -275,6 +276,7 @@ public class WifiTetherSettingsTest {
|
|||||||
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
||||||
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
|
||||||
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
||||||
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -282,7 +284,8 @@ public class WifiTetherSettingsTest {
|
|||||||
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(false);
|
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(false);
|
||||||
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
|
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
|
||||||
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
||||||
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction);
|
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
|
||||||
|
true /* isInstantHotspotEnabled */);
|
||||||
|
|
||||||
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
||||||
|
|
||||||
@@ -291,6 +294,7 @@ public class WifiTetherSettingsTest {
|
|||||||
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
||||||
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
|
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
|
||||||
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
||||||
|
assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -298,7 +302,26 @@ public class WifiTetherSettingsTest {
|
|||||||
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
|
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
|
||||||
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(false);
|
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(false);
|
||||||
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
||||||
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction);
|
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
|
||||||
|
true /* isInstantHotspotEnabled */);
|
||||||
|
|
||||||
|
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
||||||
|
|
||||||
|
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
|
||||||
|
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
|
||||||
|
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
||||||
|
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
|
||||||
|
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
||||||
|
assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getNonIndexableKeys_tetherAndHotspotNotAvailable_keysReturned() {
|
||||||
|
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(false);
|
||||||
|
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(false);
|
||||||
|
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
||||||
|
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
|
||||||
|
true /* isInstantHotspotEnabled */);
|
||||||
|
|
||||||
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
||||||
|
|
||||||
@@ -310,19 +333,21 @@ public class WifiTetherSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getNonIndexableKeys_tetherAndHotspotNotAvailable_keysReturned() {
|
public void getNonIndexableKeys_instantHotspotNotAvailableOnly_keysContainInstantHotspotOnly() {
|
||||||
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(false);
|
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
|
||||||
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(false);
|
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
|
||||||
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
WifiTetherSettings.SearchIndexProvider searchIndexProvider =
|
||||||
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction);
|
new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
|
||||||
|
false /* isInstantHotspotEnabled */);
|
||||||
|
|
||||||
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
|
||||||
|
|
||||||
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
|
||||||
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
|
||||||
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
|
||||||
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
|
||||||
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
|
||||||
|
assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user