From 79195a44ce7f74a85bbf1aaae1064cc09e776719 Mon Sep 17 00:00:00 2001 From: Shan Huang Date: Fri, 11 Nov 2022 00:31:20 +0000 Subject: Make OnBackAnimationCallback and BackEvent public. Bug: 238475284 Test: BackNavigationGestureTest Test: BackAnimationControllerTest Change-Id: Ib342a92add166d804336653ab868bc0349540b2c --- .../com/android/wm/shell/back/BackAnimationController.java | 14 ++++++++++---- .../com/android/wm/shell/back/CrossActivityAnimation.java | 5 +++-- .../com/android/wm/shell/back/CrossTaskBackAnimation.java | 5 +++-- .../Shell/src/com/android/wm/shell/back/TouchTracker.java | 11 ++++++----- .../android/wm/shell/back/BackAnimationControllerTest.java | 9 ++++++--- .../src/com/android/wm/shell/back/TouchTrackerTest.java | 3 ++- 6 files changed, 30 insertions(+), 17 deletions(-) (limited to 'libs') diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java index 0133f6b44d2b..57a0fd593551 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java @@ -47,6 +47,7 @@ import android.view.MotionEvent; import android.view.RemoteAnimationTarget; import android.window.BackAnimationAdapter; import android.window.BackEvent; +import android.window.BackMotionEvent; import android.window.BackNavigationInfo; import android.window.IBackAnimationFinishedCallback; import android.window.IBackAnimationRunner; @@ -385,7 +386,7 @@ public class BackAnimationController implements RemoteCallable up gesture happened before animation start, we have to // trigger the uninterruptible transition to finish the back animation. - final BackEvent backFinish = mTouchTracker.createProgressEvent(); + final BackMotionEvent backFinish = mTouchTracker.createProgressEvent(); dispatchOnBackProgressed(mActiveCallback, backFinish); startPostCommitAnimation(); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityAnimation.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityAnimation.java index 9f6bc5d89e10..e36e16c82da6 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityAnimation.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityAnimation.java @@ -39,6 +39,7 @@ import android.view.animation.AccelerateInterpolator; import android.view.animation.DecelerateInterpolator; import android.view.animation.Interpolator; import android.window.BackEvent; +import android.window.BackMotionEvent; import android.window.BackProgressAnimator; import android.window.IOnBackInvokedCallback; @@ -315,13 +316,13 @@ class CrossActivityAnimation { private final class Callback extends IOnBackInvokedCallback.Default { @Override - public void onBackStarted(BackEvent backEvent) { + public void onBackStarted(BackMotionEvent backEvent) { mProgressAnimator.onBackStarted(backEvent, CrossActivityAnimation.this::onGestureProgress); } @Override - public void onBackProgressed(@NonNull BackEvent backEvent) { + public void onBackProgressed(@NonNull BackMotionEvent backEvent) { mProgressAnimator.onBackProgressed(backEvent); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java index a9a7b7742d2f..676e25923301 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java @@ -39,6 +39,7 @@ import android.view.SurfaceControl; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.Interpolator; import android.window.BackEvent; +import android.window.BackMotionEvent; import android.window.BackProgressAnimator; import android.window.IOnBackInvokedCallback; @@ -316,13 +317,13 @@ class CrossTaskBackAnimation { private final class Callback extends IOnBackInvokedCallback.Default { @Override - public void onBackStarted(BackEvent backEvent) { + public void onBackStarted(BackMotionEvent backEvent) { mProgressAnimator.onBackStarted(backEvent, CrossTaskBackAnimation.this::onGestureProgress); } @Override - public void onBackProgressed(@NonNull BackEvent backEvent) { + public void onBackProgressed(@NonNull BackMotionEvent backEvent) { mProgressAnimator.onBackProgressed(backEvent); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/TouchTracker.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/TouchTracker.java index ccfac65d6342..695ef4e66302 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/TouchTracker.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/TouchTracker.java @@ -19,6 +19,7 @@ package com.android.wm.shell.back; import android.os.SystemProperties; import android.view.RemoteAnimationTarget; import android.window.BackEvent; +import android.window.BackMotionEvent; /** * Helper class to record the touch location for gesture and generate back events. @@ -82,11 +83,11 @@ class TouchTracker { mSwipeEdge = BackEvent.EDGE_LEFT; } - BackEvent createStartEvent(RemoteAnimationTarget target) { - return new BackEvent(mInitTouchX, mInitTouchY, 0, mSwipeEdge, target); + BackMotionEvent createStartEvent(RemoteAnimationTarget target) { + return new BackMotionEvent(mInitTouchX, mInitTouchY, 0, mSwipeEdge, target); } - BackEvent createProgressEvent() { + BackMotionEvent createProgressEvent() { float progressThreshold = PROGRESS_THRESHOLD >= 0 ? PROGRESS_THRESHOLD : mProgressThreshold; progressThreshold = progressThreshold == 0 ? 1 : progressThreshold; @@ -109,8 +110,8 @@ class TouchTracker { return createProgressEvent(progress); } - BackEvent createProgressEvent(float progress) { - return new BackEvent(mLatestTouchX, mLatestTouchY, progress, mSwipeEdge, null); + BackMotionEvent createProgressEvent(float progress) { + return new BackMotionEvent(mLatestTouchX, mLatestTouchY, progress, mSwipeEdge, null); } public void setProgressThreshold(float progressThreshold) { diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java index bee9a90ec6b8..8a5b4901ed96 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java @@ -53,6 +53,7 @@ import android.view.MotionEvent; import android.view.RemoteAnimationTarget; import android.view.SurfaceControl; import android.window.BackEvent; +import android.window.BackMotionEvent; import android.window.BackNavigationInfo; import android.window.IBackAnimationFinishedCallback; import android.window.IOnBackInvokedCallback; @@ -223,9 +224,10 @@ public class BackAnimationControllerTest extends ShellTestCase { simulateRemoteAnimationStart(BackNavigationInfo.TYPE_RETURN_TO_HOME); - verify(mAnimatorCallback).onBackStarted(any(BackEvent.class)); + verify(mAnimatorCallback).onBackStarted(any(BackMotionEvent.class)); verify(mBackAnimationRunner).onAnimationStart(anyInt(), any(), any(), any(), any()); - ArgumentCaptor backEventCaptor = ArgumentCaptor.forClass(BackEvent.class); + ArgumentCaptor backEventCaptor = + ArgumentCaptor.forClass(BackMotionEvent.class); verify(mAnimatorCallback, atLeastOnce()).onBackProgressed(backEventCaptor.capture()); // Check that back invocation is dispatched. @@ -246,7 +248,8 @@ public class BackAnimationControllerTest extends ShellTestCase { shellInit.init(); registerAnimation(BackNavigationInfo.TYPE_RETURN_TO_HOME); - ArgumentCaptor backEventCaptor = ArgumentCaptor.forClass(BackEvent.class); + ArgumentCaptor backEventCaptor = + ArgumentCaptor.forClass(BackMotionEvent.class); createNavigationInfo(BackNavigationInfo.TYPE_RETURN_TO_HOME, false); diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/TouchTrackerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/TouchTrackerTest.java index 3aefc3f03a8a..ba9c159bad28 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/TouchTrackerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/TouchTrackerTest.java @@ -19,6 +19,7 @@ package com.android.wm.shell.back; import static org.junit.Assert.assertEquals; import android.window.BackEvent; +import android.window.BackMotionEvent; import org.junit.Before; import org.junit.Test; @@ -38,7 +39,7 @@ public class TouchTrackerTest { @Test public void generatesProgress_onStart() { mTouchTracker.setGestureStartLocation(INITIAL_X_LEFT_EDGE, 0, BackEvent.EDGE_LEFT); - BackEvent event = mTouchTracker.createStartEvent(null); + BackMotionEvent event = mTouchTracker.createStartEvent(null); assertEquals(event.getProgress(), 0f, 0f); } -- cgit v1.2.3-59-g8ed1b