DatabaseResultLoaderTest.java revision 40ce0fab758714c973945ec8f053c52076d5fc50
17fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze/* 27fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * Copyright (C) 2017 The Android Open Source Project 37fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * 47fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * Licensed under the Apache License, Version 2.0 (the "License"); 57fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * you may not use this file except in compliance with the License. 67fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * You may obtain a copy of the License at 77fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * 87fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * http://www.apache.org/licenses/LICENSE-2.0 97fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * 107fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * Unless required by applicable law or agreed to in writing, software 117fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * distributed under the License is distributed on an "AS IS" BASIS, 127fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * See the License for the specific language governing permissions and 147fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * limitations under the License. 157fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze * 167fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze */ 177fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 187fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzepackage com.android.settings.search; 197fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 207fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport android.content.ContentValues; 217fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport android.content.Context; 227fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport android.database.sqlite.SQLiteDatabase; 23a8b089db8a6d495a18dc3ad91d3bd84b042fb004Fan Zhang 247fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport com.android.settings.SettingsRobolectricTestRunner; 257fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport com.android.settings.TestConfig; 26a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport com.android.settings.dashboard.SiteMapManager; 277fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport com.android.settings.search2.DatabaseIndexingUtils; 287fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport com.android.settings.search2.DatabaseResultLoader; 29a8b089db8a6d495a18dc3ad91d3bd84b042fb004Fan Zhangimport com.android.settings.testutils.DatabaseTestUtils; 30a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport com.android.settings.testutils.FakeFeatureFactory; 31a8b089db8a6d495a18dc3ad91d3bd84b042fb004Fan Zhang 327fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport org.junit.After; 337fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport org.junit.Before; 347fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport org.junit.Test; 357fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport org.junit.runner.RunWith; 36a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport org.mockito.Answers; 37a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport org.mockito.Mock; 38a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport org.mockito.MockitoAnnotations; 397fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport org.robolectric.RuntimeEnvironment; 407fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport org.robolectric.annotation.Config; 417fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 427fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzeimport static com.google.common.truth.Truth.assertThat; 43a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport static org.mockito.Matchers.anyString; 44a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport static org.mockito.Matchers.eq; 45a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport static org.mockito.Mockito.times; 46a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport static org.mockito.Mockito.verify; 47a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhangimport static org.mockito.Mockito.when; 487fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 497fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze@RunWith(SettingsRobolectricTestRunner.class) 507fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) 517fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritzepublic class DatabaseResultLoaderTest { 527fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 53a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang @Mock(answer = Answers.RETURNS_DEEP_STUBS) 54a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang private Context mMockContext; 55a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang @Mock 56a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang private SiteMapManager mSiteMapManager; 57a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang private Context mContext; 587fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze private DatabaseResultLoader loader; 597fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 607fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze SQLiteDatabase mDb; 617fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 627fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Before 637fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void setUp() { 64a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang MockitoAnnotations.initMocks(this); 657fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze mContext = RuntimeEnvironment.application; 66a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang FakeFeatureFactory.setupForTest(mMockContext); 67a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang FakeFeatureFactory factory = 68a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang (FakeFeatureFactory) FakeFeatureFactory.getFactory(mMockContext); 69a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang when(factory.searchFeatureProvider.getSiteMapManager()) 70a96b11f65d9f29dd4037da85e12f5cf9dcfa0176Fan Zhang .thenReturn(mSiteMapManager); 717fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze mDb = IndexDatabaseHelper.getInstance(mContext).getWritableDatabase(); 727fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze setUpDb(); 737fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 747fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 757fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @After 767fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void cleanUp() { 77a8b089db8a6d495a18dc3ad91d3bd84b042fb004Fan Zhang DatabaseTestUtils.clearDb(); 787fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 797fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 807fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 817fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testMatchTitle() { 8240ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "title", mSiteMapManager); 833f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(2); 843f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze verify(mSiteMapManager, times(2)).buildBreadCrumb(eq(mContext), anyString(), anyString()); 857fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 867fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 877fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 887fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testMatchSummary() { 8940ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "summary", mSiteMapManager); 903f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(2); 917fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 927fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 937fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 947fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testMatchKeywords() { 9540ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "keywords", mSiteMapManager); 963f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(2); 977fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 987fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 997fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 1007fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testMatchEntries() { 10140ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "entries", mSiteMapManager); 1023f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(2); 1037fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 1047fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 1057fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 1067fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testSpecialCaseWord_MatchesNonPrefix() { 1077fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze insertSpecialCase("Data usage"); 10840ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "usage", mSiteMapManager); 1097fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 1107fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 1117fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 1127fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 1137fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testSpecialCaseSpace_Matches() { 1147fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze insertSpecialCase("space"); 11540ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, " space ", mSiteMapManager); 1167fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 1177fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 1187fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 1197fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 1207fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testSpecialCaseDash_MatchesWordNoDash() { 1217fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze insertSpecialCase("wi-fi calling"); 12240ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "wifi", mSiteMapManager); 1237fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 1247fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 1257fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 1267fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 1277fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testSpecialCaseDash_MatchesWordWithDash() { 1287fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze insertSpecialCase("priorités seulment"); 12940ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "priorités", mSiteMapManager); 1307fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 1317fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 1327fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 1337fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 1347fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testSpecialCaseDash_MatchesWordWithoutDash() { 1357fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze insertSpecialCase("priorités seulment"); 13640ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "priorites", mSiteMapManager); 1377fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 1387fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 1397fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 1407fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze @Test 1417fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze public void testSpecialCaseDash_MatchesEntireQueryWithoutDash() { 1427fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze insertSpecialCase("wi-fi calling"); 14340ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "wifi calling", mSiteMapManager); 1447fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 1457fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 1467fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 147314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze @Test 148314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze public void testSpecialCasePrefix_MatchesPrefixOfEntry() { 149314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze insertSpecialCase("Photos"); 15040ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "pho", mSiteMapManager); 151314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 152314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze } 153314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze 154314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze @Test 155314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze public void testSpecialCasePrefix_DoesNotMatchNonPrefixSubstring() { 156314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze insertSpecialCase("Photos"); 15740ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "hot", mSiteMapManager); 158314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(0); 159314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze } 160314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze 161314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze @Test 162314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze public void testSpecialCaseMultiWordPrefix_MatchesPrefixOfEntry() { 163314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze insertSpecialCase("Apps Notifications"); 16440ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "Apps", mSiteMapManager); 165314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 166314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze } 167314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze 168314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze @Test 169314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze public void testSpecialCaseMultiWordPrefix_MatchesSecondWordPrefixOfEntry() { 170314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze insertSpecialCase("Apps Notifications"); 17140ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "Not", mSiteMapManager); 172314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 173314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze } 174314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze 175314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze @Test 176314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze public void testSpecialCaseMultiWordPrefix_DoesNotMatchMatchesPrefixOfFirstEntry() { 177314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze insertSpecialCase("Apps Notifications"); 17840ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "pp", mSiteMapManager); 179314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(0); 180314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze } 181314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze 182314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze @Test 183314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze public void testSpecialCaseMultiWordPrefix_DoesNotMatchMatchesPrefixOfSecondEntry() { 184314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze insertSpecialCase("Apps Notifications"); 18540ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "tion", mSiteMapManager); 186314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(0); 187314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze } 188314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze 189314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze @Test 190314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze public void testSpecialCaseMultiWordPrefixWithSpecial_MatchesPrefixOfEntry() { 191314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze insertSpecialCase("Apps & Notifications"); 19240ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "App", mSiteMapManager); 193314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 194314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze } 195314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze 196314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze @Test 197314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze public void testSpecialCaseMultiWordPrefixWithSpecial_MatchesPrefixOfSecondEntry() { 198314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze insertSpecialCase("Apps & Notifications"); 19940ce0fab758714c973945ec8f053c52076d5fc50Matthew Fritze loader = new DatabaseResultLoader(mContext, "No", mSiteMapManager); 200314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze assertThat(loader.loadInBackground().size()).isEqualTo(1); 201314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze } 202314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze 2037fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze private void insertSpecialCase(String specialCase) { 2047fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze String normalized = DatabaseIndexingUtils.normalizeHyphen(specialCase); 2057fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze normalized = DatabaseIndexingUtils.normalizeString(normalized); 2067fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 2077fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze ContentValues values = new ContentValues(); 2087fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DOCID, 0); 2097fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.LOCALE, "en-us"); 2107fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_RANK, 1); 2117fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE, specialCase); 2127fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED, normalized); 2137fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON, ""); 2147fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED, ""); 2157fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF, ""); 2167fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF_NORMALIZED, ""); 2177fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_ENTRIES, ""); 2187fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS, ""); 2197fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.CLASS_NAME, 2207fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze "com.android.settings.gestures.GestureSettings"); 2217fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.SCREEN_TITLE, "Moves"); 2227fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_ACTION, ""); 2237fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, ""); 2247fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, ""); 2257fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.ICON, ""); 2263f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze values.put(IndexDatabaseHelper.IndexColumns.ENABLED, true); 2277fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power"); 2287fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0); 2297fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0); 2307fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD, (String) null); 2317fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 2327fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze mDb.replaceOrThrow(IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX, null, values); 2337fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 2347fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 2357fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze private void setUpDb() { 2367fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze ContentValues values = new ContentValues(); 2377fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DOCID, 0); 2387fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.LOCALE, "en-us"); 2397fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_RANK, 1); 2407fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE, "alpha_title"); 2417fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED, "alpha title"); 2427fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON, "alpha_summary"); 243314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED, "alpha summary"); 2447fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF, "alpha_summary"); 245314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF_NORMALIZED, "alpha summary"); 246314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_ENTRIES, "alpha entries"); 247314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS, "alpha keywords"); 2487fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.CLASS_NAME, 2497fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze "com.android.settings.gestures.GestureSettings"); 2507fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.SCREEN_TITLE, "Moves"); 2517fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_ACTION, ""); 2527fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, ""); 2537fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, ""); 2547fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.ICON, ""); 2553f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze values.put(IndexDatabaseHelper.IndexColumns.ENABLED, true); 2567fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power"); 2577fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0); 2587fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0); 2597fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD, (String) null); 2607fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 2617fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze mDb.replaceOrThrow(IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX, null, values); 2627fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 2637fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values = new ContentValues(); 2647fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DOCID, 1); 2657fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.LOCALE, "en-us"); 2667fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_RANK, 1); 2677fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE, "bravo_title"); 2687fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED, "bravo title"); 2697fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON, "bravo_summary"); 270314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED, "bravo summary"); 2717fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF, "bravo_summary"); 272314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF_NORMALIZED, "bravo summary"); 273314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_ENTRIES, "bravo entries"); 274314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS, "bravo keywords"); 2757fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.CLASS_NAME, 2767fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze "com.android.settings.gestures.GestureSettings"); 2777fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.SCREEN_TITLE, "Moves"); 2787fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_ACTION, ""); 2797fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, ""); 2807fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, ""); 2817fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.ICON, ""); 2823f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze values.put(IndexDatabaseHelper.IndexColumns.ENABLED, true); 2837fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power"); 2847fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0); 2857fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0); 2867fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD, (String) null); 2877fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze mDb.replaceOrThrow(IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX, null, values); 2887fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 2897fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values = new ContentValues(); 2907fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DOCID, 2); 2917fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.LOCALE, "en-us"); 2927fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_RANK, 1); 2937fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE, "charlie_title"); 2947fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED, "charlie title"); 2957fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON, "charlie_summary"); 296314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED, "charlie summary"); 2977fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF, "charlie_summary"); 298314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF_NORMALIZED, "charlie summary"); 299314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_ENTRIES, "charlie entries"); 300314b09eb4b6bff2626604155e4273956aeaa24b5Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS, "charlie keywords"); 3017fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.CLASS_NAME, 3027fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze "com.android.settings.gestures.GestureSettings"); 3037fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.SCREEN_TITLE, "Moves"); 3047fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_ACTION, ""); 3057fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, ""); 3067fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, ""); 3077fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.ICON, ""); 3083f3b547e4a2eeeb362d9b7c98b05f9a244cd754eMatthew Fritze values.put(IndexDatabaseHelper.IndexColumns.ENABLED, false); 3097fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power"); 3107fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0); 3117fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0); 3127fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD, (String) null); 3137fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze 3147fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze mDb.replaceOrThrow(IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX, null, values); 3157fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze } 3167fda314980107337d2eb9237ed00e997ae4ee345Matthew Fritze} 317