Add metrics for suggestions

Bug: 27851236
Change-Id: Ia5aa1d42a40ba09a19db3c3790f0a7342660e613
This commit is contained in:
Jason Monk
2016-03-30 16:05:29 -04:00
parent f20c718f19
commit 45fda2734a
2 changed files with 23 additions and 0 deletions

View File

@@ -225,6 +225,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MetricsLogger.action(mContext, MetricsEvent.ACTION_SETTINGS_SUGGESTION,
DashboardAdapter.getSuggestionIdentifier(mContext, suggestion));
((SettingsActivity) mContext).startSuggestion(suggestion.intent);
}
});
@@ -259,6 +261,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
MetricsLogger.action(mContext, MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION,
DashboardAdapter.getSuggestionIdentifier(mContext, suggestion));
disableSuggestion(suggestion);
mSuggestions.remove(suggestion);
recountItems();
@@ -378,6 +382,16 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
return null;
}
public static String getSuggestionIdentifier(Context context, Tile suggestion) {
String packageName = suggestion.intent.getComponent().getPackageName();
if (packageName.equals(context.getPackageName())) {
// Since Settings provides several suggestions, fill in the class instead of the
// package for these.
packageName = suggestion.intent.getComponent().getClassName();
}
return packageName;
}
public static class DashboardItemHolder extends RecyclerView.ViewHolder {
public final ImageView icon;
public final TextView title;

View File

@@ -39,6 +39,7 @@ import com.android.settings.dashboard.conditional.FocusRecyclerView;
import com.android.settingslib.SuggestionParser;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.SettingsDrawerActivity;
import com.android.settingslib.drawer.Tile;
import java.util.List;
@@ -114,6 +115,10 @@ public class DashboardSummary extends InstrumentedFragment
for (Condition c : mConditionManager.getVisibleConditions()) {
MetricsLogger.visible(getContext(), c.getMetricsConstant());
}
for (Tile suggestion : mSuggestionParser.getSuggestions()) {
MetricsLogger.action(getContext(), MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION,
DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion));
}
}
@Override
@@ -125,6 +130,10 @@ public class DashboardSummary extends InstrumentedFragment
for (Condition c : mConditionManager.getVisibleConditions()) {
MetricsLogger.hidden(getContext(), c.getMetricsConstant());
}
for (Tile suggestion : mSuggestionParser.getSuggestions()) {
MetricsLogger.action(getContext(), MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION,
DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion));
}
}
@Override