Merge "Cleanup unused haptics" into sc-v2-dev
This commit is contained in:
@@ -71,7 +71,6 @@ import android.os.ServiceManager;
|
|||||||
import android.os.Trace;
|
import android.os.Trace;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.os.Vibrator;
|
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.service.dreams.DreamService;
|
import android.service.dreams.DreamService;
|
||||||
import android.service.dreams.IDreamManager;
|
import android.service.dreams.IDreamManager;
|
||||||
@@ -86,7 +85,6 @@ import android.util.Log;
|
|||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.util.SparseBooleanArray;
|
import android.util.SparseBooleanArray;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.lifecycle.Observer;
|
import androidx.lifecycle.Observer;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
@@ -98,7 +96,6 @@ import com.android.systemui.DejankUtils;
|
|||||||
import com.android.systemui.Dumpable;
|
import com.android.systemui.Dumpable;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.biometrics.AuthController;
|
import com.android.systemui.biometrics.AuthController;
|
||||||
import com.android.systemui.biometrics.UdfpsController;
|
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||||
import com.android.systemui.dagger.SysUISingleton;
|
import com.android.systemui.dagger.SysUISingleton;
|
||||||
import com.android.systemui.dagger.qualifiers.Background;
|
import com.android.systemui.dagger.qualifiers.Background;
|
||||||
@@ -285,9 +282,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected boolean mTelephonyCapable;
|
protected boolean mTelephonyCapable;
|
||||||
|
|
||||||
private final boolean mAcquiredHapticEnabled = false;
|
|
||||||
@Nullable private final Vibrator mVibrator;
|
|
||||||
|
|
||||||
// Device provisioning state
|
// Device provisioning state
|
||||||
private boolean mDeviceProvisioned;
|
private boolean mDeviceProvisioned;
|
||||||
|
|
||||||
@@ -1406,7 +1400,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
final FingerprintManager.AuthenticationCallback mFingerprintAuthenticationCallback
|
final FingerprintManager.AuthenticationCallback mFingerprintAuthenticationCallback
|
||||||
= new AuthenticationCallback() {
|
= new AuthenticationCallback() {
|
||||||
private boolean mPlayedAcquiredHaptic;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAuthenticationFailed() {
|
public void onAuthenticationFailed() {
|
||||||
@@ -1418,11 +1411,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
Trace.beginSection("KeyguardUpdateMonitor#onAuthenticationSucceeded");
|
Trace.beginSection("KeyguardUpdateMonitor#onAuthenticationSucceeded");
|
||||||
handleFingerprintAuthenticated(result.getUserId(), result.isStrongBiometric());
|
handleFingerprintAuthenticated(result.getUserId(), result.isStrongBiometric());
|
||||||
Trace.endSection();
|
Trace.endSection();
|
||||||
|
|
||||||
// on auth success, we sometimes never received an acquired haptic
|
|
||||||
if (!mPlayedAcquiredHaptic && isUdfpsEnrolled()) {
|
|
||||||
playAcquiredHaptic();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1438,17 +1426,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
@Override
|
@Override
|
||||||
public void onAuthenticationAcquired(int acquireInfo) {
|
public void onAuthenticationAcquired(int acquireInfo) {
|
||||||
handleFingerprintAcquired(acquireInfo);
|
handleFingerprintAcquired(acquireInfo);
|
||||||
if (acquireInfo == FingerprintManager.FINGERPRINT_ACQUIRED_GOOD
|
|
||||||
&& isUdfpsEnrolled()) {
|
|
||||||
mPlayedAcquiredHaptic = true;
|
|
||||||
playAcquiredHaptic();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUdfpsPointerDown(int sensorId) {
|
public void onUdfpsPointerDown(int sensorId) {
|
||||||
Log.d(TAG, "onUdfpsPointerDown, sensorId: " + sensorId);
|
Log.d(TAG, "onUdfpsPointerDown, sensorId: " + sensorId);
|
||||||
mPlayedAcquiredHaptic = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1457,17 +1439,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Play haptic to signal udfps fingeprrint acquired.
|
|
||||||
*/
|
|
||||||
@VisibleForTesting
|
|
||||||
public void playAcquiredHaptic() {
|
|
||||||
if (mAcquiredHapticEnabled && mVibrator != null) {
|
|
||||||
mVibrator.vibrate(UdfpsController.EFFECT_CLICK,
|
|
||||||
UdfpsController.VIBRATION_SONIFICATION_ATTRIBUTES);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private final FaceManager.FaceDetectionCallback mFaceDetectionCallback
|
private final FaceManager.FaceDetectionCallback mFaceDetectionCallback
|
||||||
= (sensorId, userId, isStrongBiometric) -> {
|
= (sensorId, userId, isStrongBiometric) -> {
|
||||||
// Trigger the face success path so the bouncer can be shown
|
// Trigger the face success path so the bouncer can be shown
|
||||||
@@ -1771,8 +1742,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
AuthController authController,
|
AuthController authController,
|
||||||
TelephonyListenerManager telephonyListenerManager,
|
TelephonyListenerManager telephonyListenerManager,
|
||||||
FeatureFlags featureFlags,
|
FeatureFlags featureFlags,
|
||||||
InteractionJankMonitor interactionJankMonitor,
|
InteractionJankMonitor interactionJankMonitor
|
||||||
@Nullable Vibrator vibrator) {
|
) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mSubscriptionManager = SubscriptionManager.from(context);
|
mSubscriptionManager = SubscriptionManager.from(context);
|
||||||
mTelephonyListenerManager = telephonyListenerManager;
|
mTelephonyListenerManager = telephonyListenerManager;
|
||||||
@@ -1788,7 +1759,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
mLockPatternUtils = lockPatternUtils;
|
mLockPatternUtils = lockPatternUtils;
|
||||||
mAuthController = authController;
|
mAuthController = authController;
|
||||||
dumpManager.registerDumpable(getClass().getName(), this);
|
dumpManager.registerDumpable(getClass().getName(), this);
|
||||||
mVibrator = vibrator;
|
|
||||||
|
|
||||||
mHandler = new Handler(mainLooper) {
|
mHandler = new Handler(mainLooper) {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -58,9 +58,6 @@ class UdfpsHapticsSimulator @Inject constructor(
|
|||||||
"start" -> {
|
"start" -> {
|
||||||
udfpsController?.playStartHaptic()
|
udfpsController?.playStartHaptic()
|
||||||
}
|
}
|
||||||
"acquired" -> {
|
|
||||||
keyguardUpdateMonitor.playAcquiredHaptic()
|
|
||||||
}
|
|
||||||
"success" -> {
|
"success" -> {
|
||||||
// needs to be kept up to date with AcquisitionClient#SUCCESS_VIBRATION_EFFECT
|
// needs to be kept up to date with AcquisitionClient#SUCCESS_VIBRATION_EFFECT
|
||||||
vibrator?.vibrate(
|
vibrator?.vibrate(
|
||||||
@@ -82,7 +79,6 @@ class UdfpsHapticsSimulator @Inject constructor(
|
|||||||
pw.println("Usage: adb shell cmd statusbar udfps-haptic <haptic>")
|
pw.println("Usage: adb shell cmd statusbar udfps-haptic <haptic>")
|
||||||
pw.println("Available commands:")
|
pw.println("Available commands:")
|
||||||
pw.println(" start")
|
pw.println(" start")
|
||||||
pw.println(" acquired")
|
|
||||||
pw.println(" success, always plays CLICK haptic")
|
pw.println(" success, always plays CLICK haptic")
|
||||||
pw.println(" error, always plays DOUBLE_CLICK haptic")
|
pw.println(" error, always plays DOUBLE_CLICK haptic")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ import android.os.Handler;
|
|||||||
import android.os.IRemoteCallback;
|
import android.os.IRemoteCallback;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.os.Vibrator;
|
|
||||||
import android.telephony.ServiceState;
|
import android.telephony.ServiceState;
|
||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
@@ -173,8 +172,6 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
|
|||||||
private FeatureFlags mFeatureFlags;
|
private FeatureFlags mFeatureFlags;
|
||||||
@Mock
|
@Mock
|
||||||
private InteractionJankMonitor mInteractionJankMonitor;
|
private InteractionJankMonitor mInteractionJankMonitor;
|
||||||
@Mock
|
|
||||||
private Vibrator mVibrator;
|
|
||||||
@Captor
|
@Captor
|
||||||
private ArgumentCaptor<StatusBarStateController.StateListener> mStatusBarStateListenerCaptor;
|
private ArgumentCaptor<StatusBarStateController.StateListener> mStatusBarStateListenerCaptor;
|
||||||
// Direct executor
|
// Direct executor
|
||||||
@@ -1064,7 +1061,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
|
|||||||
mRingerModeTracker, mBackgroundExecutor,
|
mRingerModeTracker, mBackgroundExecutor,
|
||||||
mStatusBarStateController, mLockPatternUtils,
|
mStatusBarStateController, mLockPatternUtils,
|
||||||
mAuthController, mTelephonyListenerManager, mFeatureFlags,
|
mAuthController, mTelephonyListenerManager, mFeatureFlags,
|
||||||
mInteractionJankMonitor, mVibrator);
|
mInteractionJankMonitor);
|
||||||
setStrongAuthTracker(KeyguardUpdateMonitorTest.this.mStrongAuthTracker);
|
setStrongAuthTracker(KeyguardUpdateMonitorTest.this.mStrongAuthTracker);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user