Merge "Update to new method to check if app supports picture-in-picture."
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7a3be0c..e5f4438 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8121,6 +8121,9 @@
<!-- On status for the automatic storage manager. [CHAR_LIMIT=10] -->
<string name="storage_manager_indicator_on">On</string>
+ <!-- Title of games app storage screen [CHAR LIMIT=30] -->
+ <string name="game_storage_settings">Games</string>
+
<!-- UI webview setting: WebView uninstalled-for-user explanatory text [CHAR LIMIT=30] -->
<string name="webview_uninstalled_for_user">Uninstalled for user <xliff:g id="user" example="John Doe">%s</xliff:g>\n</string>
<!-- UI webview setting: WebView disabled-for-user explanatory text [CHAR LIMIT=30] -->
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 66e5b33..12b86b6 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -127,6 +127,7 @@
public static class OtherSoundSettingsActivity extends SettingsActivity { /* empty */ }
public static class ManageDomainUrlsActivity extends SettingsActivity { /* empty */ }
public static class AutomaticStorageManagerSettingsActivity extends SettingsActivity { /* empty */ }
+ public static class GamesStorageActivity extends SettingsActivity { /* empty */ }
public static class TopLevelSettings extends SettingsActivity { /* empty */ }
public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index a87ba53..f6b303c 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -31,7 +31,6 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.PreferenceFrameLayout;
-import android.support.v7.preference.Preference;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@@ -57,6 +56,7 @@
import com.android.settings.AppHeader;
import com.android.settings.R;
import com.android.settings.Settings.AllApplicationsActivity;
+import com.android.settings.Settings.GamesStorageActivity;
import com.android.settings.Settings.HighPowerApplicationsActivity;
import com.android.settings.Settings.ManageExternalSourcesActivity;
import com.android.settings.Settings.NotificationAppListActivity;
@@ -216,6 +216,7 @@
public static final int LIST_TYPE_OVERLAY = 6;
public static final int LIST_TYPE_WRITE_SETTINGS = 7;
public static final int LIST_TYPE_MANAGE_SOURCES = 8;
+ public static final int LIST_TYPE_GAMES = 9;
private View mRootView;
@@ -267,6 +268,9 @@
mListType = LIST_TYPE_WRITE_SETTINGS;
} else if (className.equals(ManageExternalSourcesActivity.class.getName())) {
mListType = LIST_TYPE_MANAGE_SOURCES;
+ } else if (className.equals(GamesStorageActivity.class.getName())) {
+ mListType = LIST_TYPE_GAMES;
+ mSortOrder = R.id.sort_order_size;
} else {
mListType = LIST_TYPE_MAIN;
}
@@ -359,6 +363,9 @@
if (mListType == LIST_TYPE_STORAGE) {
mApplications.setOverrideFilter(new VolumeFilter(mVolumeUuid));
}
+ if (mListType == LIST_TYPE_GAMES) {
+ mApplications.setOverrideFilter(ApplicationsState.FILTER_GAMES);
+ }
}
@Override
@@ -399,6 +406,7 @@
case LIST_TYPE_MAIN:
case LIST_TYPE_NOTIFICATION:
case LIST_TYPE_STORAGE:
+ case LIST_TYPE_GAMES:
return mSortOrder == R.id.sort_order_alpha;
default:
return false;
@@ -413,6 +421,7 @@
case LIST_TYPE_NOTIFICATION:
return MetricsEvent.MANAGE_APPLICATIONS_NOTIFICATIONS;
case LIST_TYPE_STORAGE:
+ case LIST_TYPE_GAMES:
return MetricsEvent.APPLICATIONS_STORAGE_APPS;
case LIST_TYPE_USAGE_ACCESS:
return MetricsEvent.USAGE_ACCESS;
@@ -517,6 +526,8 @@
break;
case LIST_TYPE_MANAGE_SOURCES:
startAppInfoFragment(ExternalSourcesDetails.class, R.string.install_other_apps);
+ case LIST_TYPE_GAMES:
+ startAppInfoFragment(AppStorageSettings.class, R.string.game_storage_settings);
break;
// TODO: Figure out if there is a way where we can spin up the profile's settings
// process ahead of time, to avoid a long load of data when user clicks on a managed app.
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
index 9b39840..dda984b 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -44,14 +44,16 @@
import static android.net.NetworkPolicy.LIMIT_DISABLED;
import static android.net.NetworkPolicy.WARNING_DISABLED;
-import static android.net.TrafficStats.GB_IN_BYTES;
-import static android.net.TrafficStats.MB_IN_BYTES;
public class BillingCycleSettings extends DataUsageBase implements
Preference.OnPreferenceChangeListener, DataUsageEditController {
private static final String TAG = "BillingCycleSettings";
private static final boolean LOGD = false;
+ public static final long KB_IN_BYTES = 1000;
+ public static final long MB_IN_BYTES = KB_IN_BYTES * 1000;
+ public static final long GB_IN_BYTES = MB_IN_BYTES * 1000;
+
private static final long MAX_DATA_LIMIT_BYTES = 50000 * GB_IN_BYTES;
private static final String TAG_CONFIRM_LIMIT = "confirmLimit";
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index d05d088..8fabd8d 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -21,9 +21,6 @@
import android.os.storage.StorageManager;
import android.os.storage.VolumeInfo;
import android.provider.SearchIndexableResource;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
@@ -62,7 +59,8 @@
// Initialize the storage sizes that we can quickly calc.
StorageManager sm = context.getSystemService(StorageManager.class);
- String volumeId = getArguments().getString(VolumeInfo.EXTRA_VOLUME_ID);
+ String volumeId = getArguments().getString(VolumeInfo.EXTRA_VOLUME_ID,
+ VolumeInfo.ID_PRIVATE_INTERNAL);
mVolume = sm.findVolumeById(volumeId);
if (!isVolumeValid()) {
getActivity().finish();
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index 7e98918..22f9c4c 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -122,7 +122,8 @@
intent = getAudioIntent();
break;
case GAME_KEY:
- // TODO: Once app categorization is added, make this section.
+ intent = getGamesIntent();
+ break;
case OTHER_APPS_KEY:
// Because we are likely constructed with a null volume, this is theoretically
// possible.
@@ -259,6 +260,15 @@
false);
}
+ private Intent getGamesIntent() {
+ Bundle args = new Bundle(1);
+ args.putString(ManageApplications.EXTRA_CLASSNAME,
+ Settings.GamesStorageActivity.class.getName());
+ return Utils.onBuildStartFragmentIntent(mContext,
+ ManageApplications.class.getName(), args, null, R.string.game_storage_settings,
+ null, false);
+ }
+
private Intent getFilesIntent() {
return mSvp.findEmulatedForPrivate(mVolume).buildBrowseIntent();
}
diff --git a/src/com/android/settings/search2/DatabaseIndexingManager.java b/src/com/android/settings/search2/DatabaseIndexingManager.java
index c75f93f..d7c8746 100644
--- a/src/com/android/settings/search2/DatabaseIndexingManager.java
+++ b/src/com/android/settings/search2/DatabaseIndexingManager.java
@@ -516,10 +516,7 @@
nonIndexableKeys.addAll(resNonIndxableKeys);
}
- indexFromResource(sir.context, database, localeStr,
- sir.xmlResId, sir.className, sir.iconResId, sir.rank,
- sir.intentAction, sir.intentTargetPackage, sir.intentTargetClass,
- nonIndexableKeys);
+ indexFromResource(database, localeStr, sir, nonIndexableKeys);
} else {
if (TextUtils.isEmpty(sir.className)) {
Log.w(LOG_TAG, "Cannot index an empty Search Provider name!");
@@ -543,20 +540,17 @@
nonIndexableKeys.addAll(providerNonIndexableKeys);
}
- indexFromProvider(mContext, database, localeStr, provider, sir.className,
- sir.iconResId, sir.rank, sir.enabled, nonIndexableKeys);
+ indexFromProvider(database, localeStr, provider, sir, nonIndexableKeys);
}
}
}
- private void indexFromResource(Context context, SQLiteDatabase database, String localeStr,
- int xmlResId, String fragmentName, int iconResId, int rank,
- String intentAction, String intentTargetPackage, String intentTargetClass,
- List<String> nonIndexableKeys) {
-
+ private void indexFromResource(SQLiteDatabase database, String localeStr,
+ SearchIndexableResource sir, List<String> nonIndexableKeys) {
+ final Context context = sir.context;
XmlResourceParser parser = null;
try {
- parser = context.getResources().getXml(xmlResId);
+ parser = context.getResources().getXml(sir.xmlResId);
int type;
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
@@ -583,6 +577,13 @@
String keywords;
String childFragment;
ResultPayload payload;
+ boolean enabled;
+ final String fragmentName = sir.className;
+ final int iconResId = sir.iconResId;
+ final int rank = sir.rank;
+ final String intentAction = sir.intentAction;
+ final String intentTargetPackage = sir.intentTargetPackage;
+ final String intentTargetClass = sir.intentTargetClass;
Map<String, PreferenceController> controllerUriMap = null;
@@ -593,28 +594,28 @@
// Insert rows for the main PreferenceScreen node. Rewrite the data for removing
// hyphens.
- if (!nonIndexableKeys.contains(key)) {
- title = XmlParserUtils.getDataTitle(context, attrs);
- summary = XmlParserUtils.getDataSummary(context, attrs);
- keywords = XmlParserUtils.getDataKeywords(context, attrs);
- DatabaseRow.Builder builder = new DatabaseRow.Builder();
- builder.setLocale(localeStr)
- .setEntries(null)
- .setClassName(fragmentName)
- .setScreenTitle(screenTitle)
- .setIconResId(iconResId)
- .setRank(rank)
- .setIntentAction(intentAction)
- .setIntentTargetPackage(intentTargetPackage)
- .setIntentTargetClass(intentTargetClass)
- .setEnabled(true)
- .setKey(key)
- .setUserId(-1 /* default user id */);
+ title = XmlParserUtils.getDataTitle(context, attrs);
+ summary = XmlParserUtils.getDataSummary(context, attrs);
+ keywords = XmlParserUtils.getDataKeywords(context, attrs);
+ enabled = !nonIndexableKeys.contains(key);
- updateOneRowWithFilteredData(database, builder, title, summary,
- null /* summary off */, keywords);
- }
+ DatabaseRow.Builder builder = new DatabaseRow.Builder();
+ builder.setLocale(localeStr)
+ .setEntries(null)
+ .setClassName(fragmentName)
+ .setScreenTitle(screenTitle)
+ .setIconResId(iconResId)
+ .setRank(rank)
+ .setIntentAction(intentAction)
+ .setIntentTargetPackage(intentTargetPackage)
+ .setIntentTargetClass(intentTargetClass)
+ .setEnabled(enabled)
+ .setKey(key)
+ .setUserId(-1 /* default user id */);
+
+ updateOneRowWithFilteredData(database, builder, title, summary,
+ null /* summary off */, keywords);
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
&& (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
@@ -625,14 +626,11 @@
nodeName = parser.getName();
key = XmlParserUtils.getDataKey(context, attrs);
- if (nonIndexableKeys.contains(key)) {
- continue;
- }
-
+ enabled = ! nonIndexableKeys.contains(key);
title = XmlParserUtils.getDataTitle(context, attrs);
keywords = XmlParserUtils.getDataKeywords(context, attrs);
- DatabaseRow.Builder builder = new DatabaseRow.Builder();
+ builder = new DatabaseRow.Builder();
builder.setLocale(localeStr)
.setClassName(fragmentName)
.setScreenTitle(screenTitle)
@@ -641,7 +639,7 @@
.setIntentAction(intentAction)
.setIntentTargetPackage(intentTargetPackage)
.setIntentTargetClass(intentTargetClass)
- .setEnabled(true)
+ .setEnabled(enabled)
.setKey(key)
.setUserId(-1 /* default user id */);
@@ -685,16 +683,21 @@
}
}
- private void indexFromProvider(Context context, SQLiteDatabase database, String localeStr,
- Indexable.SearchIndexProvider provider, String className, int iconResId, int rank,
- boolean enabled, List<String> nonIndexableKeys) {
+ private void indexFromProvider(SQLiteDatabase database, String localeStr,
+ Indexable.SearchIndexProvider provider, SearchIndexableResource sir,
+ List<String> nonIndexableKeys) {
+
+ final String className = sir.className;
+ final int iconResId = sir.iconResId;
+ final int rank = sir.rank;
if (provider == null) {
Log.w(LOG_TAG, "Cannot find provider: " + className);
return;
}
- final List<SearchIndexableRaw> rawList = provider.getRawDataToIndex(context, enabled);
+ final List<SearchIndexableRaw> rawList = provider.getRawDataToIndex(mContext,
+ true /* enabled */);
if (rawList != null) {
@@ -706,10 +709,7 @@
if (!raw.locale.toString().equalsIgnoreCase(localeStr)) {
continue;
}
-
- if (nonIndexableKeys.contains(raw.key)) {
- continue;
- }
+ boolean enabled = !nonIndexableKeys.contains(raw.key);
DatabaseRow.Builder builder = new DatabaseRow.Builder();
builder.setLocale(localeStr)
@@ -721,7 +721,7 @@
.setIntentAction(raw.intentAction)
.setIntentTargetPackage(raw.intentTargetPackage)
.setIntentTargetClass(raw.intentTargetClass)
- .setEnabled(raw.enabled)
+ .setEnabled(enabled)
.setKey(raw.key)
.setUserId(raw.userId);
@@ -731,7 +731,7 @@
}
final List<SearchIndexableResource> resList =
- provider.getXmlResourcesToIndex(context, enabled);
+ provider.getXmlResourcesToIndex(mContext, true);
if (resList != null) {
final int resSize = resList.size();
for (int i = 0; i < resSize; i++) {
@@ -742,15 +742,10 @@
continue;
}
- final int itemIconResId = (item.iconResId == 0) ? iconResId : item.iconResId;
- final int itemRank = (item.rank == 0) ? rank : item.rank;
- String itemClassName = (TextUtils.isEmpty(item.className))
- ? className : item.className;
+ item.iconResId = (item.iconResId == 0) ? iconResId : item.iconResId;
+ item.className = (TextUtils.isEmpty(item.className)) ? className : item.className;
- indexFromResource(context, database, localeStr,
- item.xmlResId, itemClassName, itemIconResId, itemRank,
- item.intentAction, item.intentTargetPackage,
- item.intentTargetClass, nonIndexableKeys);
+ indexFromResource(database, localeStr, item, nonIndexableKeys);
}
}
}
@@ -1164,4 +1159,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/src/com/android/settings/search2/DatabaseResultLoader.java b/src/com/android/settings/search2/DatabaseResultLoader.java
index 6c8def6..0bbded2 100644
--- a/src/com/android/settings/search2/DatabaseResultLoader.java
+++ b/src/com/android/settings/search2/DatabaseResultLoader.java
@@ -129,7 +129,6 @@
secondaryResults = query(MATCH_COLUMNS_SECONDARY, BASE_RANKS[1]);
tertiaryResults = query(MATCH_COLUMNS_TERTIARY, BASE_RANKS[2]);
-
final List<SearchResult> results = new ArrayList<>(primaryResults.size()
+ secondaryResults.size()
+ tertiaryResults.size());
@@ -167,7 +166,7 @@
}
private static String buildWhereClause(String[] matchColumns) {
- StringBuilder sb = new StringBuilder(" ");
+ StringBuilder sb = new StringBuilder(" (");
final int count = matchColumns.length;
for (int n = 0; n < count; n++) {
sb.append(matchColumns[n]);
@@ -176,6 +175,7 @@
sb.append(" OR ");
}
}
+ sb.append(") AND enabled = 1");
return sb.toString();
}
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
index 7776633..a377505 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -140,6 +140,8 @@
assertThat(intent.getComponent().getClassName()).isEqualTo(SubSettings.class.getName());
assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
ManageApplications.class.getName());
+ assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+ .isEqualTo(R.string.apps_storage);
}
@Test
@@ -159,6 +161,24 @@
}
@Test
+ public void testClickGames() {
+ mPreference.setKey("pref_games");
+ mController.handlePreferenceTreeClick(mPreference);
+
+ final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+ verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+ any(UserHandle.class));
+
+ Intent intent = argumentCaptor.getValue();
+ assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
+ assertThat(intent.getComponent().getClassName()).isEqualTo(SubSettings.class.getName());
+ assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
+ ManageApplications.class.getName());
+ assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+ .isEqualTo(R.string.game_storage_settings);
+ }
+
+ @Test
public void testMeasurementCompletedUpdatesPreferences() {
StorageItemPreferenceAlternate audio = new StorageItemPreferenceAlternate(mContext);
StorageItemPreferenceAlternate image = new StorageItemPreferenceAlternate(mContext);
diff --git a/tests/robotests/src/com/android/settings/search/DatabaseIndexingManagerTest.java b/tests/robotests/src/com/android/settings/search/DatabaseIndexingManagerTest.java
index 1cf72ea..e89f009 100644
--- a/tests/robotests/src/com/android/settings/search/DatabaseIndexingManagerTest.java
+++ b/tests/robotests/src/com/android/settings/search/DatabaseIndexingManagerTest.java
@@ -41,6 +41,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
+import java.util.Map;
import static com.android.settings.dashboard.SiteMapManager.SITE_MAP_COLUMNS;
import static com.google.common.truth.Truth.assertThat;
@@ -51,7 +52,7 @@
public class DatabaseIndexingManagerTest {
private final String localeStr = "en_US";
- private final int rank = 42;
+ private final int rank = 8;
private final String title = "title\u2011title";
private final String updatedTitle = "title-title";
private final String normalizedTitle = "titletitle";
@@ -213,6 +214,20 @@
}
@Test
+ public void testAddResourceWithNIKs_RowsInsertedDisabled() {
+ SearchIndexableResource resource = getFakeResource(R.xml.gesture_settings);
+ // Only add 2 of 6 items to be disabled.
+ String[] keys = {"gesture_double_tap_power", "gesture_swipe_down_fingerprint"};
+ Map<String, List<String>> niks = getNonIndexableKeys(keys);
+ mManager.indexOneSearchIndexableData(mDb, localeStr, resource, niks);
+
+ Cursor cursor = mDb.rawQuery("SELECT * FROM prefs_index WHERE enabled = 0", null);
+ assertThat(cursor.getCount()).isEqualTo(2);
+ cursor = mDb.rawQuery("SELECT * FROM prefs_index WHERE enabled = 1", null);
+ assertThat(cursor.getCount()).isEqualTo(4);
+ }
+
+ @Test
public void testAddResourceHeader_RowsMatch() {
SearchIndexableResource resource = getFakeResource(R.xml.application_settings);
mManager.indexOneSearchIndexableData(mDb, localeStr, resource,
@@ -529,21 +544,19 @@
@Test
public void testResourceProvider_ResourceRowInserted() {
- SearchIndexableResource resource = getFakeResource(R.xml.gesture_settings);
- resource.xmlResId = 0;
+ SearchIndexableResource resource = getFakeResource(0);
resource.className = "com.android.settings.LegalSettings";
mManager.indexOneSearchIndexableData(mDb, localeStr, resource,
new HashMap<>());
Cursor cursor = mDb.rawQuery("SELECT * FROM prefs_index", null);
- assertThat(cursor.getCount()).isEqualTo(2);
+ assertThat(cursor.getCount()).isEqualTo(6);
}
@Test
public void testResourceProvider_ResourceRowMatches() {
- SearchIndexableResource resource = getFakeResource(R.xml.gesture_settings);
- resource.xmlResId = 0;
- resource.className = "com.android.settings.LegalSettings";
+ SearchIndexableResource resource = getFakeResource(0);
+ resource.className = "com.android.settings.display.ScreenZoomSettings";
mManager.indexOneSearchIndexableData(mDb, localeStr, resource,
new HashMap<>());
@@ -555,9 +568,9 @@
// Data Rank
assertThat(cursor.getInt(1)).isEqualTo(rank);
// Data Title
- assertThat(cursor.getString(2)).isEqualTo("Legal information");
+ assertThat(cursor.getString(2)).isEqualTo("Display size");
// Normalized Title
- assertThat(cursor.getString(3)).isEqualTo("legal information");
+ assertThat(cursor.getString(3)).isEqualTo("display size");
// Summary On
assertThat(cursor.getString(4)).isEmpty();
// Summary On Normalized
@@ -569,12 +582,13 @@
// Entries - only on for list preferences
assertThat(cursor.getString(8)).isNull();
// Keywords
- assertThat(cursor.getString(9)).isEmpty();
+ assertThat(cursor.getString(9)).isEqualTo(
+ "display density screen zoom scale scaling");
// Screen Title
- assertThat(cursor.getString(10)).isEqualTo("Legal information");
+ assertThat(cursor.getString(10)).isEqualTo("Display size");
// Class Name
assertThat(cursor.getString(11))
- .isEqualTo("com.android.settings.LegalSettings");
+ .isEqualTo("com.android.settings.display.ScreenZoomSettings");
// Icon
assertThat(cursor.getInt(12)).isEqualTo(iconResId);
// Intent Action
@@ -595,6 +609,20 @@
assertThat(cursor.getBlob(20)).isNull();
}
+ @Test
+ public void testResourceProvider_DisabledResourceRowsInserted() {
+ SearchIndexableResource resource = getFakeResource(0);
+ resource.className = "com.android.settings.LegalSettings";
+
+ mManager.indexOneSearchIndexableData(mDb, localeStr, resource,
+ new HashMap<String, List<String>>());
+
+ Cursor cursor = mDb.rawQuery("SELECT * FROM prefs_index WHERE enabled = 1", null);
+ assertThat(cursor.getCount()).isEqualTo(2);
+ cursor = mDb.rawQuery("SELECT * FROM prefs_index WHERE enabled = 0", null);
+ assertThat(cursor.getCount()).isEqualTo(4);
+ }
+
// Util functions
private SearchIndexableRaw getFakeRaw() {
@@ -636,4 +664,11 @@
sir.enabled = enabled;
return sir;
}
-}
+
+ private Map<String, List<String>> getNonIndexableKeys(String[] keys) {
+ Map<String, List<String>> niks = new HashMap<>();
+ List<String> keysList = new ArrayList<>(Arrays.asList(keys));
+ niks.put(packageName, keysList);
+ return niks;
+ }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/search/DatabaseResultLoaderTest.java b/tests/robotests/src/com/android/settings/search/DatabaseResultLoaderTest.java
index c749a00..31e6e6c 100644
--- a/tests/robotests/src/com/android/settings/search/DatabaseResultLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/search/DatabaseResultLoaderTest.java
@@ -80,26 +80,26 @@
@Test
public void testMatchTitle() {
loader = new DatabaseResultLoader(mContext, "title");
- assertThat(loader.loadInBackground().size()).isEqualTo(3);
- verify(mSiteMapManager, times(3)).buildBreadCrumb(eq(mContext), anyString(), anyString());
+ assertThat(loader.loadInBackground().size()).isEqualTo(2);
+ verify(mSiteMapManager, times(2)).buildBreadCrumb(eq(mContext), anyString(), anyString());
}
@Test
public void testMatchSummary() {
loader = new DatabaseResultLoader(mContext, "summary");
- assertThat(loader.loadInBackground().size()).isEqualTo(3);
+ assertThat(loader.loadInBackground().size()).isEqualTo(2);
}
@Test
public void testMatchKeywords() {
loader = new DatabaseResultLoader(mContext, "keywords");
- assertThat(loader.loadInBackground().size()).isEqualTo(3);
+ assertThat(loader.loadInBackground().size()).isEqualTo(2);
}
@Test
public void testMatchEntries() {
loader = new DatabaseResultLoader(mContext, "entries");
- assertThat(loader.loadInBackground().size()).isEqualTo(3);
+ assertThat(loader.loadInBackground().size()).isEqualTo(2);
}
@Test
@@ -167,7 +167,7 @@
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
values.put(IndexDatabaseHelper.IndexColumns.ICON, "");
- values.put(IndexDatabaseHelper.IndexColumns.ENABLED, "");
+ values.put(IndexDatabaseHelper.IndexColumns.ENABLED, true);
values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power");
values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
@@ -196,7 +196,7 @@
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
values.put(IndexDatabaseHelper.IndexColumns.ICON, "");
- values.put(IndexDatabaseHelper.IndexColumns.ENABLED, "");
+ values.put(IndexDatabaseHelper.IndexColumns.ENABLED, true);
values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power");
values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
@@ -223,7 +223,7 @@
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
values.put(IndexDatabaseHelper.IndexColumns.ICON, "");
- values.put(IndexDatabaseHelper.IndexColumns.ENABLED, "");
+ values.put(IndexDatabaseHelper.IndexColumns.ENABLED, true);
values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power");
values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
@@ -249,7 +249,7 @@
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
values.put(IndexDatabaseHelper.IndexColumns.ICON, "");
- values.put(IndexDatabaseHelper.IndexColumns.ENABLED, "");
+ values.put(IndexDatabaseHelper.IndexColumns.ENABLED, false);
values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power");
values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);