diff options
| author | 2020-03-16 12:12:56 +0000 | |
|---|---|---|
| committer | 2020-03-16 12:12:56 +0000 | |
| commit | 2da3da62d91c24ed4895a645c1e134001db600e9 (patch) | |
| tree | 62d751b0ff4bad55bbe02db33c6d30e5125bb757 | |
| parent | 317603dc2fbc5a372001e402d4fd6cc846b58b02 (diff) | |
| parent | 53ce01cc356de8de2e3455d50442d3acf3955331 (diff) | |
Merge "Allows the Assistant to request suppression of fling" into rvc-dev
| -rw-r--r-- | packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java | 8 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/assist/AssistManager.java | 25 |
2 files changed, 30 insertions, 3 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java index 4885ade23f6a..07bd3a0567e6 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java @@ -78,6 +78,9 @@ public class QuickStepContract { public static final int SYSUI_STATE_QUICK_SETTINGS_EXPANDED = 1 << 11; // Winscope tracing is enabled public static final int SYSUI_STATE_TRACING_ENABLED = 1 << 12; + // The Assistant gesture should be constrained. It is up to the launcher implementation to + // decide how to constrain it + public static final int SYSUI_STATE_ASSIST_GESTURE_CONSTRAINED = 1 << 13; @Retention(RetentionPolicy.SOURCE) @IntDef({SYSUI_STATE_SCREEN_PINNING, @@ -92,7 +95,8 @@ public class QuickStepContract { SYSUI_STATE_OVERVIEW_DISABLED, SYSUI_STATE_HOME_DISABLED, SYSUI_STATE_SEARCH_DISABLED, - SYSUI_STATE_TRACING_ENABLED + SYSUI_STATE_TRACING_ENABLED, + SYSUI_STATE_ASSIST_GESTURE_CONSTRAINED }) public @interface SystemUiStateFlags {} @@ -112,6 +116,8 @@ public class QuickStepContract { str.add((flags & SYSUI_STATE_A11Y_BUTTON_CLICKABLE) != 0 ? "a11y_click" : ""); str.add((flags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0 ? "a11y_long_click" : ""); str.add((flags & SYSUI_STATE_TRACING_ENABLED) != 0 ? "tracing" : ""); + str.add((flags & SYSUI_STATE_ASSIST_GESTURE_CONSTRAINED) != 0 + ? "asst_gesture_constrain" : ""); return str.toString(); } diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java index 5077e18b06e4..cc4ee89f2208 100644 --- a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java +++ b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java @@ -1,6 +1,9 @@ package com.android.systemui.assist; +import static android.view.Display.DEFAULT_DISPLAY; + import static com.android.systemui.DejankUtils.whitelistIpcs; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_ASSIST_GESTURE_CONSTRAINED; import android.annotation.NonNull; import android.annotation.Nullable; @@ -43,6 +46,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.settingslib.applications.InterestingConfigChanges; import com.android.systemui.R; import com.android.systemui.assist.ui.DefaultUiController; +import com.android.systemui.model.SysUiState; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.policy.ConfigurationController; @@ -51,6 +55,8 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController; import javax.inject.Inject; import javax.inject.Singleton; +import dagger.Lazy; + /** * Class to manage everything related to assist in SystemUI. */ @@ -98,6 +104,9 @@ public class AssistManager { public static final String INVOCATION_TYPE_KEY = "invocation_type"; protected static final String ACTION_KEY = "action"; protected static final String SHOW_ASSIST_HANDLES_ACTION = "show_assist_handles"; + protected static final String SET_ASSIST_GESTURE_CONSTRAINED_ACTION = + "set_assist_gesture_constrained"; + protected static final String CONSTRAINED_KEY = "should_constrain"; public static final int INVOCATION_TYPE_GESTURE = 1; public static final int INVOCATION_TYPE_ACTIVE_EDGE = 2; @@ -120,6 +129,7 @@ public class AssistManager { private final PhoneStateMonitor mPhoneStateMonitor; private final AssistHandleBehaviorController mHandleController; private final UiController mUiController; + protected final Lazy<SysUiState> mSysUiState; private AssistOrbContainer mView; private final DeviceProvisionedController mDeviceProvisionedController; @@ -185,7 +195,8 @@ public class AssistManager { CommandQueue commandQueue, PhoneStateMonitor phoneStateMonitor, OverviewProxyService overviewProxyService, - ConfigurationController configurationController) { + ConfigurationController configurationController, + Lazy<SysUiState> sysUiState) { mContext = context; mDeviceProvisionedController = controller; mCommandQueue = commandQueue; @@ -206,6 +217,8 @@ public class AssistManager { mUiController = new DefaultUiController(mContext); + mSysUiState = sysUiState; + overviewProxyService.addCallback(new OverviewProxyService.OverviewProxyListener() { @Override public void onAssistantProgress(float progress) { @@ -243,8 +256,16 @@ public class AssistManager { if (VERBOSE) { Log.v(TAG, "UI hints received"); } - if (SHOW_ASSIST_HANDLES_ACTION.equals(hints.getString(ACTION_KEY))) { + + String action = hints.getString(ACTION_KEY); + if (SHOW_ASSIST_HANDLES_ACTION.equals(action)) { requestAssistHandles(); + } else if (SET_ASSIST_GESTURE_CONSTRAINED_ACTION.equals(action)) { + mSysUiState.get() + .setFlag( + SYSUI_STATE_ASSIST_GESTURE_CONSTRAINED, + hints.getBoolean(CONSTRAINED_KEY, false)) + .commitUpdate(DEFAULT_DISPLAY); } } }); |