Remove Index.java from old Search and its dependents

Test: make RunSettingsRoboTests
Bug: 35763944, 36192909
Change-Id:  If216e1eeb4c29e7372720c6228fa4e99ea2a9904
This commit is contained in:
Matthew Fritze
2017-03-16 13:33:18 -07:00
parent 6b58b5c9f7
commit 5c83cfa278
19 changed files with 104 additions and 1981 deletions

View File

@@ -52,7 +52,9 @@ import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
import com.android.settings.inputmethod.VirtualKeyboardFragment;
import com.android.settings.language.LanguageAndInputSettings;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.print.PrintSettingsFragment;
import com.android.settings.search2.DatabaseIndexingManager;
import java.util.ArrayList;
import java.util.List;
@@ -67,7 +69,7 @@ public final class DynamicIndexableContentMonitor implements
private static final PackageChangeMonitor PACKAGE_CHANGE_MONITOR = new PackageChangeMonitor();
// Null if not initialized.
@Nullable private Index mIndex;
@Nullable private DatabaseIndexingManager mIndexManager;
private Context mContext;
private boolean mHasFeaturePrinting;
@@ -112,22 +114,25 @@ public final class DynamicIndexableContentMonitor implements
final boolean isUserUnlocked = activity
.getSystemService(UserManager.class)
.isUserUnlocked();
register(activity, loaderId, Index.getInstance(activity), isUserUnlocked);
register(activity, loaderId, FeatureFactory.getFactory(activity)
.getSearchFeatureProvider().getIndexingManager(activity), isUserUnlocked);
}
/**
* For testing to inject {@link Index} object. Also because currently Robolectric doesn't
* support API 24, we can not test code that calls {@link UserManager#isUserUnlocked()}.
* For testing to inject {@link DatabaseIndexingManager} object.
* Also because currently Robolectric doesn't support API 24, we can not test code that calls
* {@link UserManager#isUserUnlocked()}.
*/
@VisibleForTesting
void register(Activity activity, int loaderId, Index index, boolean isUserUnlocked) {
void register(Activity activity, int loaderId, DatabaseIndexingManager indexManager,
boolean isUserUnlocked) {
if (!isUserUnlocked) {
Log.w(TAG, "Skipping content monitoring because user is locked");
return;
}
final Context context = activity.getApplicationContext();
mContext = context;
mIndex = index;
mIndexManager = indexManager;
PACKAGE_CHANGE_MONITOR.registerMonitor(context);
mHasFeaturePrinting = context.getPackageManager()
@@ -137,11 +142,11 @@ public final class DynamicIndexableContentMonitor implements
}
// Watch for input device changes.
InputDevicesMonitor.getInstance().initialize(context, index);
InputDevicesMonitor.getInstance().initialize(context, mIndexManager);
// Start tracking packages.
AccessibilityServicesMonitor.getInstance().initialize(context, index);
InputMethodServicesMonitor.getInstance().initialize(context, index);
AccessibilityServicesMonitor.getInstance().initialize(context, mIndexManager);
InputMethodServicesMonitor.getInstance().initialize(context, mIndexManager);
}
/**
@@ -152,7 +157,7 @@ public final class DynamicIndexableContentMonitor implements
* @param loaderId id for loading print services.
*/
public void unregister(Activity activity, int loaderId) {
if (mIndex == null) return;
if (mIndexManager == null) return;
PACKAGE_CHANGE_MONITOR.unregisterMonitor();
if (mHasFeaturePrinting) {
@@ -170,7 +175,7 @@ public final class DynamicIndexableContentMonitor implements
@Override
public void onLoadFinished(Loader<List<PrintServiceInfo>> loader,
List<PrintServiceInfo> services) {
mIndex.updateFromClassNameResource(PrintSettingsFragment.class.getName(),
mIndexManager.updateFromClassNameResource(PrintSettingsFragment.class.getName(),
false /* rebuild */, true /* includeInSearchResult */);
}
@@ -183,7 +188,7 @@ public final class DynamicIndexableContentMonitor implements
private static class InputDevicesMonitor implements InputManager.InputDeviceListener {
// Null if not initialized.
@Nullable private Index mIndex;
@Nullable private DatabaseIndexingManager mIndexManager;
private InputManager mInputManager;
private InputDevicesMonitor() {}
@@ -198,15 +203,15 @@ public final class DynamicIndexableContentMonitor implements
@VisibleForTesting
synchronized void resetForTesting() {
if (mIndex != null) {
if (mIndexManager != null) {
mInputManager.unregisterInputDeviceListener(this /* listener */);
}
mIndex = null;
mIndexManager = null;
}
synchronized void initialize(Context context, Index index) {
if (mIndex != null) return;
mIndex = index;
synchronized void initialize(Context context, DatabaseIndexingManager indexManager) {
if (mIndexManager != null) return;
mIndexManager = indexManager;
mInputManager = (InputManager) context.getSystemService(Context.INPUT_SERVICE);
buildIndex(true /* rebuild */);
@@ -215,7 +220,7 @@ public final class DynamicIndexableContentMonitor implements
}
private void buildIndex(boolean rebuild) {
mIndex.updateFromClassNameResource(PhysicalKeyboardFragment.class.getName(),
mIndexManager.updateFromClassNameResource(PhysicalKeyboardFragment.class.getName(),
rebuild, true /* includeInSearchResult */);
}
@@ -314,7 +319,7 @@ public final class DynamicIndexableContentMonitor implements
private static class AccessibilityServicesMonitor {
// Null if not initialized.
@Nullable private Index mIndex;
@Nullable private DatabaseIndexingManager mIndexManager;
private PackageManager mPackageManager;
private final List<String> mAccessibilityServices = new ArrayList<>();
@@ -331,12 +336,12 @@ public final class DynamicIndexableContentMonitor implements
@VisibleForTesting
synchronized void resetForTesting() {
mIndex = null;
mIndexManager = null;
}
synchronized void initialize(Context context, Index index) {
if (mIndex != null) return;
mIndex = index;
synchronized void initialize(Context context, DatabaseIndexingManager index) {
if (mIndexManager != null) return;
mIndexManager = index;
mPackageManager = context.getPackageManager();
mAccessibilityServices.clear();
buildIndex(true /* rebuild */);
@@ -354,12 +359,12 @@ public final class DynamicIndexableContentMonitor implements
}
private void buildIndex(boolean rebuild) {
mIndex.updateFromClassNameResource(AccessibilitySettings.class.getName(),
mIndexManager.updateFromClassNameResource(AccessibilitySettings.class.getName(),
rebuild, true /* includeInSearchResult */);
}
synchronized void onPackageAvailable(String packageName) {
if (mIndex == null) return;
if (mIndexManager == null) return;
if (mAccessibilityServices.contains(packageName)) return;
final Intent intent = getAccessibilityServiceIntent(packageName);
@@ -371,7 +376,7 @@ public final class DynamicIndexableContentMonitor implements
}
synchronized void onPackageUnavailable(String packageName) {
if (mIndex == null) return;
if (mIndexManager == null) return;
if (!mAccessibilityServices.remove(packageName)) return;
buildIndex(true /* rebuild */);
}
@@ -385,7 +390,7 @@ public final class DynamicIndexableContentMonitor implements
Settings.Secure.getUriFor(Settings.Secure.ENABLED_INPUT_METHODS);
// Null if not initialized.
@Nullable private Index mIndex;
@Nullable private DatabaseIndexingManager mIndexManager;
private PackageManager mPackageManager;
private ContentResolver mContentResolver;
private final List<String> mInputMethodServices = new ArrayList<>();
@@ -406,19 +411,19 @@ public final class DynamicIndexableContentMonitor implements
@VisibleForTesting
synchronized void resetForTesting() {
if (mIndex != null) {
if (mIndexManager != null) {
mContentResolver.unregisterContentObserver(this /* observer */);
}
mIndex = null;
mIndexManager = null;
}
synchronized void initialize(Context context, Index index) {
synchronized void initialize(Context context, DatabaseIndexingManager indexManager) {
final boolean hasFeatureIme = context.getPackageManager()
.hasSystemFeature(PackageManager.FEATURE_INPUT_METHODS);
if (!hasFeatureIme) return;
if (mIndex != null) return;
mIndex = index;
if (mIndexManager != null) return;
mIndexManager = indexManager;
mPackageManager = context.getPackageManager();
mContentResolver = context.getContentResolver();
mInputMethodServices.clear();
@@ -448,12 +453,12 @@ public final class DynamicIndexableContentMonitor implements
}
private void buildIndex(Class<?> indexClass, boolean rebuild) {
mIndex.updateFromClassNameResource(indexClass.getName(), rebuild,
mIndexManager.updateFromClassNameResource(indexClass.getName(), rebuild,
true /* includeInSearchResult */);
}
synchronized void onPackageAvailable(String packageName) {
if (mIndex == null) return;
if (mIndexManager == null) return;
if (mInputMethodServices.contains(packageName)) return;
final Intent intent = getIMEServiceIntent(packageName);
@@ -466,7 +471,7 @@ public final class DynamicIndexableContentMonitor implements
}
synchronized void onPackageUnavailable(String packageName) {
if (mIndex == null) return;
if (mIndexManager == null) return;
if (!mInputMethodServices.remove(packageName)) return;
buildIndex(VirtualKeyboardFragment.class, true /* rebuild */);
buildIndex(AvailableVirtualKeyboardFragment.class, true /* rebuild */);