Support changes to SuggestionParser
Change-Id: I002e10cfe2a058f934d2c6218c88c2588654733f
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index b564a27..0d92c62 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -33,6 +33,7 @@
import com.android.settings.SettingsActivity;
import com.android.settings.dashboard.conditional.Condition;
import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
+import com.android.settingslib.SuggestionParser;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile;
@@ -66,6 +67,7 @@
private int mSuggestionMode = SUGGESTION_MODE_DEFAULT;
private Condition mExpandedCondition = null;
+ private SuggestionParser mSuggestionParser;
public DashboardAdapter(Context context) {
mContext = context;
@@ -73,8 +75,9 @@
setHasStableIds(true);
}
- public void setSuggestions(List<Tile> suggestions) {
- mSuggestions = suggestions;
+ public void setSuggestions(SuggestionParser suggestionParser) {
+ mSuggestions = suggestionParser.getSuggestions();
+ mSuggestionParser = suggestionParser;
recountItems();
}
@@ -235,10 +238,12 @@
new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
- mContext.getPackageManager().setComponentEnabledSetting(
- suggestion.intent.getComponent(),
- PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
+ if (mSuggestionParser.dismissSuggestion(suggestion)) {
+ mContext.getPackageManager().setComponentEnabledSetting(
+ suggestion.intent.getComponent(),
+ PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+ PackageManager.DONT_KILL_APP);
+ }
mSuggestions.remove(suggestion);
recountItems();
return true;
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index cbb1549..8dffffa 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -16,6 +16,7 @@
package com.android.settings.dashboard;
+import android.content.Context;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.util.Log;
@@ -55,6 +56,8 @@
Settings.StorageSettingsActivity.class.getName(),
};
+ private static final String SUGGESTIONS = "suggestions";
+
private FocusRecyclerView mDashboard;
private DashboardAdapter mAdapter;
private SummaryLoader mSummaryLoader;
@@ -77,8 +80,10 @@
setHasOptionsMenu(true);
if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)
+ " ms");
- mConditionManager = ConditionManager.get(getContext());
- mSuggestionParser = new SuggestionParser(getContext(), R.xml.suggestion_ordering);
+ Context context = getContext();
+ mConditionManager = ConditionManager.get(context);
+ mSuggestionParser = new SuggestionParser(context,
+ context.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering);
}
@Override
@@ -138,7 +143,7 @@
mDashboard.setListener(this);
mAdapter = new DashboardAdapter(getContext());
mAdapter.setConditions(mConditionManager.getConditions());
- mAdapter.setSuggestions(mSuggestionParser.getSuggestions());
+ mAdapter.setSuggestions(mSuggestionParser);
mSummaryLoader.setAdapter(mAdapter);
ConditionAdapterUtils.addDismiss(mDashboard);