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

Commit 8fc4e819 authored by Fan Zhang's avatar Fan Zhang
Browse files

Log search result click and its rank.

Bug: 34975477
Test: RunSettingsRoboTests
Change-Id: I86e72dbd27ac5daeafa4fb35ad55662de7b3eca9
parent 42df1dca
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.core.instrumentation;

import android.content.Context;
import android.metrics.LogMaker;
import android.util.Pair;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto;
@@ -59,8 +60,19 @@ public class EventLogWriter implements LogWriter {
        MetricsLogger.action(context, category, Boolean.toString(value));
    }

    public void action(Context context, int category, String pkg) {
    public void action(Context context, int category, String pkg,
            Pair<Integer, Object>... taggedData) {
        if (taggedData == null || taggedData.length == 0) {
            MetricsLogger.action(context, category, pkg);
        } else {
            final LogMaker logMaker = new LogMaker(category)
                    .setType(MetricsProto.MetricsEvent.TYPE_ACTION)
                    .setPackageName(pkg);
            for (Pair<Integer, Object> pair : taggedData) {
                logMaker.addTaggedData(pair.first, pair.second);
            }
            MetricsLogger.action(logMaker);
        }
    }

    public void count(Context context, String name, int value) {
+2 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package com.android.settings.core.instrumentation;

import android.content.Context;
import android.util.Pair;

/**
 * Generic log writer interface.
@@ -55,7 +56,7 @@ public interface LogWriter {
    /**
     * Logs an user action.
     */
    void action(Context context, int category, String pkg);
    void action(Context context, int category, String pkg, Pair<Integer, Object>... taggedData);

    /**
     * Logs a count.
+4 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package com.android.settings.core.instrumentation;

import android.content.Context;
import android.util.Pair;

import com.android.internal.logging.nano.MetricsProto;

@@ -74,9 +75,10 @@ public class MetricsFeatureProvider {
        }
    }

    public void action(Context context, int category, String pkg) {
    public void action(Context context, int category, String pkg,
            Pair<Integer, Object>... taggedData) {
        for (LogWriter writer : mLoggerWriters) {
            writer.action(context, category, pkg);
            writer.action(context, category, pkg, taggedData);
        }
    }

+3 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.core.instrumentation;

import android.content.Context;
import android.metrics.LogMaker;
import android.util.Pair;

import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.logging.MetricsLogger;
@@ -55,7 +56,8 @@ public class SettingSuggestionsLogWriter implements LogWriter {
    }

    @Override
    public void action(Context context, int category, String pkg) {
    public void action(Context context, int category, String pkg,
            Pair<Integer, Object>... taggedData) {
        if (mEventStore == null) {
            mEventStore = new EventStore(context);
        }
+5 −1
Original line number Diff line number Diff line
@@ -28,7 +28,9 @@ import android.os.UserManager;
import android.provider.Settings;
import android.text.TextUtils;

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.applications.ManageApplications;
import com.android.settings.applications.PackageManagerWrapper;
import com.android.settings.dashboard.SiteMapManager;
@@ -87,7 +89,9 @@ public class InstalledAppResultLoader extends AsyncLoader<List<? extends SearchR
                }
                final Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
                        .setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
                        .setData(Uri.fromParts("package", info.packageName, null));
                        .setData(Uri.fromParts("package", info.packageName, null))
                        .putExtra(SettingsActivity.EXTRA_SOURCE_METRICS_CATEGORY,
                                MetricsProto.MetricsEvent.DASHBOARD_SEARCH_RESULTS);

                final AppSearchResult.Builder builder = new AppSearchResult.Builder();
                builder.setAppInfo(info)
Loading