Loading src/com/android/settings/intelligence/search/car/CarSearchFeatureProviderImpl.java +4 −2 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import com.android.settings.intelligence.search.SearchResultLoader; import com.android.settings.intelligence.search.indexing.DatabaseIndexingManager; import com.android.settings.intelligence.search.indexing.IndexData; import com.android.settings.intelligence.search.indexing.IndexingCallback; import com.android.settings.intelligence.search.indexing.car.CarDatabaseIndexingManager; import com.android.settings.intelligence.search.query.DatabaseResultTask; import com.android.settings.intelligence.search.query.InstalledAppResultTask; import com.android.settings.intelligence.search.query.SearchQueryTask; Loading @@ -49,7 +50,7 @@ public class CarSearchFeatureProviderImpl implements SearchFeatureProvider { private static final String TAG = "CarSearchFeatureProvider"; private static final long SMART_SEARCH_RANKING_TIMEOUT = 300L; private DatabaseIndexingManager mDatabaseIndexingManager; private CarDatabaseIndexingManager mDatabaseIndexingManager; private ExecutorService mExecutorService; private SiteMapManager mSiteMapManager; Loading @@ -75,7 +76,8 @@ public class CarSearchFeatureProviderImpl implements SearchFeatureProvider { @Override public DatabaseIndexingManager getIndexingManager(Context context) { if (mDatabaseIndexingManager == null) { mDatabaseIndexingManager = new DatabaseIndexingManager(context.getApplicationContext()); mDatabaseIndexingManager = new CarDatabaseIndexingManager( context.getApplicationContext()); } return mDatabaseIndexingManager; } Loading src/com/android/settings/intelligence/search/indexing/DatabaseIndexingManager.java +10 −2 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ public class DatabaseIndexingManager { private List<IndexData> getIndexData(PreIndexData data) { if (mConverter == null) { mConverter = new IndexDataConverter(mContext); mConverter = getIndexDataConverter(mContext); } return mConverter.convertPreIndexDataToIndexData(data); } Loading @@ -186,7 +186,7 @@ public class DatabaseIndexingManager { private List<SiteMapPair> getSiteMapPairs(List<IndexData> indexData, List<Pair<String, String>> siteMapClassNames) { if (mConverter == null) { mConverter = new IndexDataConverter(mContext); mConverter = getIndexDataConverter(mContext); } return mConverter.convertSiteMapPairs(indexData, siteMapClassNames); } Loading Loading @@ -312,6 +312,14 @@ public class DatabaseIndexingManager { } } /** * Protected method to get a new IndexDataConverter instance. This method can be overridden * in subclasses to substitute in a custom IndexDataConverter. */ protected IndexDataConverter getIndexDataConverter(Context context) { return new IndexDataConverter(context); } public class IndexingTask extends AsyncTask<Void, Void, Void> { @VisibleForTesting Loading src/com/android/settings/intelligence/search/indexing/IndexData.java +16 −3 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ public class IndexData { private static final Pattern REMOVE_DIACRITICALS_PATTERN = Pattern.compile("\\p{InCombiningDiacriticalMarks}+"); private IndexData(Builder builder) { protected IndexData(Builder builder) { locale = Locale.getDefault().toString(); updatedTitle = normalizeHyphen(builder.mTitle); updatedSummaryOn = normalizeHyphen(builder.mSummaryOn); Loading Loading @@ -186,6 +186,18 @@ public class IndexData { return mKey; } public String getIntentAction() { return mIntentAction; } public String getIntentTargetPackage() { return mIntentTargetPackage; } public String getIntentTargetClass() { return mIntentTargetClass; } public Builder setSummaryOn(String summaryOn) { mSummaryOn = summaryOn; return this; Loading Loading @@ -290,9 +302,10 @@ public class IndexData { } /** * Adds Intent payload to builder. * Builds Intent payload for the builder. * This protected method that can be overridden in a subclass for custom intents. */ private Intent buildIntent(Context context) { protected Intent buildIntent(Context context) { final Intent intent; // TODO REFACTOR (b/62807132) With inline results re-add proper intent support Loading src/com/android/settings/intelligence/search/indexing/IndexDataConverter.java +7 −3 Original line number Diff line number Diff line Loading @@ -165,7 +165,7 @@ public class IndexDataConverter { // A row is enabled if it does not show up as an nonIndexableKey boolean enabled = !(nonIndexableKeys != null && nonIndexableKeys.contains(raw.key)); final IndexData.Builder builder = new IndexData.Builder(); final IndexData.Builder builder = getIndexDataBuilder(); builder.setTitle(raw.title) .setSummaryOn(raw.summaryOn) .setEntries(raw.entries) Loading Loading @@ -244,7 +244,7 @@ public class IndexDataConverter { headerKeywords = XmlParserUtils.getDataKeywords(context, attrs); enabled = !nonIndexableKeys.contains(headerKey); // TODO: Set payload type for header results IndexData.Builder headerBuilder = new IndexData.Builder(); IndexData.Builder headerBuilder = getIndexDataBuilder(); headerBuilder.setTitle(headerTitle) .setSummaryOn(headerSummary) .setScreenTitle(screenTitle) Loading Loading @@ -286,7 +286,7 @@ public class IndexDataConverter { isHeaderUnique = false; } builder = new IndexData.Builder(); builder = getIndexDataBuilder(); builder.setTitle(title) .setKeywords(keywords) .setClassName(sir.className) Loading Loading @@ -365,4 +365,8 @@ public class IndexDataConverter { final Set<String> result = nonIndexableKeys.get(authority); return result != null ? result : new ArraySet<>(); } protected IndexData.Builder getIndexDataBuilder() { return new IndexData.Builder(); } } src/com/android/settings/intelligence/search/indexing/car/CarDatabaseIndexingManager.java 0 → 100644 +39 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.intelligence.search.indexing.car; import android.content.Context; import com.android.settings.intelligence.search.indexing.DatabaseIndexingManager; import com.android.settings.intelligence.search.indexing.IndexDataConverter; import com.android.settings.intelligence.search.indexing.PreIndexData; /** * Car extension to {@link DatabaseIndexingManager} to use {@link CarIndexDataConverter} for * converting {@link PreIndexData} into {@link CarIndexData}. */ public class CarDatabaseIndexingManager extends DatabaseIndexingManager { public CarDatabaseIndexingManager(Context context) { super(context); } @Override protected IndexDataConverter getIndexDataConverter(Context context) { return new CarIndexDataConverter(context); } } Loading
src/com/android/settings/intelligence/search/car/CarSearchFeatureProviderImpl.java +4 −2 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import com.android.settings.intelligence.search.SearchResultLoader; import com.android.settings.intelligence.search.indexing.DatabaseIndexingManager; import com.android.settings.intelligence.search.indexing.IndexData; import com.android.settings.intelligence.search.indexing.IndexingCallback; import com.android.settings.intelligence.search.indexing.car.CarDatabaseIndexingManager; import com.android.settings.intelligence.search.query.DatabaseResultTask; import com.android.settings.intelligence.search.query.InstalledAppResultTask; import com.android.settings.intelligence.search.query.SearchQueryTask; Loading @@ -49,7 +50,7 @@ public class CarSearchFeatureProviderImpl implements SearchFeatureProvider { private static final String TAG = "CarSearchFeatureProvider"; private static final long SMART_SEARCH_RANKING_TIMEOUT = 300L; private DatabaseIndexingManager mDatabaseIndexingManager; private CarDatabaseIndexingManager mDatabaseIndexingManager; private ExecutorService mExecutorService; private SiteMapManager mSiteMapManager; Loading @@ -75,7 +76,8 @@ public class CarSearchFeatureProviderImpl implements SearchFeatureProvider { @Override public DatabaseIndexingManager getIndexingManager(Context context) { if (mDatabaseIndexingManager == null) { mDatabaseIndexingManager = new DatabaseIndexingManager(context.getApplicationContext()); mDatabaseIndexingManager = new CarDatabaseIndexingManager( context.getApplicationContext()); } return mDatabaseIndexingManager; } Loading
src/com/android/settings/intelligence/search/indexing/DatabaseIndexingManager.java +10 −2 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ public class DatabaseIndexingManager { private List<IndexData> getIndexData(PreIndexData data) { if (mConverter == null) { mConverter = new IndexDataConverter(mContext); mConverter = getIndexDataConverter(mContext); } return mConverter.convertPreIndexDataToIndexData(data); } Loading @@ -186,7 +186,7 @@ public class DatabaseIndexingManager { private List<SiteMapPair> getSiteMapPairs(List<IndexData> indexData, List<Pair<String, String>> siteMapClassNames) { if (mConverter == null) { mConverter = new IndexDataConverter(mContext); mConverter = getIndexDataConverter(mContext); } return mConverter.convertSiteMapPairs(indexData, siteMapClassNames); } Loading Loading @@ -312,6 +312,14 @@ public class DatabaseIndexingManager { } } /** * Protected method to get a new IndexDataConverter instance. This method can be overridden * in subclasses to substitute in a custom IndexDataConverter. */ protected IndexDataConverter getIndexDataConverter(Context context) { return new IndexDataConverter(context); } public class IndexingTask extends AsyncTask<Void, Void, Void> { @VisibleForTesting Loading
src/com/android/settings/intelligence/search/indexing/IndexData.java +16 −3 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ public class IndexData { private static final Pattern REMOVE_DIACRITICALS_PATTERN = Pattern.compile("\\p{InCombiningDiacriticalMarks}+"); private IndexData(Builder builder) { protected IndexData(Builder builder) { locale = Locale.getDefault().toString(); updatedTitle = normalizeHyphen(builder.mTitle); updatedSummaryOn = normalizeHyphen(builder.mSummaryOn); Loading Loading @@ -186,6 +186,18 @@ public class IndexData { return mKey; } public String getIntentAction() { return mIntentAction; } public String getIntentTargetPackage() { return mIntentTargetPackage; } public String getIntentTargetClass() { return mIntentTargetClass; } public Builder setSummaryOn(String summaryOn) { mSummaryOn = summaryOn; return this; Loading Loading @@ -290,9 +302,10 @@ public class IndexData { } /** * Adds Intent payload to builder. * Builds Intent payload for the builder. * This protected method that can be overridden in a subclass for custom intents. */ private Intent buildIntent(Context context) { protected Intent buildIntent(Context context) { final Intent intent; // TODO REFACTOR (b/62807132) With inline results re-add proper intent support Loading
src/com/android/settings/intelligence/search/indexing/IndexDataConverter.java +7 −3 Original line number Diff line number Diff line Loading @@ -165,7 +165,7 @@ public class IndexDataConverter { // A row is enabled if it does not show up as an nonIndexableKey boolean enabled = !(nonIndexableKeys != null && nonIndexableKeys.contains(raw.key)); final IndexData.Builder builder = new IndexData.Builder(); final IndexData.Builder builder = getIndexDataBuilder(); builder.setTitle(raw.title) .setSummaryOn(raw.summaryOn) .setEntries(raw.entries) Loading Loading @@ -244,7 +244,7 @@ public class IndexDataConverter { headerKeywords = XmlParserUtils.getDataKeywords(context, attrs); enabled = !nonIndexableKeys.contains(headerKey); // TODO: Set payload type for header results IndexData.Builder headerBuilder = new IndexData.Builder(); IndexData.Builder headerBuilder = getIndexDataBuilder(); headerBuilder.setTitle(headerTitle) .setSummaryOn(headerSummary) .setScreenTitle(screenTitle) Loading Loading @@ -286,7 +286,7 @@ public class IndexDataConverter { isHeaderUnique = false; } builder = new IndexData.Builder(); builder = getIndexDataBuilder(); builder.setTitle(title) .setKeywords(keywords) .setClassName(sir.className) Loading Loading @@ -365,4 +365,8 @@ public class IndexDataConverter { final Set<String> result = nonIndexableKeys.get(authority); return result != null ? result : new ArraySet<>(); } protected IndexData.Builder getIndexDataBuilder() { return new IndexData.Builder(); } }
src/com/android/settings/intelligence/search/indexing/car/CarDatabaseIndexingManager.java 0 → 100644 +39 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.intelligence.search.indexing.car; import android.content.Context; import com.android.settings.intelligence.search.indexing.DatabaseIndexingManager; import com.android.settings.intelligence.search.indexing.IndexDataConverter; import com.android.settings.intelligence.search.indexing.PreIndexData; /** * Car extension to {@link DatabaseIndexingManager} to use {@link CarIndexDataConverter} for * converting {@link PreIndexData} into {@link CarIndexData}. */ public class CarDatabaseIndexingManager extends DatabaseIndexingManager { public CarDatabaseIndexingManager(Context context) { super(context); } @Override protected IndexDataConverter getIndexDataConverter(Context context) { return new CarIndexDataConverter(context); } }