Move a11y indexing from DynamicContentMonitor to loader
This is necessary to kill DynamicContentMonitor later - Removed all logic related to indexing accesiblitysetting from the monitor class and AccessibilitySetting page itself - Created a loader to search against A11yServices at runtime I noticed adding a loader in SearchResultsAdapter is rather manual. It's something we should consider refactor in the future. Bug: 64310452 Test: robotests Change-Id: Iff31aff65ce000991229433f294e2ec69af99da2
This commit is contained in:
@@ -20,7 +20,6 @@ import android.accessibilityservice.AccessibilityServiceInfo;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ServiceInfo;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.drawable.Drawable;
|
||||
@@ -52,7 +51,6 @@ import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
@@ -727,40 +725,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
|
||||
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider() {
|
||||
@Override
|
||||
public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
|
||||
List<SearchIndexableRaw> indexables = new ArrayList<>();
|
||||
|
||||
PackageManager packageManager = context.getPackageManager();
|
||||
AccessibilityManager accessibilityManager =
|
||||
context.getSystemService(AccessibilityManager.class);
|
||||
|
||||
String screenTitle = context.getResources().getString(
|
||||
R.string.accessibility_settings);
|
||||
|
||||
// Indexing all services, regardless if enabled.
|
||||
List<AccessibilityServiceInfo> services = accessibilityManager
|
||||
.getInstalledAccessibilityServiceList();
|
||||
final int serviceCount = services.size();
|
||||
for (int i = 0; i < serviceCount; i++) {
|
||||
AccessibilityServiceInfo service = services.get(i);
|
||||
if (service == null || service.getResolveInfo() == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
ServiceInfo serviceInfo = service.getResolveInfo().serviceInfo;
|
||||
ComponentName componentName = new ComponentName(serviceInfo.packageName,
|
||||
serviceInfo.name);
|
||||
|
||||
SearchIndexableRaw indexable = new SearchIndexableRaw(context);
|
||||
indexable.key = componentName.flattenToString();
|
||||
indexable.title = service.getResolveInfo().loadLabel(packageManager).toString();
|
||||
indexable.screenTitle = screenTitle;
|
||||
indexables.add(indexable);
|
||||
}
|
||||
|
||||
return indexables;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
|
||||
|
Reference in New Issue
Block a user