Support changes to SuggestionParser

Change-Id: I002e10cfe2a058f934d2c6218c88c2588654733f
This commit is contained in:
Jason Monk
2016-01-26 13:58:25 -05:00
parent 7eda1c5fa1
commit 91ca519a0f
2 changed files with 19 additions and 9 deletions

View File

@@ -33,6 +33,7 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.dashboard.conditional.Condition; import com.android.settings.dashboard.conditional.Condition;
import com.android.settings.dashboard.conditional.ConditionAdapterUtils; import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
import com.android.settingslib.SuggestionParser;
import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile; import com.android.settingslib.drawer.Tile;
@@ -66,6 +67,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
private int mSuggestionMode = SUGGESTION_MODE_DEFAULT; private int mSuggestionMode = SUGGESTION_MODE_DEFAULT;
private Condition mExpandedCondition = null; private Condition mExpandedCondition = null;
private SuggestionParser mSuggestionParser;
public DashboardAdapter(Context context) { public DashboardAdapter(Context context) {
mContext = context; mContext = context;
@@ -73,8 +75,9 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
setHasStableIds(true); setHasStableIds(true);
} }
public void setSuggestions(List<Tile> suggestions) { public void setSuggestions(SuggestionParser suggestionParser) {
mSuggestions = suggestions; mSuggestions = suggestionParser.getSuggestions();
mSuggestionParser = suggestionParser;
recountItems(); recountItems();
} }
@@ -235,10 +238,12 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
new MenuItem.OnMenuItemClickListener() { new MenuItem.OnMenuItemClickListener() {
@Override @Override
public boolean onMenuItemClick(MenuItem item) { public boolean onMenuItemClick(MenuItem item) {
mContext.getPackageManager().setComponentEnabledSetting( if (mSuggestionParser.dismissSuggestion(suggestion)) {
suggestion.intent.getComponent(), mContext.getPackageManager().setComponentEnabledSetting(
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, suggestion.intent.getComponent(),
PackageManager.DONT_KILL_APP); PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}
mSuggestions.remove(suggestion); mSuggestions.remove(suggestion);
recountItems(); recountItems();
return true; return true;

View File

@@ -16,6 +16,7 @@
package com.android.settings.dashboard; package com.android.settings.dashboard;
import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.util.Log; import android.util.Log;
@@ -55,6 +56,8 @@ public class DashboardSummary extends InstrumentedFragment
Settings.StorageSettingsActivity.class.getName(), Settings.StorageSettingsActivity.class.getName(),
}; };
private static final String SUGGESTIONS = "suggestions";
private FocusRecyclerView mDashboard; private FocusRecyclerView mDashboard;
private DashboardAdapter mAdapter; private DashboardAdapter mAdapter;
private SummaryLoader mSummaryLoader; private SummaryLoader mSummaryLoader;
@@ -77,8 +80,10 @@ public class DashboardSummary extends InstrumentedFragment
setHasOptionsMenu(true); setHasOptionsMenu(true);
if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime) if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)
+ " ms"); + " ms");
mConditionManager = ConditionManager.get(getContext()); Context context = getContext();
mSuggestionParser = new SuggestionParser(getContext(), R.xml.suggestion_ordering); mConditionManager = ConditionManager.get(context);
mSuggestionParser = new SuggestionParser(context,
context.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering);
} }
@Override @Override
@@ -138,7 +143,7 @@ public class DashboardSummary extends InstrumentedFragment
mDashboard.setListener(this); mDashboard.setListener(this);
mAdapter = new DashboardAdapter(getContext()); mAdapter = new DashboardAdapter(getContext());
mAdapter.setConditions(mConditionManager.getConditions()); mAdapter.setConditions(mConditionManager.getConditions());
mAdapter.setSuggestions(mSuggestionParser.getSuggestions()); mAdapter.setSuggestions(mSuggestionParser);
mSummaryLoader.setAdapter(mAdapter); mSummaryLoader.setAdapter(mAdapter);
ConditionAdapterUtils.addDismiss(mDashboard); ConditionAdapterUtils.addDismiss(mDashboard);