Fix search non-indexable update

- When creating preference conotrollers, if one fail, skip that one
  instead of giving up entire operation.
- Fix BatterySaverController by providing a existing looper.

Change-Id: Iefe443b7fa91e51515c5c247fab4d9588867baef
Fixes: 73903739
Test: robotest
This commit is contained in:
Fan Zhang
2018-02-27 16:05:02 -08:00
parent 8e6d5ad27e
commit f609cad6f0
7 changed files with 89 additions and 14 deletions

View File

@@ -67,14 +67,20 @@ public class PreferenceControllerListHelper {
try {
controller = BasePreferenceController.createInstance(context, controllerName);
} catch (IllegalStateException e) {
Log.d(TAG, "Could not find Context-only controller for pref: " + controllerName);
final String key = metadata.getString(METADATA_KEY);
if (TextUtils.isEmpty(key)) {
Log.w(TAG, "Controller requires key but it's not defined in xml: "
+ controllerName);
continue;
}
Log.d(TAG, "Could not find Context-only controller for pref: " + key);
controller = BasePreferenceController.createInstance(context, controllerName, key);
try {
controller = BasePreferenceController.createInstance(context, controllerName,
key);
} catch (IllegalStateException e2) {
Log.w(TAG, "Cannot instantiate controller from reflection: " + controllerName);
continue;
}
}
controllers.add(controller);
}