Remove extra IndexProviders that provided bad data.

Gesture Settings and Wireless settings were indexing
duplicate results that only added complexity to Search.
PowerUsageDetail was never supposed to be indexed.

Bug:33701673
Test: make RunSettingsRoboTests
Change-Id: I45d1fa4bd412c3418acec24f8c98eb4736f220ab
This commit is contained in:
Matthew Fritze
2017-01-26 15:21:24 -08:00
parent 007d120c47
commit 46173a5265
15 changed files with 4 additions and 253 deletions

View File

@@ -216,56 +216,4 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
protected int getHelpResource() {
return R.string.help_url_more_networks;
}
/**
* For Search.
*/
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
// Remove wireless settings from search in demo mode
if (UserManager.isDeviceInDemoMode(context)) {
return Collections.emptyList();
}
SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.wireless_settings;
return Arrays.asList(sir);
}
@Override
public List<String> getNonIndexableKeys(Context context) {
final ArrayList<String> result = new ArrayList<String>();
final UserManager um = (UserManager) context.getSystemService(
Context.USER_SERVICE);
final boolean isSecondaryUser = !um.isAdminUser();
final boolean isWimaxEnabled = !isSecondaryUser
&& context.getResources().getBoolean(
com.android.internal.R.bool.config_wimaxEnabled);
if (!isWimaxEnabled) {
result.add(KEY_WIMAX_SETTINGS);
}
new VpnPreferenceController(context).updateNonIndexableKeys(result);
new NfcPreferenceController(context).updateNonIndexableKeys(result);
new MobilePlanPreferenceController(context, null /* MobilePlanClickHandler */)
.updateNonIndexableKeys(result);
new MobileNetworkPreferenceController(context)
.updateNonIndexableKeys(result);
// Remove Airplane Mode settings if it's a stationary device such as a TV.
new AirplaneModePreferenceController(context, null /* fragment */)
.updateNonIndexableKeys(result);
new ProxyPreferenceController(context).updateNonIndexableKeys(result);
new TetherPreferenceController(context).updateNonIndexableKeys(result);
new WifiCallingPreferenceController(context).updateNonIndexableKeys(result);
return result;
}
};
}

View File

@@ -829,19 +829,4 @@ public class PowerUsageDetail extends PowerUsageBase implements Button.OnClickLi
}
}
}
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.power_usage_details;
return Arrays.asList(sir);
}
};
}

View File

@@ -64,14 +64,4 @@ public class DoubleTapPowerPreferenceController extends GesturePreferenceControl
Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
return cameraDisabled == 0;
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(0, true);
valueMap.put(1, false);
return new InlineSwitchPayload(Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -70,14 +70,4 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro
protected boolean isSwitchPrefEnabled() {
return mAmbientConfig.pulseOnDoubleTapEnabled(mUserId);
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(1, true);
valueMap.put(0, false);
return new InlineSwitchPayload(Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -85,14 +85,4 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController
}
return false;
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(1, true);
valueMap.put(0, false);
return new InlineSwitchPayload(Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -143,51 +143,4 @@ public class GestureSettings extends DashboardFragment {
mPreferences.add((GesturePreference) preference);
}
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
boolean enabled) {
ArrayList<SearchIndexableResource> result =
new ArrayList<SearchIndexableResource>();
SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.gesture_settings;
result.add(sir);
return result;
}
@Override
public List<String> getNonIndexableKeys(Context context) {
ArrayList<String> result = new ArrayList<String>();
List<PreferenceController> preferenceControllers =
getPreferenceControllers(context);
for (PreferenceController controller : preferenceControllers) {
controller.updateNonIndexableKeys(result);
}
return result;
}
@Override
public List<PreferenceController> getPreferenceControllers(Context context) {
List<PreferenceController> controllers = new ArrayList<>();
AmbientDisplayConfiguration ambientConfig
= new AmbientDisplayConfiguration(context);
controllers.add(new DoubleTapPowerPreferenceController(context,
null /* lifecycle */));
controllers.add(new PickupGesturePreferenceController(context,
null /* lifecycle */, ambientConfig, UserHandle.myUserId()));
controllers.add(new DoubleTapScreenPreferenceController(context,
null /* lifecycle */, ambientConfig, UserHandle.myUserId()));
controllers.add(new SwipeToNotificationPreferenceController(context,
null /* lifecycle */));
controllers.add(new DoubleTwistPreferenceController(context,
null /* lifecycle */));
return controllers;
}
};
}

View File

@@ -70,14 +70,4 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll
Settings.Secure.DOZE_PULSE_ON_PICK_UP, enabled ? 1 : 0);
return true;
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(1, true);
valueMap.put(0, false);
return new InlineSwitchPayload(Settings.Secure.DOZE_PULSE_ON_PICK_UP,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -63,14 +63,4 @@ public class SwipeToNotificationPreferenceController extends GesturePreferenceCo
Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, 0)
== 1;
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(1, true);
valueMap.put(0, false);
return new InlineSwitchPayload(Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -3,3 +3,5 @@ com.android.settings.language.LanguageAndRegionSettings
com.android.settings.notification.ZenModePrioritySettings
com.android.settings.inputmethod.InputAndGestureSettings
com.android.settings.accounts.AccountDetailDashboardFragment
com.android.settings.gestures.GestureSettings
com.android.settings.fuelgauge.PowerUsageDetail

View File

@@ -93,23 +93,4 @@ public class DoubleTapPowerPreferenceControllerTest {
assertThat(mController.isSwitchPrefEnabled()).isFalse();
}
@Test
public void testPreferenceController_ProperResultPayloadType() {
final Context context = ShadowApplication.getInstance().getApplicationContext();
mController = new DoubleTapPowerPreferenceController(context, null);
ResultPayload payload = mController.getResultPayload();
assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
}
@Test
public void testPreferenceController_CorrectPayload() {
final Context context = ShadowApplication.getInstance().getApplicationContext();
mController = new DoubleTapPowerPreferenceController(context, null);
InlineSwitchPayload payload = (InlineSwitchPayload) mController.getResultPayload();
assertThat(payload.settingsUri).isEqualTo("camera_double_tap_power_gesture_disabled");
assertThat(payload.settingSource).isEqualTo(ResultPayload.SettingsSource.SECURE);
assertThat(payload.valueMap.get(0)).isEqualTo(true);
assertThat(payload.valueMap.get(1)).isEqualTo(false);
}
}

View File

@@ -81,19 +81,4 @@ public class DoubleTapScreenPreferenceControllerTest {
assertThat(mController.isSwitchPrefEnabled()).isFalse();
}
@Test
public void testPreferenceController_ProperResultPayloadType() {
ResultPayload payload = mController.getResultPayload();
assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
}
@Test
public void testPreferenceController_CorrectPayload() {
InlineSwitchPayload payload = (InlineSwitchPayload) mController.getResultPayload();
assertThat(payload.settingsUri).isEqualTo("doze_pulse_on_double_tap");
assertThat(payload.settingSource).isEqualTo(ResultPayload.SettingsSource.SECURE);
assertThat(payload.valueMap.get(1)).isEqualTo(true);
assertThat(payload.valueMap.get(0)).isEqualTo(false);
}
}

View File

@@ -113,19 +113,4 @@ public class DoubleTwistPreferenceControllerTest {
assertThat(mController.isSwitchPrefEnabled()).isFalse();
}
@Test
public void testPreferenceController_ProperResultPayloadType() {
ResultPayload payload = mController.getResultPayload();
assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
}
@Test
public void testPreferenceController_CorrectPayload() {
InlineSwitchPayload payload = (InlineSwitchPayload) mController.getResultPayload();
assertThat(payload.settingsUri).isEqualTo("camera_double_twist_to_flip_enabled");
assertThat(payload.settingSource).isEqualTo(ResultPayload.SettingsSource.SECURE);
assertThat(payload.valueMap.get(1)).isEqualTo(true);
assertThat(payload.valueMap.get(0)).isEqualTo(false);
}
}

View File

@@ -83,19 +83,4 @@ public class PIckupGesturePreferenceControllerTest {
assertThat(mController.isSwitchPrefEnabled()).isFalse();
}
@Test
public void testPreferenceController_ProperResultPayloadType() {
ResultPayload payload = mController.getResultPayload();
assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
}
@Test
public void testPreferenceController_CorrectPayload() {
InlineSwitchPayload payload = (InlineSwitchPayload) mController.getResultPayload();
assertThat(payload.settingsUri).isEqualTo("doze_pulse_on_pick_up");
assertThat(payload.settingSource).isEqualTo(ResultPayload.SettingsSource.SECURE);
assertThat(payload.valueMap.get(1)).isEqualTo(true);
assertThat(payload.valueMap.get(0)).isEqualTo(false);
}
}

View File

@@ -89,19 +89,4 @@ public class SwipeToNotificationPreferenceControllerTest {
assertThat(mController.isSwitchPrefEnabled()).isFalse();
}
@Test
public void testPreferenceController_ProperResultPayloadType() {
ResultPayload payload = mController.getResultPayload();
assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
}
@Test
public void testPreferenceController_CorrectPayload() {
InlineSwitchPayload payload = (InlineSwitchPayload) mController.getResultPayload();
assertThat(payload.settingsUri).isEqualTo("system_navigation_keys_enabled");
assertThat(payload.settingSource).isEqualTo(ResultPayload.SettingsSource.SECURE);
assertThat(payload.valueMap.get(1)).isEqualTo(true);
assertThat(payload.valueMap.get(0)).isEqualTo(false);
}
}

View File

@@ -72,14 +72,6 @@ public class DatabaseIndexingUtilsTest {
assertThat(map).isNull();
}
@Test
public void testGetPreferenceControllerUriMap_CompatibleClass_ReturnsNotNull() {
String className = "com.android.settings.gestures.GestureSettings";
Map map = DatabaseIndexingUtils.getPreferenceControllerUriMap(className, mContext);
assertThat(map).isNotNull();
}
@Test
public void testGetPreferenceControllerUriMap_CompatibleClass_ReturnsValidMap() {
String className = "com.android.settings.DisplaySettings";
@@ -96,7 +88,7 @@ public class DatabaseIndexingUtilsTest {
}
@Test
public void testGetPayloadFromMap_MatchingKey_ReturnsPayloa() {
public void testGetPayloadFromMap_MatchingKey_ReturnsPayload() {
final String key = "key";
PreferenceController prefController = new PreferenceController(mContext) {
@Override