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

Commit 99d6eee1 authored by Bill Lin's avatar Bill Lin
Browse files

Revert "Revert "1/ Add onStartTransition() callback for SYSUI_ST..."

Revert submission 14315426-revert_fix_ohm_exit_flicker

Reason for revert: The root cause of b/186197537 is ag/14296935
I should safe to re-landing the 2 CLs

Reverted Changes: 
Ifd17094f0:Revert "1/ Add onStartTransition() callback for SY...
Ia921d073c:Revert "2/ Resolve gesture one handed conflicts sw...

Change-Id: Ieccadf78ab873e00efa5102348c3787f00bd3275
parent e3e06447
Loading
Loading
Loading
Loading
+12 −3
Original line number Original line Diff line number Diff line
@@ -82,6 +82,14 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
                @Override
                @Override
                public void onOneHandedAnimationStart(
                public void onOneHandedAnimationStart(
                        OneHandedAnimationController.OneHandedTransitionAnimator animator) {
                        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
                @Override
@@ -266,11 +274,12 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
        mLastVisualDisplayBounds.offsetTo(0,
        mLastVisualDisplayBounds.offsetTo(0,
                direction == TRANSITION_DIRECTION_TRIGGER ? offset : 0);
                direction == TRANSITION_DIRECTION_TRIGGER ? offset : 0);
        for (int i = mTransitionCallbacks.size() - 1; i >= 0; i--) {
        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) {
            if (direction == TRANSITION_DIRECTION_TRIGGER) {
                callback.onStartFinished(getLastVisualDisplayBounds());
                cb.onStartFinished(getLastVisualDisplayBounds());
            } else {
            } else {
                callback.onStopFinished(getLastVisualDisplayBounds());
                cb.onStopFinished(getLastVisualDisplayBounds());
            }
            }
        }
        }
    }
    }
+6 −0
Original line number Original line 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)
 * touch region.(e.g: one handed activated, user tap out regions of displayArea to stop one handed)
 */
 */
public interface OneHandedTransitionCallback {
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
     * Called when start one handed transition finished
     */
     */
+8 −0
Original line number Original line Diff line number Diff line
@@ -235,6 +235,14 @@ public final class WMShell extends SystemUI
        oneHanded.setThreeButtonModeEnabled(currentMode == NAV_BAR_MODE_3BUTTON);
        oneHanded.setThreeButtonModeEnabled(currentMode == NAV_BAR_MODE_3BUTTON);


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

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