Loading packages/SystemUI/shared/src/com/android/systemui/shared/recents/ISystemUiProxy.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -156,9 +156,11 @@ interface ISystemUiProxy { oneway void animateNavBarLongPress(boolean isTouchDown, boolean shrink, long durationMs) = 54; /** * Set the override value for home button long press duration in ms and slop multiplier. * Set the override value for home button long press duration in ms and slop multiplier and * haptic. */ oneway void setOverrideHomeButtonLongPress(long duration, float slopMultiplier) = 55; oneway void setOverrideHomeButtonLongPress(long duration, float slopMultiplier, boolean haptic) = 55; // Next id = 56 } packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +13 −7 Original line number Diff line number Diff line Loading @@ -243,6 +243,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private Optional<Long> mHomeButtonLongPressDurationMs; private Optional<Long> mOverrideHomeButtonLongPressDurationMs = Optional.empty(); private Optional<Float> mOverrideHomeButtonLongPressSlopMultiplier = Optional.empty(); private boolean mHomeButtonLongPressHapticEnabled = true; /** @see android.view.WindowInsetsController#setSystemBarsAppearance(int, int) */ private @Appearance int mAppearance; Loading Loading @@ -410,13 +411,15 @@ public class NavigationBar extends ViewController<NavigationBarView> implements } @Override public void setOverrideHomeButtonLongPress(long duration, float slopMultiplier) { public void setOverrideHomeButtonLongPress(long duration, float slopMultiplier, boolean haptic) { Log.d(TAG, "setOverrideHomeButtonLongPress receives: " + duration + ";" + slopMultiplier); + slopMultiplier + ";" + haptic); mOverrideHomeButtonLongPressDurationMs = Optional.of(duration) .filter(value -> value > 0); mOverrideHomeButtonLongPressSlopMultiplier = Optional.of(slopMultiplier) .filter(value -> value > 0); mHomeButtonLongPressHapticEnabled = haptic; mOverrideHomeButtonLongPressDurationMs.ifPresent(aLong -> Log.d(TAG, "Use duration override: " + aLong)); mOverrideHomeButtonLongPressSlopMultiplier.ifPresent(aFloat Loading Loading @@ -463,10 +466,12 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private final Runnable mEnableLayoutTransitions = () -> mView.setLayoutTransitionsEnabled(true); private final Runnable mOnVariableDurationHomeLongClick = () -> { if (onHomeLongClick(mView.getHomeButton().getCurrentView())) { if (mHomeButtonLongPressHapticEnabled) { mView.getHomeButton().getCurrentView().performHapticFeedback( HapticFeedbackConstants.LONG_PRESS, HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING); } } }; private final DeviceConfig.OnPropertiesChangedListener mOnPropertiesChangedListener = Loading Loading @@ -1042,7 +1047,8 @@ public class NavigationBar extends ViewController<NavigationBarView> implements mView.getHomeButton().setOnLongClickListener(null); } else { mView.getHomeButton().getCurrentView().setLongClickable(true); mView.getHomeButton().getCurrentView().setHapticFeedbackEnabled(true); mView.getHomeButton().getCurrentView().setHapticFeedbackEnabled( mHomeButtonLongPressHapticEnabled); mView.getHomeButton().setOnLongClickListener(this::onHomeLongClick); } } Loading packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +10 −6 Original line number Diff line number Diff line Loading @@ -264,9 +264,10 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis } @Override public void setOverrideHomeButtonLongPress(long duration, float slopMultiplier) { public void setOverrideHomeButtonLongPress(long duration, float slopMultiplier, boolean haptic) { verifyCallerAndClearCallingIdentityPostMain("setOverrideHomeButtonLongPress", () -> notifySetOverrideHomeButtonLongPress(duration, slopMultiplier)); () -> notifySetOverrideHomeButtonLongPress(duration, slopMultiplier, haptic)); } @Override Loading Loading @@ -956,9 +957,11 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis } } private void notifySetOverrideHomeButtonLongPress(long duration, float slopMultiplier) { private void notifySetOverrideHomeButtonLongPress(long duration, float slopMultiplier, boolean haptic) { for (int i = mConnectionCallbacks.size() - 1; i >= 0; --i) { mConnectionCallbacks.get(i).setOverrideHomeButtonLongPress(duration, slopMultiplier); mConnectionCallbacks.get(i) .setOverrideHomeButtonLongPress(duration, slopMultiplier, haptic); } } Loading Loading @@ -1119,8 +1122,9 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis default void startAssistant(Bundle bundle) {} default void setAssistantOverridesRequested(int[] invocationTypes) {} default void animateNavBarLongPress(boolean isTouchDown, boolean shrink, long durationMs) {} /** Set override of home button long press duration and touch slop multiplier. */ default void setOverrideHomeButtonLongPress(long override, float slopMultiplier) {} /** Set override of home button long press duration, touch slop multiplier, and haptic. */ default void setOverrideHomeButtonLongPress( long override, float slopMultiplier, boolean haptic) {} } /** Loading Loading
packages/SystemUI/shared/src/com/android/systemui/shared/recents/ISystemUiProxy.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -156,9 +156,11 @@ interface ISystemUiProxy { oneway void animateNavBarLongPress(boolean isTouchDown, boolean shrink, long durationMs) = 54; /** * Set the override value for home button long press duration in ms and slop multiplier. * Set the override value for home button long press duration in ms and slop multiplier and * haptic. */ oneway void setOverrideHomeButtonLongPress(long duration, float slopMultiplier) = 55; oneway void setOverrideHomeButtonLongPress(long duration, float slopMultiplier, boolean haptic) = 55; // Next id = 56 }
packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +13 −7 Original line number Diff line number Diff line Loading @@ -243,6 +243,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private Optional<Long> mHomeButtonLongPressDurationMs; private Optional<Long> mOverrideHomeButtonLongPressDurationMs = Optional.empty(); private Optional<Float> mOverrideHomeButtonLongPressSlopMultiplier = Optional.empty(); private boolean mHomeButtonLongPressHapticEnabled = true; /** @see android.view.WindowInsetsController#setSystemBarsAppearance(int, int) */ private @Appearance int mAppearance; Loading Loading @@ -410,13 +411,15 @@ public class NavigationBar extends ViewController<NavigationBarView> implements } @Override public void setOverrideHomeButtonLongPress(long duration, float slopMultiplier) { public void setOverrideHomeButtonLongPress(long duration, float slopMultiplier, boolean haptic) { Log.d(TAG, "setOverrideHomeButtonLongPress receives: " + duration + ";" + slopMultiplier); + slopMultiplier + ";" + haptic); mOverrideHomeButtonLongPressDurationMs = Optional.of(duration) .filter(value -> value > 0); mOverrideHomeButtonLongPressSlopMultiplier = Optional.of(slopMultiplier) .filter(value -> value > 0); mHomeButtonLongPressHapticEnabled = haptic; mOverrideHomeButtonLongPressDurationMs.ifPresent(aLong -> Log.d(TAG, "Use duration override: " + aLong)); mOverrideHomeButtonLongPressSlopMultiplier.ifPresent(aFloat Loading Loading @@ -463,10 +466,12 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private final Runnable mEnableLayoutTransitions = () -> mView.setLayoutTransitionsEnabled(true); private final Runnable mOnVariableDurationHomeLongClick = () -> { if (onHomeLongClick(mView.getHomeButton().getCurrentView())) { if (mHomeButtonLongPressHapticEnabled) { mView.getHomeButton().getCurrentView().performHapticFeedback( HapticFeedbackConstants.LONG_PRESS, HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING); } } }; private final DeviceConfig.OnPropertiesChangedListener mOnPropertiesChangedListener = Loading Loading @@ -1042,7 +1047,8 @@ public class NavigationBar extends ViewController<NavigationBarView> implements mView.getHomeButton().setOnLongClickListener(null); } else { mView.getHomeButton().getCurrentView().setLongClickable(true); mView.getHomeButton().getCurrentView().setHapticFeedbackEnabled(true); mView.getHomeButton().getCurrentView().setHapticFeedbackEnabled( mHomeButtonLongPressHapticEnabled); mView.getHomeButton().setOnLongClickListener(this::onHomeLongClick); } } Loading
packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +10 −6 Original line number Diff line number Diff line Loading @@ -264,9 +264,10 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis } @Override public void setOverrideHomeButtonLongPress(long duration, float slopMultiplier) { public void setOverrideHomeButtonLongPress(long duration, float slopMultiplier, boolean haptic) { verifyCallerAndClearCallingIdentityPostMain("setOverrideHomeButtonLongPress", () -> notifySetOverrideHomeButtonLongPress(duration, slopMultiplier)); () -> notifySetOverrideHomeButtonLongPress(duration, slopMultiplier, haptic)); } @Override Loading Loading @@ -956,9 +957,11 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis } } private void notifySetOverrideHomeButtonLongPress(long duration, float slopMultiplier) { private void notifySetOverrideHomeButtonLongPress(long duration, float slopMultiplier, boolean haptic) { for (int i = mConnectionCallbacks.size() - 1; i >= 0; --i) { mConnectionCallbacks.get(i).setOverrideHomeButtonLongPress(duration, slopMultiplier); mConnectionCallbacks.get(i) .setOverrideHomeButtonLongPress(duration, slopMultiplier, haptic); } } Loading Loading @@ -1119,8 +1122,9 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis default void startAssistant(Bundle bundle) {} default void setAssistantOverridesRequested(int[] invocationTypes) {} default void animateNavBarLongPress(boolean isTouchDown, boolean shrink, long durationMs) {} /** Set override of home button long press duration and touch slop multiplier. */ default void setOverrideHomeButtonLongPress(long override, float slopMultiplier) {} /** Set override of home button long press duration, touch slop multiplier, and haptic. */ default void setOverrideHomeButtonLongPress( long override, float slopMultiplier, boolean haptic) {} } /** Loading