Add search loader for installed apps.

- The loader filters out system apps.
- Loader performs case-insensitive match with app names.
- SearchResultAdapter combines results from multiple loaders into a
  single list.

Fixes: 33347966
Test: make RunSettingsRoboTests
Change-Id: I228ca6fb82f0ac5151b2346c079c2de41104a4df
This commit is contained in:
Fan Zhang
2016-12-06 16:22:16 -08:00
parent 413eaa4070
commit 36d0d143be
16 changed files with 445 additions and 179 deletions

View File

@@ -23,10 +23,11 @@ import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.drawable.Drawable;
import android.support.annotation.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.search.Index;
import com.android.settings.search.IndexDatabaseHelper;
import com.android.settings.utils.AsyncLoader;
import com.android.settings.R;
import java.util.ArrayList;
import java.util.Collections;
@@ -107,7 +108,6 @@ public class DatabaseResultLoader extends AsyncLoader<List<SearchResult>> {
icon = mContext.getDrawable(R.drawable.ic_search_history);
}
SearchResult.Builder builder = new SearchResult.Builder();
builder.addTitle(title)
.addSummary(summaryOn)