Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45fda273 authored by Jason Monk's avatar Jason Monk
Browse files

Add metrics for suggestions

Bug: 27851236
Change-Id: Ia5aa1d42a40ba09a19db3c3790f0a7342660e613
parent f20c718f
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -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;
+9 −0
Original line number Diff line number Diff line
@@ -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