Trim search query when initializing installed app searcher.
Change-Id: I502185d4b497b2edac32e4a8368be76d13b68259 Fix: 62885439 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -20,8 +20,8 @@ package com.android.settings.search;
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import com.android.settings.dashboard.SiteMapManager;
|
||||
import com.android.settings.utils.AsyncLoader;
|
||||
|
||||
@@ -97,7 +97,8 @@ public class DatabaseResultLoader extends AsyncLoader<Set<? extends SearchResult
|
||||
*/
|
||||
public static final int[] BASE_RANKS = {1, 3, 7, 9};
|
||||
|
||||
private final String mQueryText;
|
||||
@VisibleForTesting
|
||||
final String mQueryText;
|
||||
private final Context mContext;
|
||||
private final CursorToSearchResultConverter mConverter;
|
||||
private final SiteMapManager mSiteMapManager;
|
||||
@@ -106,7 +107,7 @@ public class DatabaseResultLoader extends AsyncLoader<Set<? extends SearchResult
|
||||
super(context);
|
||||
mSiteMapManager = mapManager;
|
||||
mContext = context;
|
||||
mQueryText = cleanQuery(queryText);
|
||||
mQueryText = queryText;
|
||||
mConverter = new CursorToSearchResultConverter(context);
|
||||
}
|
||||
|
||||
@@ -136,18 +137,6 @@ public class DatabaseResultLoader extends AsyncLoader<Set<? extends SearchResult
|
||||
return super.onCancelLoad();
|
||||
}
|
||||
|
||||
/**
|
||||
* A generic method to make the query suitable for searching the database.
|
||||
*
|
||||
* @return the cleaned query string
|
||||
*/
|
||||
private static String cleanQuery(String query) {
|
||||
if (TextUtils.isEmpty(query)) {
|
||||
return null;
|
||||
}
|
||||
return query.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and executes the query which matches prefixes of the first word of the given columns.
|
||||
*
|
||||
|
@@ -27,6 +27,7 @@ import android.net.Uri;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
@@ -54,7 +55,8 @@ public class InstalledAppResultLoader extends AsyncLoader<Set<? extends SearchRe
|
||||
|
||||
private List<String> mBreadcrumb;
|
||||
private SiteMapManager mSiteMapManager;
|
||||
private final String mQuery;
|
||||
@VisibleForTesting
|
||||
final String mQuery;
|
||||
private final UserManager mUserManager;
|
||||
private final PackageManagerWrapper mPackageManager;
|
||||
private final List<ResolveInfo> mHomeActivities = new ArrayList<>();
|
||||
|
@@ -17,14 +17,10 @@
|
||||
|
||||
package com.android.settings.search;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.applications.PackageManagerWrapperImpl;
|
||||
import com.android.settings.dashboard.SiteMapManager;
|
||||
|
||||
@@ -45,14 +41,14 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider {
|
||||
|
||||
@Override
|
||||
public DatabaseResultLoader getDatabaseSearchLoader(Context context, String query) {
|
||||
return new DatabaseResultLoader(context, query, getSiteMapManager());
|
||||
return new DatabaseResultLoader(context, cleanQuery(query), getSiteMapManager());
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstalledAppResultLoader getInstalledAppSearchLoader(Context context, String query) {
|
||||
return new InstalledAppResultLoader(
|
||||
context, new PackageManagerWrapperImpl(context.getPackageManager()), query,
|
||||
getSiteMapManager());
|
||||
context, new PackageManagerWrapperImpl(context.getPackageManager()),
|
||||
cleanQuery(query), getSiteMapManager());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -88,4 +84,16 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider {
|
||||
Log.d(TAG, "IndexDatabase() took " +
|
||||
(System.currentTimeMillis() - indexStartTime) + " ms");
|
||||
}
|
||||
|
||||
/**
|
||||
* A generic method to make the query suitable for searching the database.
|
||||
*
|
||||
* @return the cleaned query string
|
||||
*/
|
||||
private String cleanQuery(String query) {
|
||||
if (TextUtils.isEmpty(query)) {
|
||||
return null;
|
||||
}
|
||||
return query.trim();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user