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

Commit eddeda4f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add logs to handleClick methods in QSTileImpl" into tm-qpr-dev

parents b8ea8075 7347ddbb
Loading
Loading
Loading
Loading
+37 −10
Original line number Diff line number Diff line
@@ -69,36 +69,63 @@ class QSLogger @Inject constructor(
        })
    }

    fun logTileClick(tileSpec: String, statusBarState: Int, state: Int) {
    fun logTileClick(tileSpec: String, statusBarState: Int, state: Int, eventId: Int) {
        log(DEBUG, {
            str1 = tileSpec
            int1 = statusBarState
            int1 = eventId
            str2 = StatusBarState.toString(statusBarState)
            str3 = toStateString(state)
        }, {
            "[$str1] Tile clicked. StatusBarState=$str2. TileState=$str3"
            "[$str1][$int1] Tile clicked. StatusBarState=$str2. TileState=$str3"
        })
    }

    fun logTileSecondaryClick(tileSpec: String, statusBarState: Int, state: Int) {
    fun logHandleClick(tileSpec: String, eventId: Int) {
        log(DEBUG, {
            str1 = tileSpec
            int1 = statusBarState
            int1 = eventId
        }, {
            "[$str1][$int1] Tile handling click."
        })
    }

    fun logTileSecondaryClick(tileSpec: String, statusBarState: Int, state: Int, eventId: Int) {
        log(DEBUG, {
            str1 = tileSpec
            int1 = eventId
            str2 = StatusBarState.toString(statusBarState)
            str3 = toStateString(state)
        }, {
            "[$str1] Tile long clicked. StatusBarState=$str2. TileState=$str3"
            "[$str1][$int1] Tile secondary clicked. StatusBarState=$str2. TileState=$str3"
        })
    }

    fun logHandleSecondaryClick(tileSpec: String, eventId: Int) {
        log(DEBUG, {
            str1 = tileSpec
            int1 = eventId
        }, {
            "[$str1][$int1] Tile handling secondary click."
        })
    }

    fun logTileLongClick(tileSpec: String, statusBarState: Int, state: Int) {
    fun logTileLongClick(tileSpec: String, statusBarState: Int, state: Int, eventId: Int) {
        log(DEBUG, {
            str1 = tileSpec
            int1 = statusBarState
            int1 = eventId
            str2 = StatusBarState.toString(statusBarState)
            str3 = toStateString(state)
        }, {
            "[$str1] Tile long clicked. StatusBarState=$str2. TileState=$str3"
            "[$str1][$int1] Tile long clicked. StatusBarState=$str2. TileState=$str3"
        })
    }

    fun logHandleLongClick(tileSpec: String, eventId: Int) {
        log(DEBUG, {
            str1 = tileSpec
            int1 = eventId
        }, {
            "[$str1][$int1] Tile handling long click."
        })
    }

+17 −6
Original line number Diff line number Diff line
@@ -105,6 +105,9 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
    private final FalsingManager mFalsingManager;
    protected final QSLogger mQSLogger;
    private volatile int mReadyState;
    // Keeps track of the click event, to match it with the handling in the background thread
    // Only read and modified in main thread (where click events come through).
    private int mClickEventId = 0;

    private final ArrayList<Callback> mCallbacks = new ArrayList<>();
    private final Object mStaleListener = new Object();
@@ -295,9 +298,11 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
                        mStatusBarStateController.getState())));
        mUiEventLogger.logWithInstanceId(QSEvent.QS_ACTION_CLICK, 0, getMetricsSpec(),
                getInstanceId());
        mQSLogger.logTileClick(mTileSpec, mStatusBarStateController.getState(), mState.state);
        final int eventId = mClickEventId++;
        mQSLogger.logTileClick(mTileSpec, mStatusBarStateController.getState(), mState.state,
                eventId);
        if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
            mHandler.obtainMessage(H.CLICK, view).sendToTarget();
            mHandler.obtainMessage(H.CLICK, eventId, 0, view).sendToTarget();
        }
    }

@@ -307,9 +312,10 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
                        mStatusBarStateController.getState())));
        mUiEventLogger.logWithInstanceId(QSEvent.QS_ACTION_SECONDARY_CLICK, 0, getMetricsSpec(),
                getInstanceId());
        final int eventId = mClickEventId++;
        mQSLogger.logTileSecondaryClick(mTileSpec, mStatusBarStateController.getState(),
                mState.state);
        mHandler.obtainMessage(H.SECONDARY_CLICK, view).sendToTarget();
                mState.state, eventId);
        mHandler.obtainMessage(H.SECONDARY_CLICK, eventId, 0, view).sendToTarget();
    }

    @Override
@@ -319,8 +325,10 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
                        mStatusBarStateController.getState())));
        mUiEventLogger.logWithInstanceId(QSEvent.QS_ACTION_LONG_PRESS, 0, getMetricsSpec(),
                getInstanceId());
        mQSLogger.logTileLongClick(mTileSpec, mStatusBarStateController.getState(), mState.state);
        mHandler.obtainMessage(H.LONG_CLICK, view).sendToTarget();
        final int eventId = mClickEventId++;
        mQSLogger.logTileLongClick(mTileSpec, mStatusBarStateController.getState(), mState.state,
                eventId);
        mHandler.obtainMessage(H.LONG_CLICK, eventId, 0, view).sendToTarget();
    }

    public LogMaker populate(LogMaker logMaker) {
@@ -590,13 +598,16 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
                                mContext, mEnforcedAdmin);
                        mActivityStarter.postStartActivityDismissingKeyguard(intent, 0);
                    } else {
                        mQSLogger.logHandleClick(mTileSpec, msg.arg1);
                        handleClick((View) msg.obj);
                    }
                } else if (msg.what == SECONDARY_CLICK) {
                    name = "handleSecondaryClick";
                    mQSLogger.logHandleSecondaryClick(mTileSpec, msg.arg1);
                    handleSecondaryClick((View) msg.obj);
                } else if (msg.what == LONG_CLICK) {
                    name = "handleLongClick";
                    mQSLogger.logHandleLongClick(mTileSpec, msg.arg1);
                    handleLongClick((View) msg.obj);
                } else if (msg.what == REFRESH_STATE) {
                    name = "handleRefreshState";
+59 −3
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Matchers.argThat;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -78,6 +79,7 @@ import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.ArgumentMatcher;
import org.mockito.Captor;
import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

@@ -144,7 +146,25 @@ public class QSTileImplTest extends SysuiTestCase {
        when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE);

        mTile.click(null /* view */);
        verify(mQsLogger).logTileClick(SPEC, StatusBarState.SHADE, Tile.STATE_ACTIVE);
        verify(mQsLogger).logTileClick(eq(SPEC), eq(StatusBarState.SHADE), eq(Tile.STATE_ACTIVE),
                anyInt());
    }

    @Test
    public void testHandleClick_log() {
        mTile.click(null);
        mTile.click(null);
        mTestableLooper.processAllMessages();
        mTile.click(null);
        mTestableLooper.processAllMessages();

        InOrder inOrder = inOrder(mQsLogger);
        inOrder.verify(mQsLogger).logTileClick(eq(SPEC), anyInt(), anyInt(), eq(0));
        inOrder.verify(mQsLogger).logTileClick(eq(SPEC), anyInt(), anyInt(), eq(1));
        inOrder.verify(mQsLogger).logHandleClick(SPEC, 0);
        inOrder.verify(mQsLogger).logHandleClick(SPEC, 1);
        inOrder.verify(mQsLogger).logTileClick(eq(SPEC), anyInt(), anyInt(), eq(2));
        inOrder.verify(mQsLogger).logHandleClick(SPEC, 2);
    }

    @Test
@@ -183,7 +203,25 @@ public class QSTileImplTest extends SysuiTestCase {
        when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE);

        mTile.secondaryClick(null /* view */);
        verify(mQsLogger).logTileSecondaryClick(SPEC, StatusBarState.SHADE, Tile.STATE_ACTIVE);
        verify(mQsLogger).logTileSecondaryClick(eq(SPEC), eq(StatusBarState.SHADE),
                eq(Tile.STATE_ACTIVE), anyInt());
    }

    @Test
    public void testHandleSecondaryClick_log() {
        mTile.secondaryClick(null);
        mTile.secondaryClick(null);
        mTestableLooper.processAllMessages();
        mTile.secondaryClick(null);
        mTestableLooper.processAllMessages();

        InOrder inOrder = inOrder(mQsLogger);
        inOrder.verify(mQsLogger).logTileSecondaryClick(eq(SPEC), anyInt(), anyInt(), eq(0));
        inOrder.verify(mQsLogger).logTileSecondaryClick(eq(SPEC), anyInt(), anyInt(), eq(1));
        inOrder.verify(mQsLogger).logHandleSecondaryClick(SPEC, 0);
        inOrder.verify(mQsLogger).logHandleSecondaryClick(SPEC, 1);
        inOrder.verify(mQsLogger).logTileSecondaryClick(eq(SPEC), anyInt(), anyInt(), eq(2));
        inOrder.verify(mQsLogger).logHandleSecondaryClick(SPEC, 2);
    }

    @Test
@@ -210,7 +248,25 @@ public class QSTileImplTest extends SysuiTestCase {
        when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE);

        mTile.longClick(null /* view */);
        verify(mQsLogger).logTileLongClick(SPEC, StatusBarState.SHADE, Tile.STATE_ACTIVE);
        verify(mQsLogger).logTileLongClick(eq(SPEC), eq(StatusBarState.SHADE),
                eq(Tile.STATE_ACTIVE), anyInt());
    }

    @Test
    public void testHandleLongClick_log() {
        mTile.longClick(null);
        mTile.longClick(null);
        mTestableLooper.processAllMessages();
        mTile.longClick(null);
        mTestableLooper.processAllMessages();

        InOrder inOrder = inOrder(mQsLogger);
        inOrder.verify(mQsLogger).logTileLongClick(eq(SPEC), anyInt(), anyInt(), eq(0));
        inOrder.verify(mQsLogger).logTileLongClick(eq(SPEC), anyInt(), anyInt(), eq(1));
        inOrder.verify(mQsLogger).logHandleLongClick(SPEC, 0);
        inOrder.verify(mQsLogger).logHandleLongClick(SPEC, 1);
        inOrder.verify(mQsLogger).logTileLongClick(eq(SPEC), anyInt(), anyInt(), eq(2));
        inOrder.verify(mQsLogger).logHandleLongClick(SPEC, 2);
    }

    @Test