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

Commit 1aa95dc4 authored by Wu Ahan's avatar Wu Ahan Committed by Android (Google) Code Review
Browse files

Merge "Refine doze log usage for usudfps screen-off pulse events" into main

parents 78ed9b43 234c530f
Loading
Loading
Loading
Loading
+23 −5
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import static android.os.PowerManager.WAKE_REASON_TAP;

import android.annotation.IntDef;
import android.os.PowerManager;
import android.text.TextUtils;
import android.util.TimeUtils;

import androidx.annotation.NonNull;
@@ -34,6 +33,7 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.Dumpable;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.shared.model.FingerprintAuthenticationStatus;
import com.android.systemui.statusbar.policy.DevicePostureController;

import com.google.errorprone.annotations.CompileTimeConstant;
@@ -281,11 +281,29 @@ public class DozeLog implements Dumpable {

    /**
     * Appends usudfps long press requestPulse event to the logs.
     * @param msg the message to log for usudfps pulse event.
     * @param immediate indicates if should request pulse immediately.
     * @param flagEnabled indicates if the bug flag is enabled.
     * @param fpsLockout indicates if fingerprint unlock is locked out.
     * @param fpsAllowed indicates if fingerprint unlock is allowed.
     * @param collectingEvents indicates if is collecting usudfps pulse events.
     * @param featureEnabled indicates if usudfps screen-off unlock is enabled.
     */
    public void traceShouldRequestUdfpsLongPressPulseImmediately(String msg) {
        if (TextUtils.isEmpty(msg)) return;
        mLogger.logShouldRequestUdfpsLongPressPulseImmediately(msg);
    public void traceShouldRequestUdfpsLongPressPulseImmediately(boolean immediate,
            boolean flagEnabled, boolean fpsLockout, boolean fpsAllowed, boolean collectingEvents,
            boolean featureEnabled) {
        mLogger.logShouldRequestUdfpsLongPressPulseImmediately(immediate, fpsLockout,
                fpsAllowed, collectingEvents);
        mLogger.logShouldRequestUdfpsLongPressPulseImmediatelyFeatureAndFlagState(
                flagEnabled, featureEnabled);
    }

    /**
     * Appends usudfps screen-off pulse event to the logs.
     * @param state the state while usudfps screen-off pulse event raised.
     */
    public void traceUltrasonicScreenOffPulseEvent(FingerprintAuthenticationStatus state) {
        if (state == null) return;
        mLogger.logUltrasonicScreenOffPulseEvent(state);
    }

    @Override
+44 −3
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.doze
import android.view.Display
import com.android.systemui.doze.DozeLog.Reason
import com.android.systemui.doze.DozeLog.reasonToString
import com.android.systemui.keyguard.shared.model.FingerprintAuthenticationStatus
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.core.LogLevel.DEBUG
import com.android.systemui.log.core.LogLevel.ERROR
@@ -417,12 +418,52 @@ class DozeLogger @Inject constructor(@DozeLog private val buffer: LogBuffer) {
        )
    }

    fun logShouldRequestUdfpsLongPressPulseImmediately(msg: String) {
    fun logShouldRequestUdfpsLongPressPulseImmediately(
        immediate: Boolean,
        fpsLockout: Boolean,
        fpsAllowed: Boolean,
        collectingEvents: Boolean,
    ) {
        buffer.log(
            TAG,
            DEBUG,
            {
                bool1 = immediate
                bool2 = fpsLockout
                bool3 = fpsAllowed
                bool4 = collectingEvents
            },
            {
                "ShouldRequestUdfpsLongPressPulseImmediately - immediate=$bool1, " +
                    "lockout=$bool2, allowed=$bool3, collecting=$bool4, "
            },
        )
    }

    fun logShouldRequestUdfpsLongPressPulseImmediatelyFeatureAndFlagState(
        flagEnabled: Boolean,
        featureEnabled: Boolean,
    ) {
        buffer.log(
            TAG,
            DEBUG,
            {
                bool1 = flagEnabled
                bool2 = featureEnabled
            },
            {
                "ShouldRequestUdfpsLongPressPulseImmediately - flagEnabled=$bool1, " +
                    "featureEnabled=$bool2"
            },
        )
    }

    fun logUltrasonicScreenOffPulseEvent(state: FingerprintAuthenticationStatus) {
        buffer.log(
            TAG,
            DEBUG,
            { str1 = msg },
            { "ShouldRequestUdfpsLongPressPulseImmediately - $str1" },
            { str1 = state.toString() },
            { "onUltrasonicUdfpsPulseWhileScreenOff - state=$str1" },
        )
    }

+3 −6
Original line number Diff line number Diff line
@@ -383,10 +383,8 @@ public class DozeTriggers implements DozeMachine.Part {
        final boolean collecting = mDozeHost.isCollectingUsUdfpsScreenOffPulseEvents();
        final boolean screenOffUdfpsEnabled = mConfig.screenOffUdfpsEnabled(mContext.getUserId());
        final boolean immediate = !flagEnabled || fpLockout || !fpAllowed || !collecting;
        mDozeLog.traceShouldRequestUdfpsLongPressPulseImmediately("immediate pulse="
                + immediate + ", flag=" + flagEnabled + ", lockout=" + fpLockout
                + ", allowed=" + fpAllowed + ", collecting=" + collecting
                + ", screenOffUdfpsEnabled=" + screenOffUdfpsEnabled);
        mDozeLog.traceShouldRequestUdfpsLongPressPulseImmediately(immediate, flagEnabled, fpLockout,
                fpAllowed, collecting, screenOffUdfpsEnabled);
        return immediate;
    }

@@ -730,8 +728,7 @@ public class DozeTriggers implements DozeMachine.Part {
        @Override
        public void onUltrasonicUdfpsPulseWhileScreenOff(FingerprintAuthenticationStatus state) {
            if (!udfpsScreenOffUnlockFlicker()) return;
            mDozeLog.traceShouldRequestUdfpsLongPressPulseImmediately(
                    "onUltrasonicUdfpsPulseWhileScreenOff invoked: state=" + state);
            mDozeLog.traceUltrasonicScreenOffPulseEvent(state);
            requestPulse(DozeLog.REASON_USUDFPS_PULSE, true, null);
        }
    };