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

Commit cb4b31d3 authored by Jason Monk's avatar Jason Monk
Browse files

Fix QS visibility logs missing some info

Test: runtest systemui
Change-Id: I6deb71576b137dfbd51f863e88ad939d4f3fab1b
Fixes: 35454347
parent 251894b1
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ package com.android.systemui.plugins.qs;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.metrics.LogMaker;
import android.service.quicksettings.Tile;

import com.android.systemui.plugins.annotations.DependsOn;
@@ -66,6 +67,10 @@ public interface QSTile {

    State getState();

    default LogMaker populate(LogMaker logMaker) {
        return logMaker;
    }

    @ProvidesInterface(version = Callback.VERSION)
    public interface Callback {
        public static final int VERSION = 1;
+12 −5
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.metrics.LogMaker;
import android.os.Handler;
import android.os.Message;
import android.service.quicksettings.Tile;
@@ -30,6 +31,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settingslib.Utils;
@@ -485,8 +487,9 @@ public class QSPanel extends LinearLayout implements Tunable, Callback {

    private void logTiles() {
        for (int i = 0; i < mRecords.size(); i++) {
            TileRecord tileRecord = mRecords.get(i);
            mMetricsLogger.visible(tileRecord.tile.getMetricsCategory());
            QSTile tile = mRecords.get(i).tile;
            mMetricsLogger.write(tile.populate(new LogMaker(tile.getMetricsCategory())
                    .setType(MetricsEvent.TYPE_OPEN)));
        }
    }

@@ -544,6 +547,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback {
        private static final int SHOW_DETAIL = 1;
        private static final int SET_TILE_VISIBILITY = 2;
        private static final int ANNOUNCE_FOR_ACCESSIBILITY = 3;

        @Override
        public void handleMessage(Message msg) {
            if (msg.what == SHOW_DETAIL) {
@@ -569,8 +573,11 @@ public class QSPanel extends LinearLayout implements Tunable, Callback {

    public interface QSTileLayout {
        void addTile(TileRecord tile);

        void removeTile(TileRecord tile);

        int getOffsetTop(TileRecord tile);

        boolean updateResources();

        void setListening(boolean listening);
+1 −2
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
    }

    @Override
    protected LogMaker populate(LogMaker logMaker) {
    public LogMaker populate(LogMaker logMaker) {
        return super.populate(logMaker).setComponentName(mComponent);
    }

@@ -275,7 +275,6 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
        } catch (RemoteException e) {
            // Called through wrapper, won't happen here.
        }
        MetricsLogger.action(mContext, getMetricsCategory(), mComponent.getPackageName());
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ public abstract class QSTileImpl<TState extends State> implements QSTile {
        mHandler.sendEmptyMessage(H.LONG_CLICK);
    }

    protected LogMaker populate(LogMaker logMaker) {
    public LogMaker populate(LogMaker logMaker) {
        if (mState instanceof BooleanState) {
            logMaker.addTaggedData(FIELD_QS_VALUE, ((BooleanState) mState).value ? 1 : 0);
        }