summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/dashboard
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2014-04-02 19:05:45 -0700
committerFabrice Di Meglio <fdimeglio@google.com>2014-04-02 19:05:45 -0700
commita41707200b6628376e8fb575e782d8228c0d32a2 (patch)
tree70e6423d199797b18a483db3222fc6abbb5d8204 /src/com/android/settings/dashboard
parentf66eb7a8c8aa65c704dad4e565ce919ec121705f (diff)
downloadpackages_apps_Settings-a41707200b6628376e8fb575e782d8228c0d32a2.zip
packages_apps_Settings-a41707200b6628376e8fb575e782d8228c0d32a2.tar.gz
packages_apps_Settings-a41707200b6628376e8fb575e782d8228c0d32a2.tar.bz2
Add indexing for ListPreferences
- now support ListPreferences and save the "entries" attribute - update Index database schema (and increment its version) - do some clever stuff when showing Search results: if there is a "$s" or "%s" in the summary (replacement strings), just use the entries instead Change-Id: If36595c3816706b6349faff7d3c2e725d3ea33f4
Diffstat (limited to 'src/com/android/settings/dashboard')
-rw-r--r--src/com/android/settings/dashboard/SearchResultsSummary.java37
1 files changed, 31 insertions, 6 deletions
diff --git a/src/com/android/settings/dashboard/SearchResultsSummary.java b/src/com/android/settings/dashboard/SearchResultsSummary.java
index 41d8609..706ae0f 100644
--- a/src/com/android/settings/dashboard/SearchResultsSummary.java
+++ b/src/com/android/settings/dashboard/SearchResultsSummary.java
@@ -197,15 +197,17 @@ public class SearchResultsSummary extends Fragment {
public String title;
public String summaryOn;
public String summaryOff;
+ public String entries;
public int iconResId;
public Context context;
public SearchResult(Context context, String title, String summaryOn, String summaryOff,
- int iconResId) {
+ String entries, int iconResId) {
this.context = context;
this.title = title;
this.summaryOn = summaryOn;
this.summaryOff = summaryOff;
+ this.entries = entries;
this.iconResId = iconResId;
}
}
@@ -218,6 +220,9 @@ public class SearchResultsSummary extends Fragment {
private Context mContext;
private HashMap<String, Context> mContextMap = new HashMap<String, Context>();
+ private static final String PERCENT_RECLACE = "%s";
+ private static final String DOLLAR_REPLACE = "$s";
+
public SearchResultsAdapter(Context context) {
mContext = context;
mInflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -252,6 +257,7 @@ public class SearchResultsSummary extends Fragment {
final String title = mCursor.getString(Index.COLUMN_INDEX_TITLE);
final String summaryOn = mCursor.getString(Index.COLUMN_INDEX_SUMMARY_ON);
final String summaryOff = mCursor.getString(Index.COLUMN_INDEX_SUMMARY_OFF);
+ final String entries = mCursor.getString(Index.COLUMN_INDEX_ENTRIES);
final String iconResStr = mCursor.getString(Index.COLUMN_INDEX_ICON);
final String className = mCursor.getString(
Index.COLUMN_INDEX_CLASS_NAME);
@@ -273,9 +279,12 @@ public class SearchResultsSummary extends Fragment {
} else {
packageContext = mContext;
}
+
final int iconResId = TextUtils.isEmpty(iconResStr) ?
R.drawable.empty_icon : Integer.parseInt(iconResStr);
- return new SearchResult(packageContext, title, summaryOn, summaryOff, iconResId);
+
+ return new SearchResult(packageContext, title, summaryOn, summaryOff,
+ entries, iconResId);
}
return null;
}
@@ -312,10 +321,26 @@ public class SearchResultsSummary extends Fragment {
SearchResult result = (SearchResult) getItem(position);
textTitle.setText(result.title);
- final StringBuilder sb = new StringBuilder(result.summaryOn);
- if (!TextUtils.isEmpty(result.summaryOff)) {
- sb.append(" | ");
- sb.append(result.summaryOff);
+
+ String summaryOn = result.summaryOn;
+ String summaryOff = result.summaryOff;
+ String entries = result.entries;
+
+ final StringBuilder sb = new StringBuilder();
+
+ if (!TextUtils.isEmpty(summaryOn) &&
+ !summaryOn.contains(PERCENT_RECLACE) && !summaryOn.contains(DOLLAR_REPLACE)) {
+ sb.append(summaryOn);
+ if (!TextUtils.isEmpty(summaryOff) &&
+ !summaryOff.contains(PERCENT_RECLACE) &&
+ !summaryOff.contains(DOLLAR_REPLACE)) {
+ sb.append(" \n ");
+ sb.append(summaryOff);
+ }
+ }
+ if (!TextUtils.isEmpty(entries)) {
+ sb.append(" \n ");
+ sb.append(entries);
}
textSummary.setText(sb.toString());
if (result.iconResId != R.drawable.empty_icon) {