Merge "1/ Add onStartTransition() callback for SYSUI_STATE_ONE_HANDED_ACTIVE" into sc-dev
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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(() -> {
|
||||
|
||||
Reference in New Issue
Block a user