From 72c53af896d9d3b572d93a5722d85c6913fd9455 Mon Sep 17 00:00:00 2001 From: Becky Qiu Date: Wed, 22 Apr 2020 15:53:38 -0700 Subject: [PATCH] [Overview Actions] Update the navigation mode immediately when switch. This would fix the issue that overview actions UI visibility was not set correctly. Test: local Bug: 152047880 Change-Id: Ia335c5c8947b39e580403090f461f87e78645af1 --- .../android/launcher3/BaseQuickstepLauncher.java | 2 ++ .../android/quickstep/SysUINavigationMode.java | 15 ++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index 65763d45ef..af63a25efd 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -161,6 +161,8 @@ public abstract class BaseQuickstepLauncher extends Launcher @Override protected void setupViews() { super.setupViews(); + + SysUINavigationMode.INSTANCE.get(this).updateMode(); mActionsView = findViewById(R.id.overview_actions_view); ((RecentsView) getOverviewPanel()).init(mActionsView); diff --git a/quickstep/src/com/android/quickstep/SysUINavigationMode.java b/quickstep/src/com/android/quickstep/SysUINavigationMode.java index 6a10b37e35..c715c934dd 100644 --- a/quickstep/src/com/android/quickstep/SysUINavigationMode.java +++ b/quickstep/src/com/android/quickstep/SysUINavigationMode.java @@ -74,15 +74,20 @@ public class SysUINavigationMode { mContext.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - Mode oldMode = mMode; - initializeMode(); - if (mMode != oldMode) { - dispatchModeChange(); - } + updateMode(); } }, getPackageFilter("android", ACTION_OVERLAY_CHANGED)); } + /** Updates navigation mode when needed. */ + public void updateMode() { + Mode oldMode = mMode; + initializeMode(); + if (mMode != oldMode) { + dispatchModeChange(); + } + } + private void initializeMode() { int modeInt = getSystemIntegerRes(mContext, NAV_BAR_INTERACTION_MODE_RES_NAME); for(Mode m : Mode.values()) {