Loading src/com/android/settings/dashboard/DashboardSummary.java +35 −11 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.SettingsDrawerActivity; import com.android.settingslib.drawer.Tile; import java.util.ArrayList; import java.util.List; public class DashboardSummary extends InstrumentedFragment Loading @@ -63,6 +64,8 @@ public class DashboardSummary extends InstrumentedFragment private static final String SUGGESTIONS = "suggestions"; private static final String EXTRA_SCROLL_POSITION = "scroll_position"; private static final String EXTRA_SUGGESTION_SHOWN_LOGGED = "suggestions_shown_logged"; private static final String EXTRA_SUGGESTION_HIDDEN_LOGGED = "suggestions_hidden_logged"; private FocusRecyclerView mDashboard; private DashboardAdapter mAdapter; Loading @@ -71,6 +74,8 @@ public class DashboardSummary extends InstrumentedFragment private SuggestionParser mSuggestionParser; private LinearLayoutManager mLayoutManager; private SuggestionsChecks mSuggestionsChecks; private ArrayList<String> mSuggestionsShownLogged; private ArrayList<String> mSuggestionsHiddenLogged; @Override protected int getMetricsCategory() { Loading @@ -90,6 +95,15 @@ public class DashboardSummary extends InstrumentedFragment mSuggestionParser = new SuggestionParser(context, context.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering); mSuggestionsChecks = new SuggestionsChecks(getContext()); if (savedInstanceState == null) { mSuggestionsShownLogged = new ArrayList<>(); mSuggestionsHiddenLogged = new ArrayList<>(); } else { mSuggestionsShownLogged = savedInstanceState.getStringArrayList(EXTRA_SUGGESTION_SHOWN_LOGGED); mSuggestionsHiddenLogged = savedInstanceState.getStringArrayList(EXTRA_SUGGESTION_HIDDEN_LOGGED); } if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime) + " ms"); } Loading @@ -112,12 +126,6 @@ public class DashboardSummary extends InstrumentedFragment MetricsLogger.visible(getContext(), c.getMetricsConstant()); } } if (mAdapter.getSuggestions() != null) { for (Tile suggestion : mAdapter.getSuggestions()) { MetricsLogger.action(getContext(), MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion)); } } if (DEBUG_TIMING) Log.d(TAG, "onStart took " + (System.currentTimeMillis() - startTime) + " ms"); } Loading @@ -136,9 +144,15 @@ public class DashboardSummary extends InstrumentedFragment if (mAdapter.getSuggestions() == null) { return; } if (!getActivity().isChangingConfigurations()) { for (Tile suggestion : mAdapter.getSuggestions()) { MetricsLogger.action(getContext(), MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION, DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion)); String id = DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion); if (!mSuggestionsHiddenLogged.contains(id)) { mSuggestionsHiddenLogged.add(id); MetricsLogger.action(getContext(), MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION, id); } } } } Loading Loading @@ -169,6 +183,8 @@ public class DashboardSummary extends InstrumentedFragment if (mAdapter != null) { mAdapter.onSaveInstanceState(outState); } outState.putStringArrayList(EXTRA_SUGGESTION_HIDDEN_LOGGED, mSuggestionsHiddenLogged); outState.putStringArrayList(EXTRA_SUGGESTION_SHOWN_LOGGED, mSuggestionsShownLogged); } @Override Loading Loading @@ -222,9 +238,17 @@ public class DashboardSummary extends InstrumentedFragment protected List<Tile> doInBackground(Void... params) { List<Tile> suggestions = mSuggestionParser.getSuggestions(); for (int i = 0; i < suggestions.size(); i++) { if (mSuggestionsChecks.isSuggestionComplete(suggestions.get(i))) { mAdapter.disableSuggestion(suggestions.get(i)); Tile suggestion = suggestions.get(i); if (mSuggestionsChecks.isSuggestionComplete(suggestion)) { mAdapter.disableSuggestion(suggestion); suggestions.remove(i--); } else { String id = DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion); if (!mSuggestionsShownLogged.contains(id)) { mSuggestionsShownLogged.add(id); MetricsLogger.action(getContext(), MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, id); } } } return suggestions; Loading Loading
src/com/android/settings/dashboard/DashboardSummary.java +35 −11 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.SettingsDrawerActivity; import com.android.settingslib.drawer.Tile; import java.util.ArrayList; import java.util.List; public class DashboardSummary extends InstrumentedFragment Loading @@ -63,6 +64,8 @@ public class DashboardSummary extends InstrumentedFragment private static final String SUGGESTIONS = "suggestions"; private static final String EXTRA_SCROLL_POSITION = "scroll_position"; private static final String EXTRA_SUGGESTION_SHOWN_LOGGED = "suggestions_shown_logged"; private static final String EXTRA_SUGGESTION_HIDDEN_LOGGED = "suggestions_hidden_logged"; private FocusRecyclerView mDashboard; private DashboardAdapter mAdapter; Loading @@ -71,6 +74,8 @@ public class DashboardSummary extends InstrumentedFragment private SuggestionParser mSuggestionParser; private LinearLayoutManager mLayoutManager; private SuggestionsChecks mSuggestionsChecks; private ArrayList<String> mSuggestionsShownLogged; private ArrayList<String> mSuggestionsHiddenLogged; @Override protected int getMetricsCategory() { Loading @@ -90,6 +95,15 @@ public class DashboardSummary extends InstrumentedFragment mSuggestionParser = new SuggestionParser(context, context.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering); mSuggestionsChecks = new SuggestionsChecks(getContext()); if (savedInstanceState == null) { mSuggestionsShownLogged = new ArrayList<>(); mSuggestionsHiddenLogged = new ArrayList<>(); } else { mSuggestionsShownLogged = savedInstanceState.getStringArrayList(EXTRA_SUGGESTION_SHOWN_LOGGED); mSuggestionsHiddenLogged = savedInstanceState.getStringArrayList(EXTRA_SUGGESTION_HIDDEN_LOGGED); } if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime) + " ms"); } Loading @@ -112,12 +126,6 @@ public class DashboardSummary extends InstrumentedFragment MetricsLogger.visible(getContext(), c.getMetricsConstant()); } } if (mAdapter.getSuggestions() != null) { for (Tile suggestion : mAdapter.getSuggestions()) { MetricsLogger.action(getContext(), MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion)); } } if (DEBUG_TIMING) Log.d(TAG, "onStart took " + (System.currentTimeMillis() - startTime) + " ms"); } Loading @@ -136,9 +144,15 @@ public class DashboardSummary extends InstrumentedFragment if (mAdapter.getSuggestions() == null) { return; } if (!getActivity().isChangingConfigurations()) { for (Tile suggestion : mAdapter.getSuggestions()) { MetricsLogger.action(getContext(), MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION, DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion)); String id = DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion); if (!mSuggestionsHiddenLogged.contains(id)) { mSuggestionsHiddenLogged.add(id); MetricsLogger.action(getContext(), MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION, id); } } } } Loading Loading @@ -169,6 +183,8 @@ public class DashboardSummary extends InstrumentedFragment if (mAdapter != null) { mAdapter.onSaveInstanceState(outState); } outState.putStringArrayList(EXTRA_SUGGESTION_HIDDEN_LOGGED, mSuggestionsHiddenLogged); outState.putStringArrayList(EXTRA_SUGGESTION_SHOWN_LOGGED, mSuggestionsShownLogged); } @Override Loading Loading @@ -222,9 +238,17 @@ public class DashboardSummary extends InstrumentedFragment protected List<Tile> doInBackground(Void... params) { List<Tile> suggestions = mSuggestionParser.getSuggestions(); for (int i = 0; i < suggestions.size(); i++) { if (mSuggestionsChecks.isSuggestionComplete(suggestions.get(i))) { mAdapter.disableSuggestion(suggestions.get(i)); Tile suggestion = suggestions.get(i); if (mSuggestionsChecks.isSuggestionComplete(suggestion)) { mAdapter.disableSuggestion(suggestion); suggestions.remove(i--); } else { String id = DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion); if (!mSuggestionsShownLogged.contains(id)) { mSuggestionsShownLogged.add(id); MetricsLogger.action(getContext(), MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, id); } } } return suggestions; Loading