diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/assist/AssistManager.java | 10 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java | 16 |
2 files changed, 21 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java index f26404cad02b..4416b1979524 100644 --- a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java +++ b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java @@ -309,8 +309,14 @@ public class AssistManager { } int invocationType = args.getInt(INVOCATION_TYPE_KEY); - return mAssistOverrideInvocationTypes != null && Arrays.stream( - mAssistOverrideInvocationTypes).anyMatch(override -> override == invocationType); + return shouldOverrideAssist(invocationType); + } + + /** @return true if the invocation type should be handled by OverviewProxy instead of SysUI. */ + public boolean shouldOverrideAssist(int invocationType) { + return mAssistOverrideInvocationTypes != null + && Arrays.stream(mAssistOverrideInvocationTypes).anyMatch( + override -> override == invocationType); } /** diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java index c6f73efdfdb1..d7e062fb926f 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java @@ -233,6 +233,9 @@ public final class NavBarHelper implements Settings.Secure.getUriFor(Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED), false, mAssistContentObserver, UserHandle.USER_ALL); mContentResolver.registerContentObserver( + Settings.Secure.getUriFor(Secure.SEARCH_LONG_PRESS_HOME_ENABLED), + false, mAssistContentObserver, UserHandle.USER_ALL); + mContentResolver.registerContentObserver( Settings.Secure.getUriFor(Settings.Secure.ASSIST_TOUCH_GESTURE_ENABLED), false, mAssistContentObserver, UserHandle.USER_ALL); @@ -422,11 +425,17 @@ public final class NavBarHelper implements private void updateAssistantAvailability() { boolean assistantAvailableForUser = mAssistManagerLazy.get() .getAssistInfoForUser(mUserTracker.getUserId()) != null; - boolean longPressDefault = mContext.getResources().getBoolean( - com.android.internal.R.bool.config_assistLongPressHomeEnabledDefault); + + boolean overrideLongPressHome = mAssistManagerLazy.get() + .shouldOverrideAssist(AssistManager.INVOCATION_TYPE_HOME_BUTTON_LONG_PRESS); + boolean longPressDefault = mContext.getResources().getBoolean(overrideLongPressHome + ? com.android.internal.R.bool.config_searchLongPressHomeEnabledDefault + : com.android.internal.R.bool.config_assistLongPressHomeEnabledDefault); mLongPressHomeEnabled = Settings.Secure.getIntForUser(mContentResolver, - Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED, longPressDefault ? 1 : 0, + overrideLongPressHome ? Secure.SEARCH_LONG_PRESS_HOME_ENABLED + : Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED, longPressDefault ? 1 : 0, mUserTracker.getUserId()) != 0; + boolean gestureDefault = mContext.getResources().getBoolean( com.android.internal.R.bool.config_assistTouchGestureEnabledDefault); mAssistantTouchGestureEnabled = Settings.Secure.getIntForUser(mContentResolver, @@ -455,6 +464,7 @@ public final class NavBarHelper implements @Override public void setAssistantOverridesRequested(int[] invocationTypes) { mAssistManagerLazy.get().setAssistantOverridesRequested(invocationTypes); + updateAssistantAvailability(); } @Override |