summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Selim Cinek <cinek@google.com> 2018-04-28 09:35:56 -0700
committer android-build-merger <android-build-merger@google.com> 2018-04-28 09:35:56 -0700
commit4432404fec5af005ca95d41d9e68d24f7c127501 (patch)
treef0ff811c2e4f2bfc8dc3c9d005efd553fbdd99fb
parent7d8f614a62027388f392897877c6a55d9d5697be (diff)
parent216eea747068d2abba2e043956364140f2983b11 (diff)
Merge "FalsingManager: Only use for touchscreen input" into pi-dev
am: 216eea7470 Change-Id: I40611d240259c3d8a2d527b89e0a52d0c7142413
-rw-r--r--packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java
index 913e7819b7fa..a265a5e1d5a7 100644
--- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java
+++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java
@@ -28,6 +28,7 @@ import android.os.Looper;
import android.os.PowerManager;
import android.os.UserHandle;
import android.provider.Settings;
+import android.view.InputDevice;
import android.view.MotionEvent;
import android.view.accessibility.AccessibilityManager;
@@ -74,6 +75,7 @@ public class FalsingManager implements SensorEventListener {
private boolean mEnforceBouncer = false;
private boolean mBouncerOn = false;
private boolean mSessionActive = false;
+ private boolean mIsTouchScreen = true;
private int mState = StatusBarState.SHADE;
private boolean mScreenOn;
private boolean mShowingAod;
@@ -236,6 +238,11 @@ public class FalsingManager implements SensorEventListener {
// already sufficiently prevents false unlocks.
return false;
}
+ if (!mIsTouchScreen) {
+ // Unlocking with input devices besides the touchscreen should already be sufficiently
+ // anti-falsed.
+ return false;
+ }
return mHumanInteractionClassifier.isFalseTouch();
}
@@ -450,6 +457,9 @@ public class FalsingManager implements SensorEventListener {
}
public void onTouchEvent(MotionEvent event, int width, int height) {
+ if (event.getAction() == MotionEvent.ACTION_DOWN) {
+ mIsTouchScreen = event.isFromSource(InputDevice.SOURCE_TOUCHSCREEN);
+ }
if (mSessionActive && !mBouncerOn) {
mDataCollector.onTouchEvent(event, width, height);
mHumanInteractionClassifier.onTouchEvent(event);