From 13b8cec66f35f62b7562e66002ede110264ee1b8 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Fri, 28 Feb 2020 16:31:57 -0800 Subject: [PATCH] Ignore falsing manager for UiAutomator tests Device performance and dropped frames on cloud devices makes it very likely that touches will be misinterpreted, increasing flakiness of the tests. Bug: 149828540 Test: atest --test-mapping frameworks/base/packages/SystemUI:platinum-postsubmit Change-Id: Ia9b4152b2662fa5a7442cacfd1a87064b037ea0c --- .../com/android/systemui/classifier/FalsingManagerImpl.java | 5 +++++ .../classifier/brightline/BrightLineFalsingManager.java | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) 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(