Add metrics for suggestions
Bug: 27851236
Change-Id: Ia5aa1d42a40ba09a19db3c3790f0a7342660e613
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index 58990d3..8082f62 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -225,6 +225,8 @@
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 @@
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 @@
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;
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 4595629..5d9a79b 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -39,6 +39,7 @@
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 @@
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 @@
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