Loading libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java +12 −3 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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()); } } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedTransitionCallback.java +6 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java +8 −0 Original line number Diff line number Diff line Loading @@ -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(() -> { Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java +12 −3 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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()); } } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedTransitionCallback.java +6 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading
packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java +8 −0 Original line number Diff line number Diff line Loading @@ -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(() -> { Loading