Merge "Move IME related seach landing pages to its fragments"
This commit is contained in:
committed by
Android (Google) Code Review
commit
0166269dda
@@ -21,6 +21,7 @@ import android.annotation.NonNull;
|
|||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.admin.DevicePolicyManager;
|
import android.app.admin.DevicePolicyManager;
|
||||||
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
@@ -33,9 +34,14 @@ import android.os.Bundle;
|
|||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import android.view.inputmethod.InputMethodInfo;
|
import android.view.inputmethod.InputMethodInfo;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
import android.view.inputmethod.InputMethodSubtype;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
|
import com.android.settings.search.Indexable;
|
||||||
|
import com.android.settings.search.SearchIndexableRaw;
|
||||||
|
|
||||||
import java.text.Collator;
|
import java.text.Collator;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -44,7 +50,7 @@ import java.util.Comparator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public final class AvailableVirtualKeyboardFragment extends SettingsPreferenceFragment
|
public final class AvailableVirtualKeyboardFragment extends SettingsPreferenceFragment
|
||||||
implements InputMethodPreference.OnSavePreferenceListener {
|
implements InputMethodPreference.OnSavePreferenceListener, Indexable {
|
||||||
|
|
||||||
private final ArrayList<InputMethodPreference> mInputMethodPreferenceList = new ArrayList<>();
|
private final ArrayList<InputMethodPreference> mInputMethodPreferenceList = new ArrayList<>();
|
||||||
private InputMethodSettingValuesWrapper mInputMethodSettingValues;
|
private InputMethodSettingValuesWrapper mInputMethodSettingValues;
|
||||||
@@ -169,4 +175,51 @@ public final class AvailableVirtualKeyboardFragment extends SettingsPreferenceFr
|
|||||||
pref.updatePreferenceViews();
|
pref.updatePreferenceViews();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static List<InputMethodSubtype> getAllSubtypesOf(final InputMethodInfo imi) {
|
||||||
|
final int subtypeCount = imi.getSubtypeCount();
|
||||||
|
final List<InputMethodSubtype> allSubtypes = new ArrayList<>(subtypeCount);
|
||||||
|
for (int index = 0; index < subtypeCount; index++) {
|
||||||
|
allSubtypes.add(imi.getSubtypeAt(index));
|
||||||
|
}
|
||||||
|
return allSubtypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
static List<SearchIndexableRaw> buildSearchIndexOfInputMethods(final Context context,
|
||||||
|
final List<InputMethodInfo> inputMethods, final String screenTitle) {
|
||||||
|
final List<SearchIndexableRaw> indexes = new ArrayList<>();
|
||||||
|
final InputMethodManager imm = (InputMethodManager) context.getSystemService(
|
||||||
|
Context.INPUT_METHOD_SERVICE);
|
||||||
|
for (int i = 0; i < inputMethods.size(); i++) {
|
||||||
|
final InputMethodInfo imi = inputMethods.get(i);
|
||||||
|
final ServiceInfo serviceInfo = imi.getServiceInfo();
|
||||||
|
final SearchIndexableRaw index = new SearchIndexableRaw(context);
|
||||||
|
index.key = new ComponentName(serviceInfo.packageName, serviceInfo.name)
|
||||||
|
.flattenToString();
|
||||||
|
index.title = imi.loadLabel(context.getPackageManager()).toString();
|
||||||
|
index.summaryOn = index.summaryOff = InputMethodAndSubtypeUtil
|
||||||
|
.getSubtypeLocaleNameListAsSentence(getAllSubtypesOf(imi), context, imi);
|
||||||
|
index.screenTitle = screenTitle;
|
||||||
|
indexes.add(index);
|
||||||
|
}
|
||||||
|
return indexes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
|
new BaseSearchIndexProvider() {
|
||||||
|
@Override
|
||||||
|
public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
|
||||||
|
final InputMethodManager imm = context.getSystemService(InputMethodManager.class);
|
||||||
|
final List<InputMethodInfo> enabledInputMethods = imm.getEnabledInputMethodList();
|
||||||
|
final List<InputMethodInfo> disabledInputMethods = new ArrayList<>();
|
||||||
|
for (final InputMethodInfo imi : imm.getInputMethodList()) {
|
||||||
|
if (!enabledInputMethods.contains(imi)) {
|
||||||
|
disabledInputMethods.add(imi);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final String screenTitle = context.getString(
|
||||||
|
R.string.available_virtual_keyboard_category);
|
||||||
|
return buildSearchIndexOfInputMethods(context, disabledInputMethods, screenTitle);
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@@ -17,16 +17,11 @@
|
|||||||
package com.android.settings.inputmethod;
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.ComponentName;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ServiceInfo;
|
|
||||||
import android.hardware.input.InputDeviceIdentifier;
|
import android.hardware.input.InputDeviceIdentifier;
|
||||||
import android.speech.tts.TtsEngines;
|
import android.speech.tts.TtsEngines;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.view.inputmethod.InputMethodInfo;
|
|
||||||
import android.view.inputmethod.InputMethodManager;
|
|
||||||
import android.view.inputmethod.InputMethodSubtype;
|
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -212,37 +207,6 @@ public class InputMethodAndLanguageSettings extends DashboardFragment
|
|||||||
indexable.keywords = context.getString(R.string.keywords_keyboard_and_ime);
|
indexable.keywords = context.getString(R.string.keywords_keyboard_and_ime);
|
||||||
indexables.add(indexable);
|
indexables.add(indexable);
|
||||||
|
|
||||||
InputMethodSettingValuesWrapper immValues = InputMethodSettingValuesWrapper
|
|
||||||
.getInstance(context);
|
|
||||||
immValues.refreshAllInputMethodAndSubtypes();
|
|
||||||
|
|
||||||
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(
|
|
||||||
Context.INPUT_METHOD_SERVICE);
|
|
||||||
|
|
||||||
// TODO: Move to VirtualKeyboardFragment and AvailableVirtualKeyboardFragment.
|
|
||||||
// All other IMEs.
|
|
||||||
List<InputMethodInfo> inputMethods = immValues.getInputMethodList();
|
|
||||||
final int inputMethodCount = (inputMethods == null ? 0 : inputMethods.size());
|
|
||||||
for (int i = 0; i < inputMethodCount; ++i) {
|
|
||||||
InputMethodInfo inputMethod = inputMethods.get(i);
|
|
||||||
List<InputMethodSubtype> subtypes = inputMethodManager
|
|
||||||
.getEnabledInputMethodSubtypeList(inputMethod, true);
|
|
||||||
String summary = InputMethodAndSubtypeUtil.getSubtypeLocaleNameListAsSentence(
|
|
||||||
subtypes, context, inputMethod);
|
|
||||||
|
|
||||||
ServiceInfo serviceInfo = inputMethod.getServiceInfo();
|
|
||||||
ComponentName componentName = new ComponentName(serviceInfo.packageName,
|
|
||||||
serviceInfo.name);
|
|
||||||
|
|
||||||
indexable = new SearchIndexableRaw(context);
|
|
||||||
indexable.key = componentName.flattenToString();
|
|
||||||
indexable.title = inputMethod.loadLabel(context.getPackageManager()).toString();
|
|
||||||
indexable.summaryOn = summary;
|
|
||||||
indexable.summaryOff = summary;
|
|
||||||
indexable.screenTitle = screenTitle;
|
|
||||||
indexables.add(indexable);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!PhysicalKeyboardFragment.getPhysicalFullKeyboards().isEmpty()) {
|
if (!PhysicalKeyboardFragment.getPhysicalFullKeyboards().isEmpty()) {
|
||||||
// Hard keyboard category.
|
// Hard keyboard category.
|
||||||
indexable = new SearchIndexableRaw(context);
|
indexable = new SearchIndexableRaw(context);
|
||||||
|
@@ -26,10 +26,15 @@ import android.os.Bundle;
|
|||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.view.inputmethod.InputMethodInfo;
|
import android.view.inputmethod.InputMethodInfo;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
import android.view.inputmethod.InputMethodSubtype;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.internal.util.Preconditions;
|
import com.android.internal.util.Preconditions;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
|
import com.android.settings.search.Indexable;
|
||||||
|
import com.android.settings.search.SearchIndexableRaw;
|
||||||
|
|
||||||
import java.text.Collator;
|
import java.text.Collator;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -37,7 +42,7 @@ import java.util.Collections;
|
|||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public final class VirtualKeyboardFragment extends SettingsPreferenceFragment {
|
public final class VirtualKeyboardFragment extends SettingsPreferenceFragment implements Indexable {
|
||||||
|
|
||||||
private static final String ADD_VIRTUAL_KEYBOARD_SCREEN = "add_virtual_keyboard_screen";
|
private static final String ADD_VIRTUAL_KEYBOARD_SCREEN = "add_virtual_keyboard_screen";
|
||||||
private static final Drawable NO_ICON = new ColorDrawable(Color.TRANSPARENT);
|
private static final Drawable NO_ICON = new ColorDrawable(Color.TRANSPARENT);
|
||||||
@@ -117,4 +122,16 @@ public final class VirtualKeyboardFragment extends SettingsPreferenceFragment {
|
|||||||
mAddVirtualKeyboardScreen.setOrder(N);
|
mAddVirtualKeyboardScreen.setOrder(N);
|
||||||
getPreferenceScreen().addPreference(mAddVirtualKeyboardScreen);
|
getPreferenceScreen().addPreference(mAddVirtualKeyboardScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
|
new BaseSearchIndexProvider() {
|
||||||
|
@Override
|
||||||
|
public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
|
||||||
|
final InputMethodManager imm = context.getSystemService(InputMethodManager.class);
|
||||||
|
final List<InputMethodInfo> enabledInputMethods = imm.getEnabledInputMethodList();
|
||||||
|
final String screenTitle = context.getString(R.string.virtual_keyboard_category);
|
||||||
|
return AvailableVirtualKeyboardFragment
|
||||||
|
.buildSearchIndexOfInputMethods(context, enabledInputMethods, screenTitle);
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@@ -47,8 +47,10 @@ import android.view.inputmethod.InputMethodManager;
|
|||||||
|
|
||||||
import com.android.internal.content.PackageMonitor;
|
import com.android.internal.content.PackageMonitor;
|
||||||
import com.android.settings.accessibility.AccessibilitySettings;
|
import com.android.settings.accessibility.AccessibilitySettings;
|
||||||
|
import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
|
||||||
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
|
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
|
||||||
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
|
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
|
||||||
|
import com.android.settings.inputmethod.VirtualKeyboardFragment;
|
||||||
import com.android.settings.print.PrintSettingsFragment;
|
import com.android.settings.print.PrintSettingsFragment;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -418,7 +420,11 @@ public final class DynamicIndexableContentMonitor implements
|
|||||||
mPackageManager = context.getPackageManager();
|
mPackageManager = context.getPackageManager();
|
||||||
mContentResolver = context.getContentResolver();
|
mContentResolver = context.getContentResolver();
|
||||||
mInputMethodServices.clear();
|
mInputMethodServices.clear();
|
||||||
|
// Build index of {@link UserDictionary}.
|
||||||
buildIndex(InputMethodAndLanguageSettings.class, true /* rebuild */);
|
buildIndex(InputMethodAndLanguageSettings.class, true /* rebuild */);
|
||||||
|
// Build index of IMEs.
|
||||||
|
buildIndex(VirtualKeyboardFragment.class, true /* rebuild */);
|
||||||
|
buildIndex(AvailableVirtualKeyboardFragment.class, true /* rebuild */);
|
||||||
|
|
||||||
// Cache IME service packages to know when they go away.
|
// Cache IME service packages to know when they go away.
|
||||||
final InputMethodManager inputMethodManager = (InputMethodManager) context
|
final InputMethodManager inputMethodManager = (InputMethodManager) context
|
||||||
@@ -451,15 +457,15 @@ public final class DynamicIndexableContentMonitor implements
|
|||||||
.queryIntentServices(intent, 0 /* flags */);
|
.queryIntentServices(intent, 0 /* flags */);
|
||||||
if (services == null || services.isEmpty()) return;
|
if (services == null || services.isEmpty()) return;
|
||||||
mInputMethodServices.add(packageName);
|
mInputMethodServices.add(packageName);
|
||||||
// TODO: Fix landing page to VirtualKeyboardFragment.
|
buildIndex(VirtualKeyboardFragment.class, false /* rebuild */);
|
||||||
buildIndex(InputMethodAndLanguageSettings.class, false /* rebuild */);
|
buildIndex(AvailableVirtualKeyboardFragment.class, false /* rebuild */);
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized void onPackageUnavailable(String packageName) {
|
synchronized void onPackageUnavailable(String packageName) {
|
||||||
if (mIndex == null) return;
|
if (mIndex == null) return;
|
||||||
if (!mInputMethodServices.remove(packageName)) return;
|
if (!mInputMethodServices.remove(packageName)) return;
|
||||||
// TODO: Fix landing page to AvailableVirtualKeyboardFragment.
|
buildIndex(VirtualKeyboardFragment.class, true /* rebuild */);
|
||||||
buildIndex(InputMethodAndLanguageSettings.class, true /* rebuild */);
|
buildIndex(AvailableVirtualKeyboardFragment.class, true /* rebuild */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -54,8 +54,10 @@ import com.android.settings.gestures.DoubleTwistGestureSettings;
|
|||||||
import com.android.settings.gestures.GestureSettings;
|
import com.android.settings.gestures.GestureSettings;
|
||||||
import com.android.settings.gestures.PickupGestureSettings;
|
import com.android.settings.gestures.PickupGestureSettings;
|
||||||
import com.android.settings.gestures.SwipeToNotificationSettings;
|
import com.android.settings.gestures.SwipeToNotificationSettings;
|
||||||
|
import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
|
||||||
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
|
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
|
||||||
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
|
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
|
||||||
|
import com.android.settings.inputmethod.VirtualKeyboardFragment;
|
||||||
import com.android.settings.location.LocationSettings;
|
import com.android.settings.location.LocationSettings;
|
||||||
import com.android.settings.location.ScanningSettings;
|
import com.android.settings.location.ScanningSettings;
|
||||||
import com.android.settings.network.NetworkDashboardFragment;
|
import com.android.settings.network.NetworkDashboardFragment;
|
||||||
@@ -142,6 +144,9 @@ public final class SearchIndexableResources {
|
|||||||
R.drawable.ic_settings_accounts);
|
R.drawable.ic_settings_accounts);
|
||||||
addIndex(InputMethodAndLanguageSettings.class,
|
addIndex(InputMethodAndLanguageSettings.class,
|
||||||
NO_DATA_RES_ID, R.drawable.ic_settings_language);
|
NO_DATA_RES_ID, R.drawable.ic_settings_language);
|
||||||
|
addIndex(VirtualKeyboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_language);
|
||||||
|
addIndex(AvailableVirtualKeyboardFragment.class,
|
||||||
|
NO_DATA_RES_ID, R.drawable.ic_settings_language);
|
||||||
addIndex(PhysicalKeyboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_language);
|
addIndex(PhysicalKeyboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_language);
|
||||||
addIndex(PrivacySettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_backup);
|
addIndex(PrivacySettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_backup);
|
||||||
addIndex(DateTimeSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_date_time);
|
addIndex(DateTimeSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_date_time);
|
||||||
|
@@ -56,8 +56,10 @@ import com.android.internal.content.PackageMonitor;
|
|||||||
import com.android.settings.SettingsRobolectricTestRunner;
|
import com.android.settings.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.TestConfig;
|
import com.android.settings.TestConfig;
|
||||||
import com.android.settings.accessibility.AccessibilitySettings;
|
import com.android.settings.accessibility.AccessibilitySettings;
|
||||||
|
import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
|
||||||
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
|
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
|
||||||
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
|
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
|
||||||
|
import com.android.settings.inputmethod.VirtualKeyboardFragment;
|
||||||
import com.android.settings.print.PrintSettingsFragment;
|
import com.android.settings.print.PrintSettingsFragment;
|
||||||
import com.android.settings.testutils.shadow.ShadowActivityWithLoadManager;
|
import com.android.settings.testutils.shadow.ShadowActivityWithLoadManager;
|
||||||
import com.android.settings.testutils.shadow.ShadowContextImplWithRegisterReceiver;
|
import com.android.settings.testutils.shadow.ShadowContextImplWithRegisterReceiver;
|
||||||
@@ -335,7 +337,8 @@ public class DynamicIndexableContentMonitorTest {
|
|||||||
final PackageMonitor packageMonitor = extractPackageMonitor();
|
final PackageMonitor packageMonitor = extractPackageMonitor();
|
||||||
assertThat(packageMonitor).isNotNull();
|
assertThat(packageMonitor).isNotNull();
|
||||||
|
|
||||||
verifyRebuildIndexing(InputMethodAndLanguageSettings.class);
|
verifyRebuildIndexing(VirtualKeyboardFragment.class);
|
||||||
|
verifyRebuildIndexing(AvailableVirtualKeyboardFragment.class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When an input method service package is installed, incremental indexing happen.
|
* When an input method service package is installed, incremental indexing happen.
|
||||||
@@ -346,7 +349,8 @@ public class DynamicIndexableContentMonitorTest {
|
|||||||
packageMonitor.onPackageAppeared(IME_PACKAGE_1, USER_ID);
|
packageMonitor.onPackageAppeared(IME_PACKAGE_1, USER_ID);
|
||||||
Robolectric.flushBackgroundThreadScheduler();
|
Robolectric.flushBackgroundThreadScheduler();
|
||||||
|
|
||||||
verifyIncrementalIndexing(InputMethodAndLanguageSettings.class);
|
verifyIncrementalIndexing(VirtualKeyboardFragment.class);
|
||||||
|
verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When another input method service package is installed, incremental indexing happens.
|
* When another input method service package is installed, incremental indexing happens.
|
||||||
@@ -357,7 +361,8 @@ public class DynamicIndexableContentMonitorTest {
|
|||||||
packageMonitor.onPackageAppeared(IME_PACKAGE_2, USER_ID);
|
packageMonitor.onPackageAppeared(IME_PACKAGE_2, USER_ID);
|
||||||
Robolectric.flushBackgroundThreadScheduler();
|
Robolectric.flushBackgroundThreadScheduler();
|
||||||
|
|
||||||
verifyIncrementalIndexing(InputMethodAndLanguageSettings.class);
|
verifyIncrementalIndexing(VirtualKeyboardFragment.class);
|
||||||
|
verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When an input method service is disabled, rebuild indexing happens.
|
* When an input method service is disabled, rebuild indexing happens.
|
||||||
@@ -369,7 +374,8 @@ public class DynamicIndexableContentMonitorTest {
|
|||||||
packageMonitor.onPackageModified(IME_PACKAGE_1);
|
packageMonitor.onPackageModified(IME_PACKAGE_1);
|
||||||
Robolectric.flushBackgroundThreadScheduler();
|
Robolectric.flushBackgroundThreadScheduler();
|
||||||
|
|
||||||
verifyRebuildIndexing(InputMethodAndLanguageSettings.class);
|
verifyRebuildIndexing(VirtualKeyboardFragment.class);
|
||||||
|
verifyRebuildIndexing(AvailableVirtualKeyboardFragment.class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When an input method service is enabled, incremental indexing happens.
|
* When an input method service is enabled, incremental indexing happens.
|
||||||
@@ -381,7 +387,8 @@ public class DynamicIndexableContentMonitorTest {
|
|||||||
packageMonitor.onPackageModified(IME_PACKAGE_1);
|
packageMonitor.onPackageModified(IME_PACKAGE_1);
|
||||||
Robolectric.flushBackgroundThreadScheduler();
|
Robolectric.flushBackgroundThreadScheduler();
|
||||||
|
|
||||||
verifyIncrementalIndexing(InputMethodAndLanguageSettings.class);
|
verifyIncrementalIndexing(VirtualKeyboardFragment.class);
|
||||||
|
verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When an input method service package is uninstalled, rebuild indexing happens.
|
* When an input method service package is uninstalled, rebuild indexing happens.
|
||||||
@@ -391,7 +398,8 @@ public class DynamicIndexableContentMonitorTest {
|
|||||||
|
|
||||||
packageMonitor.onPackageDisappeared(IME_PACKAGE_1, USER_ID);
|
packageMonitor.onPackageDisappeared(IME_PACKAGE_1, USER_ID);
|
||||||
|
|
||||||
verifyRebuildIndexing(InputMethodAndLanguageSettings.class);
|
verifyRebuildIndexing(VirtualKeyboardFragment.class);
|
||||||
|
verifyRebuildIndexing(AvailableVirtualKeyboardFragment.class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When an accessibility service package is installed, nothing happens.
|
* When an accessibility service package is installed, nothing happens.
|
||||||
@@ -401,7 +409,8 @@ public class DynamicIndexableContentMonitorTest {
|
|||||||
|
|
||||||
packageMonitor.onPackageAppeared(A11Y_PACKAGE_1, USER_ID);
|
packageMonitor.onPackageAppeared(A11Y_PACKAGE_1, USER_ID);
|
||||||
|
|
||||||
verifyNoIndexing(InputMethodAndLanguageSettings.class);
|
verifyNoIndexing(VirtualKeyboardFragment.class);
|
||||||
|
verifyNoIndexing(AvailableVirtualKeyboardFragment.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user