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

Commit be632ac3 authored by Bill Lin's avatar Bill Lin Committed by Android (Google) Code Review
Browse files

Merge "1/ Add onStartTransition() callback for SYSUI_STATE_ONE_HANDED_ACTIVE" into sc-dev

parents 2bd0b0b3 3e208562
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -82,6 +82,14 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
                @Override
                public void onOneHandedAnimationStart(
                        OneHandedAnimationController.OneHandedTransitionAnimator animator) {
                    final boolean isEntering = animator.getTransitionDirection()
                            == TRANSITION_DIRECTION_TRIGGER;
                    if (!mTransitionCallbacks.isEmpty()) {
                        for (int i = mTransitionCallbacks.size() - 1; i >= 0; i--) {
                            final OneHandedTransitionCallback cb = mTransitionCallbacks.get(i);
                            cb.onStartTransition(isEntering);
                        }
                    }
                }

                @Override
@@ -266,11 +274,12 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
        mLastVisualDisplayBounds.offsetTo(0,
                direction == TRANSITION_DIRECTION_TRIGGER ? offset : 0);
        for (int i = mTransitionCallbacks.size() - 1; i >= 0; i--) {
            final OneHandedTransitionCallback callback = mTransitionCallbacks.get(i);
            final OneHandedTransitionCallback cb = mTransitionCallbacks.get(i);
            cb.onStartTransition(false /* isTransitioning */);
            if (direction == TRANSITION_DIRECTION_TRIGGER) {
                callback.onStartFinished(getLastVisualDisplayBounds());
                cb.onStartFinished(getLastVisualDisplayBounds());
            } else {
                callback.onStopFinished(getLastVisualDisplayBounds());
                cb.onStopFinished(getLastVisualDisplayBounds());
            }
        }
    }
+6 −0
Original line number Diff line number Diff line
@@ -23,6 +23,12 @@ import android.graphics.Rect;
 * touch region.(e.g: one handed activated, user tap out regions of displayArea to stop one handed)
 */
public interface OneHandedTransitionCallback {
    /**
     * Called when one handed mode entering or exiting transition starting
     */
    default void onStartTransition(boolean isEntering) {
    }

    /**
     * Called when start one handed transition finished
     */
+8 −0
Original line number Diff line number Diff line
@@ -235,6 +235,14 @@ public final class WMShell extends SystemUI
        oneHanded.setThreeButtonModeEnabled(currentMode == NAV_BAR_MODE_3BUTTON);

        oneHanded.registerTransitionCallback(new OneHandedTransitionCallback() {
            @Override
            public void onStartTransition(boolean isEntering) {
                mSysUiMainExecutor.execute(() -> {
                    mSysUiState.setFlag(SYSUI_STATE_ONE_HANDED_ACTIVE,
                            true).commitUpdate(DEFAULT_DISPLAY);
                });
            }

            @Override
            public void onStartFinished(Rect bounds) {
                mSysUiMainExecutor.execute(() -> {