Merge "Adding counter logging instances of multiple BiometricLogger ALS subscriptions" into tm-qpr-dev
This commit is contained in:
@@ -609,7 +609,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
@NonNull SystemUIDialogManager dialogManager,
|
@NonNull SystemUIDialogManager dialogManager,
|
||||||
@NonNull LatencyTracker latencyTracker,
|
@NonNull LatencyTracker latencyTracker,
|
||||||
@NonNull ActivityLaunchAnimator activityLaunchAnimator,
|
@NonNull ActivityLaunchAnimator activityLaunchAnimator,
|
||||||
@NonNull Optional<AlternateUdfpsTouchProvider> aternateTouchProvider,
|
@NonNull Optional<AlternateUdfpsTouchProvider> alternateTouchProvider,
|
||||||
@BiometricsBackground Executor biometricsExecutor) {
|
@BiometricsBackground Executor biometricsExecutor) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mExecution = execution;
|
mExecution = execution;
|
||||||
@@ -639,7 +639,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
|
mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
|
||||||
mLatencyTracker = latencyTracker;
|
mLatencyTracker = latencyTracker;
|
||||||
mActivityLaunchAnimator = activityLaunchAnimator;
|
mActivityLaunchAnimator = activityLaunchAnimator;
|
||||||
mAlternateTouchProvider = aternateTouchProvider.orElse(null);
|
mAlternateTouchProvider = alternateTouchProvider.orElse(null);
|
||||||
mBiometricExecutor = biometricsExecutor;
|
mBiometricExecutor = biometricsExecutor;
|
||||||
|
|
||||||
mOrientationListener = new BiometricDisplayListener(
|
mOrientationListener = new BiometricDisplayListener(
|
||||||
|
|||||||
@@ -28,8 +28,10 @@ import android.hardware.biometrics.BiometricsProtoEnums;
|
|||||||
import android.hardware.biometrics.common.OperationContext;
|
import android.hardware.biometrics.common.OperationContext;
|
||||||
import android.hardware.face.FaceManager;
|
import android.hardware.face.FaceManager;
|
||||||
import android.hardware.fingerprint.FingerprintManager;
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
|
import android.util.Log;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
|
|
||||||
|
import com.android.internal.annotations.GuardedBy;
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.internal.util.FrameworkStatsLog;
|
import com.android.internal.util.FrameworkStatsLog;
|
||||||
import com.android.server.biometrics.Utils;
|
import com.android.server.biometrics.Utils;
|
||||||
@@ -41,6 +43,10 @@ public class BiometricLogger {
|
|||||||
|
|
||||||
public static final String TAG = "BiometricLogger";
|
public static final String TAG = "BiometricLogger";
|
||||||
public static final boolean DEBUG = false;
|
public static final boolean DEBUG = false;
|
||||||
|
private static final Object sLock = new Object();
|
||||||
|
|
||||||
|
@GuardedBy("sLock")
|
||||||
|
private static int sAlsCounter;
|
||||||
|
|
||||||
private final int mStatsModality;
|
private final int mStatsModality;
|
||||||
private final int mStatsAction;
|
private final int mStatsAction;
|
||||||
@@ -345,13 +351,33 @@ public class BiometricLogger {
|
|||||||
if (!mLightSensorEnabled) {
|
if (!mLightSensorEnabled) {
|
||||||
mLightSensorEnabled = true;
|
mLightSensorEnabled = true;
|
||||||
mLastAmbientLux = 0;
|
mLastAmbientLux = 0;
|
||||||
mSensorManager.registerListener(mLightSensorListener, lightSensor,
|
int localAlsCounter;
|
||||||
SensorManager.SENSOR_DELAY_NORMAL);
|
synchronized (sLock) {
|
||||||
|
localAlsCounter = sAlsCounter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (localAlsCounter == 0) {
|
||||||
|
mSensorManager.registerListener(mLightSensorListener, lightSensor,
|
||||||
|
SensorManager.SENSOR_DELAY_NORMAL);
|
||||||
|
} else {
|
||||||
|
Slog.e(TAG, "Ignoring request to subscribe to ALSProbe due to non-zero ALS"
|
||||||
|
+ " counter: " + localAlsCounter);
|
||||||
|
Slog.e(TAG, Log.getStackTraceString(new Throwable()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mLightSensorEnabled = false;
|
mLightSensorEnabled = false;
|
||||||
mLastAmbientLux = 0;
|
mLastAmbientLux = 0;
|
||||||
mSensorManager.unregisterListener(mLightSensorListener);
|
mSensorManager.unregisterListener(mLightSensorListener);
|
||||||
|
int localAlsCounter;
|
||||||
|
synchronized (sLock) {
|
||||||
|
localAlsCounter = --sAlsCounter;
|
||||||
|
}
|
||||||
|
if (localAlsCounter != 0) {
|
||||||
|
Slog.e(TAG, "Non-zero ALS counter after unsubscribing from ALSProbe: "
|
||||||
|
+ localAlsCounter);
|
||||||
|
Slog.e(TAG, Log.getStackTraceString(new Throwable()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user