Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9bb3902 authored by Holly Jiuyu Sun's avatar Holly Jiuyu Sun Committed by Android (Google) Code Review
Browse files

Merge "[omni] Read haptic bit from AGSA." into main

parents 92f78ff2 2056e501
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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
}
+13 −7
Original line number Diff line number Diff line
@@ -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;
@@ -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
@@ -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 =
@@ -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);
        }
    }
+10 −6
Original line number Diff line number Diff line
@@ -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
@@ -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);
        }
    }

@@ -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) {}
    }

    /**