From 5b0a350aba636aee1e09ea5f4d902315a94a83b2 Mon Sep 17 00:00:00 2001 From: Govinda Wasserman Date: Fri, 15 May 2020 16:58:01 -0400 Subject: [PATCH] Suppress Assistant handles when device is not provisioned Test: Tested locally BUG: 155723880 FIX: 155723880 Change-Id: I10c35ef9af7a2ea9e61772d84fec41d6f839aef4 --- .../assist/AssistHandleBehaviorController.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistHandleBehaviorController.java b/packages/SystemUI/src/com/android/systemui/assist/AssistHandleBehaviorController.java index 8cd89ddabe723..525e989712668 100644 --- a/packages/SystemUI/src/com/android/systemui/assist/AssistHandleBehaviorController.java +++ b/packages/SystemUI/src/com/android/systemui/assist/AssistHandleBehaviorController.java @@ -22,6 +22,7 @@ import android.content.ComponentName; import android.content.Context; import android.os.Handler; import android.os.SystemClock; +import android.provider.Settings; import android.util.Log; import android.view.accessibility.AccessibilityManager; @@ -61,6 +62,7 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac private static final long DEFAULT_SHOWN_FREQUENCY_THRESHOLD_MS = 0; private static final long DEFAULT_SHOW_AND_GO_DURATION_MS = TimeUnit.SECONDS.toMillis(3); + private static final String SETTINGS_SECURE_USER_SETUP_COMPLETE = "user_setup_complete"; /** * This is the default behavior that will be used once the system is up. It will be set once the @@ -203,6 +205,10 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac } private boolean handlesUnblocked(boolean ignoreThreshold) { + if (!isUserSetupComplete()) { + return false; + } + long timeSinceHidden = SystemClock.elapsedRealtime() - mHandlesLastHiddenAt; boolean notThrottled = ignoreThreshold || timeSinceHidden >= getShownFrequencyThreshold(); ComponentName assistantComponent = @@ -284,6 +290,11 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac mShowAndGoEndsAt = 0; } + private boolean isUserSetupComplete() { + return Settings.Secure.getInt( + mContext.getContentResolver(), SETTINGS_SECURE_USER_SETUP_COMPLETE, 0) == 1; + } + @VisibleForTesting void setInGesturalModeForTest(boolean inGesturalMode) { mInGesturalMode = inGesturalMode;