Index everything into the database and disable invalid ones

Change-Id: I7eb931009b722c10487f6212113a8993463b7bce
Fixes: 34142852
Test: make RunSettingsRoboTests
This commit is contained in:
Matthew Fritze
2017-01-18 09:39:25 -08:00
parent 2a7c6bd840
commit 3f3b547e4a
4 changed files with 111 additions and 81 deletions

View File

@@ -516,10 +516,7 @@ public class DatabaseIndexingManager {
nonIndexableKeys.addAll(resNonIndxableKeys); nonIndexableKeys.addAll(resNonIndxableKeys);
} }
indexFromResource(sir.context, database, localeStr, indexFromResource(database, localeStr, sir, nonIndexableKeys);
sir.xmlResId, sir.className, sir.iconResId, sir.rank,
sir.intentAction, sir.intentTargetPackage, sir.intentTargetClass,
nonIndexableKeys);
} else { } else {
if (TextUtils.isEmpty(sir.className)) { if (TextUtils.isEmpty(sir.className)) {
Log.w(LOG_TAG, "Cannot index an empty Search Provider name!"); Log.w(LOG_TAG, "Cannot index an empty Search Provider name!");
@@ -543,20 +540,17 @@ public class DatabaseIndexingManager {
nonIndexableKeys.addAll(providerNonIndexableKeys); nonIndexableKeys.addAll(providerNonIndexableKeys);
} }
indexFromProvider(mContext, database, localeStr, provider, sir.className, indexFromProvider(database, localeStr, provider, sir, nonIndexableKeys);
sir.iconResId, sir.rank, sir.enabled, nonIndexableKeys);
} }
} }
} }
private void indexFromResource(Context context, SQLiteDatabase database, String localeStr, private void indexFromResource(SQLiteDatabase database, String localeStr,
int xmlResId, String fragmentName, int iconResId, int rank, SearchIndexableResource sir, List<String> nonIndexableKeys) {
String intentAction, String intentTargetPackage, String intentTargetClass, final Context context = sir.context;
List<String> nonIndexableKeys) {
XmlResourceParser parser = null; XmlResourceParser parser = null;
try { try {
parser = context.getResources().getXml(xmlResId); parser = context.getResources().getXml(sir.xmlResId);
int type; int type;
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
@@ -583,6 +577,13 @@ public class DatabaseIndexingManager {
String keywords; String keywords;
String childFragment; String childFragment;
ResultPayload payload; 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; Map<String, PreferenceController> controllerUriMap = null;
@@ -593,28 +594,28 @@ public class DatabaseIndexingManager {
// Insert rows for the main PreferenceScreen node. Rewrite the data for removing // Insert rows for the main PreferenceScreen node. Rewrite the data for removing
// hyphens. // 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(); title = XmlParserUtils.getDataTitle(context, attrs);
builder.setLocale(localeStr) summary = XmlParserUtils.getDataSummary(context, attrs);
.setEntries(null) keywords = XmlParserUtils.getDataKeywords(context, attrs);
.setClassName(fragmentName) enabled = !nonIndexableKeys.contains(key);
.setScreenTitle(screenTitle)
.setIconResId(iconResId)
.setRank(rank)
.setIntentAction(intentAction)
.setIntentTargetPackage(intentTargetPackage)
.setIntentTargetClass(intentTargetClass)
.setEnabled(true)
.setKey(key)
.setUserId(-1 /* default user id */);
updateOneRowWithFilteredData(database, builder, title, summary, DatabaseRow.Builder builder = new DatabaseRow.Builder();
null /* summary off */, keywords); 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 while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
&& (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) { && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
@@ -625,14 +626,11 @@ public class DatabaseIndexingManager {
nodeName = parser.getName(); nodeName = parser.getName();
key = XmlParserUtils.getDataKey(context, attrs); key = XmlParserUtils.getDataKey(context, attrs);
if (nonIndexableKeys.contains(key)) { enabled = ! nonIndexableKeys.contains(key);
continue;
}
title = XmlParserUtils.getDataTitle(context, attrs); title = XmlParserUtils.getDataTitle(context, attrs);
keywords = XmlParserUtils.getDataKeywords(context, attrs); keywords = XmlParserUtils.getDataKeywords(context, attrs);
DatabaseRow.Builder builder = new DatabaseRow.Builder(); builder = new DatabaseRow.Builder();
builder.setLocale(localeStr) builder.setLocale(localeStr)
.setClassName(fragmentName) .setClassName(fragmentName)
.setScreenTitle(screenTitle) .setScreenTitle(screenTitle)
@@ -641,7 +639,7 @@ public class DatabaseIndexingManager {
.setIntentAction(intentAction) .setIntentAction(intentAction)
.setIntentTargetPackage(intentTargetPackage) .setIntentTargetPackage(intentTargetPackage)
.setIntentTargetClass(intentTargetClass) .setIntentTargetClass(intentTargetClass)
.setEnabled(true) .setEnabled(enabled)
.setKey(key) .setKey(key)
.setUserId(-1 /* default user id */); .setUserId(-1 /* default user id */);
@@ -685,16 +683,21 @@ public class DatabaseIndexingManager {
} }
} }
private void indexFromProvider(Context context, SQLiteDatabase database, String localeStr, private void indexFromProvider(SQLiteDatabase database, String localeStr,
Indexable.SearchIndexProvider provider, String className, int iconResId, int rank, Indexable.SearchIndexProvider provider, SearchIndexableResource sir,
boolean enabled, List<String> nonIndexableKeys) { List<String> nonIndexableKeys) {
final String className = sir.className;
final int iconResId = sir.iconResId;
final int rank = sir.rank;
if (provider == null) { if (provider == null) {
Log.w(LOG_TAG, "Cannot find provider: " + className); Log.w(LOG_TAG, "Cannot find provider: " + className);
return; return;
} }
final List<SearchIndexableRaw> rawList = provider.getRawDataToIndex(context, enabled); final List<SearchIndexableRaw> rawList = provider.getRawDataToIndex(mContext,
true /* enabled */);
if (rawList != null) { if (rawList != null) {
@@ -706,10 +709,7 @@ public class DatabaseIndexingManager {
if (!raw.locale.toString().equalsIgnoreCase(localeStr)) { if (!raw.locale.toString().equalsIgnoreCase(localeStr)) {
continue; continue;
} }
boolean enabled = !nonIndexableKeys.contains(raw.key);
if (nonIndexableKeys.contains(raw.key)) {
continue;
}
DatabaseRow.Builder builder = new DatabaseRow.Builder(); DatabaseRow.Builder builder = new DatabaseRow.Builder();
builder.setLocale(localeStr) builder.setLocale(localeStr)
@@ -721,7 +721,7 @@ public class DatabaseIndexingManager {
.setIntentAction(raw.intentAction) .setIntentAction(raw.intentAction)
.setIntentTargetPackage(raw.intentTargetPackage) .setIntentTargetPackage(raw.intentTargetPackage)
.setIntentTargetClass(raw.intentTargetClass) .setIntentTargetClass(raw.intentTargetClass)
.setEnabled(raw.enabled) .setEnabled(enabled)
.setKey(raw.key) .setKey(raw.key)
.setUserId(raw.userId); .setUserId(raw.userId);
@@ -731,7 +731,7 @@ public class DatabaseIndexingManager {
} }
final List<SearchIndexableResource> resList = final List<SearchIndexableResource> resList =
provider.getXmlResourcesToIndex(context, enabled); provider.getXmlResourcesToIndex(mContext, true);
if (resList != null) { if (resList != null) {
final int resSize = resList.size(); final int resSize = resList.size();
for (int i = 0; i < resSize; i++) { for (int i = 0; i < resSize; i++) {
@@ -742,15 +742,10 @@ public class DatabaseIndexingManager {
continue; continue;
} }
final int itemIconResId = (item.iconResId == 0) ? iconResId : item.iconResId; item.iconResId = (item.iconResId == 0) ? iconResId : item.iconResId;
final int itemRank = (item.rank == 0) ? rank : item.rank; item.className = (TextUtils.isEmpty(item.className)) ? className : item.className;
String itemClassName = (TextUtils.isEmpty(item.className))
? className : item.className;
indexFromResource(context, database, localeStr, indexFromResource(database, localeStr, item, nonIndexableKeys);
item.xmlResId, itemClassName, itemIconResId, itemRank,
item.intentAction, item.intentTargetPackage,
item.intentTargetClass, nonIndexableKeys);
} }
} }
} }
@@ -1164,4 +1159,4 @@ public class DatabaseIndexingManager {
} }
} }
} }
} }

View File

@@ -129,7 +129,6 @@ public class DatabaseResultLoader extends AsyncLoader<List<SearchResult>> {
secondaryResults = query(MATCH_COLUMNS_SECONDARY, BASE_RANKS[1]); secondaryResults = query(MATCH_COLUMNS_SECONDARY, BASE_RANKS[1]);
tertiaryResults = query(MATCH_COLUMNS_TERTIARY, BASE_RANKS[2]); tertiaryResults = query(MATCH_COLUMNS_TERTIARY, BASE_RANKS[2]);
final List<SearchResult> results = new ArrayList<>(primaryResults.size() final List<SearchResult> results = new ArrayList<>(primaryResults.size()
+ secondaryResults.size() + secondaryResults.size()
+ tertiaryResults.size()); + tertiaryResults.size());
@@ -167,7 +166,7 @@ public class DatabaseResultLoader extends AsyncLoader<List<SearchResult>> {
} }
private static String buildWhereClause(String[] matchColumns) { private static String buildWhereClause(String[] matchColumns) {
StringBuilder sb = new StringBuilder(" "); StringBuilder sb = new StringBuilder(" (");
final int count = matchColumns.length; final int count = matchColumns.length;
for (int n = 0; n < count; n++) { for (int n = 0; n < count; n++) {
sb.append(matchColumns[n]); sb.append(matchColumns[n]);
@@ -176,6 +175,7 @@ public class DatabaseResultLoader extends AsyncLoader<List<SearchResult>> {
sb.append(" OR "); sb.append(" OR ");
} }
} }
sb.append(") AND enabled = 1");
return sb.toString(); return sb.toString();
} }
} }

View File

@@ -41,6 +41,7 @@ import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map;
import static com.android.settings.dashboard.SiteMapManager.SITE_MAP_COLUMNS; import static com.android.settings.dashboard.SiteMapManager.SITE_MAP_COLUMNS;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -51,7 +52,7 @@ import static org.mockito.Mockito.spy;
public class DatabaseIndexingManagerTest { public class DatabaseIndexingManagerTest {
private final String localeStr = "en_US"; 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 title = "title\u2011title";
private final String updatedTitle = "title-title"; private final String updatedTitle = "title-title";
private final String normalizedTitle = "titletitle"; private final String normalizedTitle = "titletitle";
@@ -212,6 +213,20 @@ public class DatabaseIndexingManagerTest {
assertThat(cursor.getCount()).isEqualTo(6); assertThat(cursor.getCount()).isEqualTo(6);
} }
@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 @Test
public void testAddResourceHeader_RowsMatch() { public void testAddResourceHeader_RowsMatch() {
SearchIndexableResource resource = getFakeResource(R.xml.application_settings); SearchIndexableResource resource = getFakeResource(R.xml.application_settings);
@@ -529,21 +544,19 @@ public class DatabaseIndexingManagerTest {
@Test @Test
public void testResourceProvider_ResourceRowInserted() { public void testResourceProvider_ResourceRowInserted() {
SearchIndexableResource resource = getFakeResource(R.xml.gesture_settings); SearchIndexableResource resource = getFakeResource(0);
resource.xmlResId = 0;
resource.className = "com.android.settings.LegalSettings"; resource.className = "com.android.settings.LegalSettings";
mManager.indexOneSearchIndexableData(mDb, localeStr, resource, mManager.indexOneSearchIndexableData(mDb, localeStr, resource,
new HashMap<>()); new HashMap<>());
Cursor cursor = mDb.rawQuery("SELECT * FROM prefs_index", null); Cursor cursor = mDb.rawQuery("SELECT * FROM prefs_index", null);
assertThat(cursor.getCount()).isEqualTo(2); assertThat(cursor.getCount()).isEqualTo(6);
} }
@Test @Test
public void testResourceProvider_ResourceRowMatches() { public void testResourceProvider_ResourceRowMatches() {
SearchIndexableResource resource = getFakeResource(R.xml.gesture_settings); SearchIndexableResource resource = getFakeResource(0);
resource.xmlResId = 0; resource.className = "com.android.settings.display.ScreenZoomSettings";
resource.className = "com.android.settings.LegalSettings";
mManager.indexOneSearchIndexableData(mDb, localeStr, resource, mManager.indexOneSearchIndexableData(mDb, localeStr, resource,
new HashMap<>()); new HashMap<>());
@@ -555,9 +568,9 @@ public class DatabaseIndexingManagerTest {
// Data Rank // Data Rank
assertThat(cursor.getInt(1)).isEqualTo(rank); assertThat(cursor.getInt(1)).isEqualTo(rank);
// Data Title // Data Title
assertThat(cursor.getString(2)).isEqualTo("Legal information"); assertThat(cursor.getString(2)).isEqualTo("Display size");
// Normalized Title // Normalized Title
assertThat(cursor.getString(3)).isEqualTo("legal information"); assertThat(cursor.getString(3)).isEqualTo("display size");
// Summary On // Summary On
assertThat(cursor.getString(4)).isEmpty(); assertThat(cursor.getString(4)).isEmpty();
// Summary On Normalized // Summary On Normalized
@@ -569,12 +582,13 @@ public class DatabaseIndexingManagerTest {
// Entries - only on for list preferences // Entries - only on for list preferences
assertThat(cursor.getString(8)).isNull(); assertThat(cursor.getString(8)).isNull();
// Keywords // Keywords
assertThat(cursor.getString(9)).isEmpty(); assertThat(cursor.getString(9)).isEqualTo(
"display density screen zoom scale scaling");
// Screen Title // Screen Title
assertThat(cursor.getString(10)).isEqualTo("Legal information"); assertThat(cursor.getString(10)).isEqualTo("Display size");
// Class Name // Class Name
assertThat(cursor.getString(11)) assertThat(cursor.getString(11))
.isEqualTo("com.android.settings.LegalSettings"); .isEqualTo("com.android.settings.display.ScreenZoomSettings");
// Icon // Icon
assertThat(cursor.getInt(12)).isEqualTo(iconResId); assertThat(cursor.getInt(12)).isEqualTo(iconResId);
// Intent Action // Intent Action
@@ -595,6 +609,20 @@ public class DatabaseIndexingManagerTest {
assertThat(cursor.getBlob(20)).isNull(); 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 // Util functions
private SearchIndexableRaw getFakeRaw() { private SearchIndexableRaw getFakeRaw() {
@@ -636,4 +664,11 @@ public class DatabaseIndexingManagerTest {
sir.enabled = enabled; sir.enabled = enabled;
return sir; 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;
}
}

View File

@@ -80,26 +80,26 @@ public class DatabaseResultLoaderTest {
@Test @Test
public void testMatchTitle() { public void testMatchTitle() {
loader = new DatabaseResultLoader(mContext, "title"); loader = new DatabaseResultLoader(mContext, "title");
assertThat(loader.loadInBackground().size()).isEqualTo(3); assertThat(loader.loadInBackground().size()).isEqualTo(2);
verify(mSiteMapManager, times(3)).buildBreadCrumb(eq(mContext), anyString(), anyString()); verify(mSiteMapManager, times(2)).buildBreadCrumb(eq(mContext), anyString(), anyString());
} }
@Test @Test
public void testMatchSummary() { public void testMatchSummary() {
loader = new DatabaseResultLoader(mContext, "summary"); loader = new DatabaseResultLoader(mContext, "summary");
assertThat(loader.loadInBackground().size()).isEqualTo(3); assertThat(loader.loadInBackground().size()).isEqualTo(2);
} }
@Test @Test
public void testMatchKeywords() { public void testMatchKeywords() {
loader = new DatabaseResultLoader(mContext, "keywords"); loader = new DatabaseResultLoader(mContext, "keywords");
assertThat(loader.loadInBackground().size()).isEqualTo(3); assertThat(loader.loadInBackground().size()).isEqualTo(2);
} }
@Test @Test
public void testMatchEntries() { public void testMatchEntries() {
loader = new DatabaseResultLoader(mContext, "entries"); loader = new DatabaseResultLoader(mContext, "entries");
assertThat(loader.loadInBackground().size()).isEqualTo(3); assertThat(loader.loadInBackground().size()).isEqualTo(2);
} }
@Test @Test
@@ -167,7 +167,7 @@ public class DatabaseResultLoaderTest {
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, ""); values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, ""); values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
values.put(IndexDatabaseHelper.IndexColumns.ICON, ""); 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.DATA_KEY_REF, "gesture_double_tap_power");
values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0); values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0); values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
@@ -196,7 +196,7 @@ public class DatabaseResultLoaderTest {
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, ""); values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, ""); values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
values.put(IndexDatabaseHelper.IndexColumns.ICON, ""); 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.DATA_KEY_REF, "gesture_double_tap_power");
values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0); values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0); values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
@@ -223,7 +223,7 @@ public class DatabaseResultLoaderTest {
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, ""); values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, ""); values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
values.put(IndexDatabaseHelper.IndexColumns.ICON, ""); 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.DATA_KEY_REF, "gesture_double_tap_power");
values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0); values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0); values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
@@ -249,7 +249,7 @@ public class DatabaseResultLoaderTest {
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, ""); values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, ""); values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
values.put(IndexDatabaseHelper.IndexColumns.ICON, ""); 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.DATA_KEY_REF, "gesture_double_tap_power");
values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0); values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0); values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);