diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerImpl.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerImpl.java index f719cc65be710..37c7a2e3027fc 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerImpl.java @@ -16,6 +16,7 @@ package com.android.systemui.classifier; +import android.app.ActivityManager; import android.content.Context; import android.database.ContentObserver; import android.hardware.Sensor; @@ -296,6 +297,10 @@ public class FalsingManagerImpl implements FalsingManager { mHandler.postDelayed(mPendingWtf, 1000); } } + if (ActivityManager.isRunningInUserTestHarness()) { + // This is a test device running UiAutomator code. + return false; + } if (mAccessibilityManager.isTouchExplorationEnabled()) { // Touch exploration triggers false positives in the classifier and // already sufficiently prevents false unlocks. diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java index ec81b9f5a291d..caab18712b0b3 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java @@ -19,6 +19,7 @@ package com.android.systemui.classifier.brightline; import static com.android.systemui.classifier.FalsingManagerImpl.FALSING_REMAIN_LOCKED; import static com.android.systemui.classifier.FalsingManagerImpl.FALSING_SUCCESS; +import android.app.ActivityManager; import android.hardware.biometrics.BiometricSourceType; import android.net.Uri; import android.os.Build; @@ -190,8 +191,8 @@ public class BrightLineFalsingManager implements FalsingManager { return mPreviousResult; } - mPreviousResult = !mJustUnlockedWithFace && !mDockManager.isDocked() - && mClassifiers.stream().anyMatch(falsingClassifier -> { + mPreviousResult = !ActivityManager.isRunningInUserTestHarness() && !mJustUnlockedWithFace + && !mDockManager.isDocked() && mClassifiers.stream().anyMatch(falsingClassifier -> { boolean result = falsingClassifier.isFalseTouch(); if (result) { logInfo(String.format(