Migrate DozeSensor logcat logging to LogBuffer
Test: adb shell dumpsys activity service com.android.systemui/.SystemUIService dependency DumpController DozeLog Fixes: 253418636 Change-Id: I552b3b47f241ebf40408dfd5b578b5bce59f4ecc
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -320,6 +321,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"
|
||||
|
||||
@@ -23,7 +23,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;
|
||||
@@ -37,7 +36,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;
|
||||
@@ -88,12 +86,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;
|
||||
@@ -144,7 +139,6 @@ public class DozeSensors {
|
||||
}
|
||||
|
||||
DozeSensors(
|
||||
Context context,
|
||||
AsyncSensorManager sensorManager,
|
||||
DozeParameters dozeParameters,
|
||||
AmbientDisplayConfiguration config,
|
||||
@@ -157,7 +151,6 @@ public class DozeSensors {
|
||||
AuthController authController,
|
||||
DevicePostureController devicePostureController
|
||||
) {
|
||||
mContext = context;
|
||||
mSensorManager = sensorManager;
|
||||
mConfig = config;
|
||||
mWakeLock = wakeLock;
|
||||
@@ -605,10 +598,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;
|
||||
}
|
||||
|
||||
@@ -654,19 +644,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;
|
||||
}
|
||||
}
|
||||
@@ -704,7 +688,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);
|
||||
}
|
||||
@@ -776,11 +759,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 */);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -813,10 +796,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());
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -423,7 +423,7 @@ public class DozeSensorsTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void testGesturesAllInitiallyRespectSettings() {
|
||||
DozeSensors dozeSensors = new DozeSensors(getContext(), mSensorManager, mDozeParameters,
|
||||
DozeSensors dozeSensors = new DozeSensors(mSensorManager, mDozeParameters,
|
||||
mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
|
||||
mProximitySensor, mFakeSettings, mAuthController,
|
||||
mDevicePostureController);
|
||||
@@ -435,7 +435,7 @@ public class DozeSensorsTest extends SysuiTestCase {
|
||||
|
||||
private class TestableDozeSensors extends DozeSensors {
|
||||
TestableDozeSensors() {
|
||||
super(getContext(), mSensorManager, mDozeParameters,
|
||||
super(mSensorManager, mDozeParameters,
|
||||
mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
|
||||
mProximitySensor, mFakeSettings, mAuthController,
|
||||
mDevicePostureController);
|
||||
|
||||
Reference in New Issue
Block a user