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

Commit eb5ac975 authored by Beverly Tai's avatar Beverly Tai Committed by Automerger Merge Worker
Browse files

Merge "Migrate DozeSensor logcat logging to LogBuffer" into tm-qpr-dev am:...

Merge "Migrate DozeSensor logcat logging to LogBuffer" into tm-qpr-dev am: 2995484c am: bdb94895

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20225187



Change-Id: I8eaba29d716a6da27849d884a1afb88deda35e9e
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents fdd5ba6a bdb94895
Loading
Loading
Loading
Loading
+43 −2
Original line number Diff line number Diff line
@@ -287,8 +287,8 @@ public class DozeLog implements Dumpable {
    /**
     * Appends sensor event dropped event to logs
     */
    public void traceSensorEventDropped(int sensorEvent, String reason) {
        mLogger.logSensorEventDropped(sensorEvent, reason);
    public void traceSensorEventDropped(@Reason int pulseReason, String reason) {
        mLogger.logSensorEventDropped(pulseReason, reason);
    }

    /**
@@ -386,6 +386,47 @@ public class DozeLog implements Dumpable {
        mLogger.logSetAodDimmingScrim((long) scrimOpacity);
    }

    /**
     * Appends sensor attempted to register and whether it was a successful registration.
     */
    public void traceSensorRegisterAttempt(String sensorName, boolean successfulRegistration) {
        mLogger.logSensorRegisterAttempt(sensorName, successfulRegistration);
    }

    /**
     * Appends sensor attempted to unregister and whether it was successfully unregistered.
     */
    public void traceSensorUnregisterAttempt(String sensorInfo, boolean successfullyUnregistered) {
        mLogger.logSensorUnregisterAttempt(sensorInfo, successfullyUnregistered);
    }

    /**
     * Appends sensor attempted to unregister and whether it was successfully unregistered
     * with a reason the sensor is being unregistered.
     */
    public void traceSensorUnregisterAttempt(String sensorInfo, boolean successfullyUnregistered,
            String reason) {
        mLogger.logSensorUnregisterAttempt(sensorInfo, successfullyUnregistered, reason);
    }

    /**
     * Appends the event of skipping a sensor registration since it's already registered.
     */
    public void traceSkipRegisterSensor(String sensorInfo) {
        mLogger.logSkipSensorRegistration(sensorInfo);
    }

    /**
     * Appends a plugin sensor was registered or unregistered event.
     */
    public void tracePluginSensorUpdate(boolean registered) {
        if (registered) {
            mLogger.log("register plugin sensor");
        } else {
            mLogger.log("unregister plugin sensor");
        }
    }

    private class SummaryStats {
        private int mCount;

+45 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.android.systemui.plugins.log.LogLevel.ERROR
import com.android.systemui.plugins.log.LogLevel.INFO
import com.android.systemui.log.dagger.DozeLog
import com.android.systemui.statusbar.policy.DevicePostureController
import com.google.errorprone.annotations.CompileTimeConstant
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
@@ -324,6 +325,50 @@ class DozeLogger @Inject constructor(
            "Doze car mode started"
        })
    }

    fun logSensorRegisterAttempt(sensorInfo: String, successfulRegistration: Boolean) {
        buffer.log(TAG, INFO, {
            str1 = sensorInfo
            bool1 = successfulRegistration
        }, {
            "Register sensor. Success=$bool1 sensor=$str1"
        })
    }

    fun logSensorUnregisterAttempt(sensorInfo: String, successfulUnregister: Boolean) {
        buffer.log(TAG, INFO, {
            str1 = sensorInfo
            bool1 = successfulUnregister
        }, {
            "Unregister sensor. Success=$bool1 sensor=$str1"
        })
    }

    fun logSensorUnregisterAttempt(
            sensorInfo: String,
            successfulUnregister: Boolean,
            reason: String
    ) {
        buffer.log(TAG, INFO, {
            str1 = sensorInfo
            bool1 = successfulUnregister
            str2 = reason
        }, {
            "Unregister sensor. reason=$str2. Success=$bool1 sensor=$str1"
        })
    }

    fun logSkipSensorRegistration(sensor: String) {
        buffer.log(TAG, DEBUG, {
            str1 = sensor
        }, {
            "Skipping sensor registration because its already registered. sensor=$str1"
        })
    }

    fun log(@CompileTimeConstant msg: String) {
        buffer.log(TAG, DEBUG, msg)
    }
}

private const val TAG = "DozeLog"
+7 −25
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import static com.android.systemui.plugins.SensorManagerPlugin.Sensor.TYPE_WAKE_

import android.annotation.AnyThread;
import android.app.ActivityManager;
import android.content.Context;
import android.database.ContentObserver;
import android.hardware.Sensor;
import android.hardware.SensorManager;
@@ -40,7 +39,6 @@ import android.os.UserHandle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.IndentingPrintWriter;
import android.util.Log;
import android.view.Display;

import androidx.annotation.NonNull;
@@ -91,12 +89,9 @@ import java.util.function.Consumer;
 * trigger callbacks on the provided {@link mProxCallback}.
 */
public class DozeSensors {

    private static final boolean DEBUG = DozeService.DEBUG;
    private static final String TAG = "DozeSensors";
    private static final UiEventLogger UI_EVENT_LOGGER = new UiEventLoggerImpl();

    private final Context mContext;
    private final AsyncSensorManager mSensorManager;
    private final AmbientDisplayConfiguration mConfig;
    private final WakeLock mWakeLock;
@@ -147,7 +142,6 @@ public class DozeSensors {
    }

    DozeSensors(
            Context context,
            AsyncSensorManager sensorManager,
            DozeParameters dozeParameters,
            AmbientDisplayConfiguration config,
@@ -160,7 +154,6 @@ public class DozeSensors {
            AuthController authController,
            DevicePostureController devicePostureController
    ) {
        mContext = context;
        mSensorManager = sensorManager;
        mConfig = config;
        mWakeLock = wakeLock;
@@ -608,10 +601,7 @@ public class DozeSensors {
            // cancel the previous sensor:
            if (mRegistered) {
                final boolean rt = mSensorManager.cancelTriggerSensor(this, oldSensor);
                if (DEBUG) {
                    Log.d(TAG, "posture changed, cancelTriggerSensor[" + oldSensor + "] "
                            + rt);
                }
                mDozeLog.traceSensorUnregisterAttempt(oldSensor.toString(), rt, "posture changed");
                mRegistered = false;
            }

@@ -657,19 +647,13 @@ public class DozeSensors {
            if (mRequested && !mDisabled && (enabledBySetting() || mIgnoresSetting)) {
                if (!mRegistered) {
                    mRegistered = mSensorManager.requestTriggerSensor(this, sensor);
                    if (DEBUG) {
                        Log.d(TAG, "requestTriggerSensor[" + sensor + "] " + mRegistered);
                    }
                    mDozeLog.traceSensorRegisterAttempt(sensor.toString(), mRegistered);
                } else {
                    if (DEBUG) {
                        Log.d(TAG, "requestTriggerSensor[" + sensor + "] already registered");
                    }
                    mDozeLog.traceSkipRegisterSensor(sensor.toString());
                }
            } else if (mRegistered) {
                final boolean rt = mSensorManager.cancelTriggerSensor(this, sensor);
                if (DEBUG) {
                    Log.d(TAG, "cancelTriggerSensor[" + sensor + "] " + rt);
                }
                mDozeLog.traceSensorUnregisterAttempt(sensor.toString(), rt);
                mRegistered = false;
            }
        }
@@ -707,7 +691,6 @@ public class DozeSensors {
            final Sensor sensor = mSensors[mPosture];
            mDozeLog.traceSensor(mPulseReason);
            mHandler.post(mWakeLock.wrap(() -> {
                if (DEBUG) Log.d(TAG, "onTrigger: " + triggerEventToString(event));
                if (sensor != null && sensor.getType() == Sensor.TYPE_PICK_UP_GESTURE) {
                    UI_EVENT_LOGGER.log(DozeSensorsUiEvent.ACTION_AMBIENT_GESTURE_PICKUP);
                }
@@ -779,11 +762,11 @@ public class DozeSensors {
                    && !mRegistered) {
                asyncSensorManager.registerPluginListener(mPluginSensor, this);
                mRegistered = true;
                if (DEBUG) Log.d(TAG, "registerPluginListener");
                mDozeLog.tracePluginSensorUpdate(true /* registered */);
            } else if (mRegistered) {
                asyncSensorManager.unregisterPluginListener(mPluginSensor, this);
                mRegistered = false;
                if (DEBUG) Log.d(TAG, "unregisterPluginListener");
                mDozeLog.tracePluginSensorUpdate(false /* registered */);
            }
        }

@@ -816,10 +799,9 @@ public class DozeSensors {
            mHandler.post(mWakeLock.wrap(() -> {
                final long now = SystemClock.uptimeMillis();
                if (now < mDebounceFrom + mDebounce) {
                    Log.d(TAG, "onSensorEvent dropped: " + triggerEventToString(event));
                    mDozeLog.traceSensorEventDropped(mPulseReason, "debounce");
                    return;
                }
                if (DEBUG) Log.d(TAG, "onSensorEvent: " + triggerEventToString(event));
                mSensorCallback.onSensorPulse(mPulseReason, -1, -1, event.getValues());
            }));
        }
+1 −1
Original line number Diff line number Diff line
@@ -198,7 +198,7 @@ public class DozeTriggers implements DozeMachine.Part {
        mAllowPulseTriggers = true;
        mSessionTracker = sessionTracker;

        mDozeSensors = new DozeSensors(context, mSensorManager, dozeParameters,
        mDozeSensors = new DozeSensors(mSensorManager, dozeParameters,
                config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor,
                secureSettings, authController, devicePostureController);
        mDockManager = dockManager;
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ public class LogModule {
    @SysUISingleton
    @DozeLog
    public static LogBuffer provideDozeLogBuffer(LogBufferFactory factory) {
        return factory.create("DozeLog", 120);
        return factory.create("DozeLog", 150);
    }

    /** Provides a logging buffer for all logs related to the data layer of notifications. */
Loading