Loading core/java/android/window/WindowOnBackInvokedDispatcher.java +0 −3 Original line number Diff line number Diff line Loading @@ -226,9 +226,6 @@ public class WindowOnBackInvokedDispatcher implements OnBackInvokedDispatcher { setTopOnBackInvokedCallback(null); } // We should also stop running animations since all callbacks have been removed. // note: mSpring.skipToEnd(), in ProgressAnimator.reset(), requires the main handler. Handler.getMain().post(mProgressAnimator::reset); mAllCallbacks.clear(); mOnBackInvokedCallbacks.clear(); } Loading core/tests/coretests/src/android/window/WindowOnBackInvokedDispatcherTest.java +5 −5 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.window.OnBackInvokedDispatcher.PRIORITY_DEFAULT; import static android.window.OnBackInvokedDispatcher.PRIORITY_OVERLAY; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.atLeast; Loading Loading @@ -358,7 +359,7 @@ public class WindowOnBackInvokedDispatcherTest { } @Test public void onDetachFromWindow_cancelCallbackAndIgnoreOnBackInvoked() throws RemoteException { public void onDetachFromWindow_cancelsBackAnimation() throws RemoteException { mDispatcher.registerOnBackInvokedCallback(PRIORITY_DEFAULT, mCallback1); OnBackInvokedCallbackInfo callbackInfo = assertSetCallbackInfo(); Loading @@ -368,13 +369,12 @@ public class WindowOnBackInvokedDispatcherTest { waitForIdle(); verify(mCallback1).onBackStarted(any(BackEvent.class)); // This should trigger mCallback1.onBackCancelled() // This should trigger mCallback1.onBackCancelled() and unset the callback in WM mDispatcher.detachFromWindow(); // This should be ignored by mCallback1 callbackInfo.getCallback().onBackInvoked(); OnBackInvokedCallbackInfo callbackInfo1 = assertSetCallbackInfo(); assertNull(callbackInfo1); waitForIdle(); verify(mCallback1, never()).onBackInvoked(); verify(mCallback1).onBackCancelled(); } } Loading
core/java/android/window/WindowOnBackInvokedDispatcher.java +0 −3 Original line number Diff line number Diff line Loading @@ -226,9 +226,6 @@ public class WindowOnBackInvokedDispatcher implements OnBackInvokedDispatcher { setTopOnBackInvokedCallback(null); } // We should also stop running animations since all callbacks have been removed. // note: mSpring.skipToEnd(), in ProgressAnimator.reset(), requires the main handler. Handler.getMain().post(mProgressAnimator::reset); mAllCallbacks.clear(); mOnBackInvokedCallbacks.clear(); } Loading
core/tests/coretests/src/android/window/WindowOnBackInvokedDispatcherTest.java +5 −5 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.window.OnBackInvokedDispatcher.PRIORITY_DEFAULT; import static android.window.OnBackInvokedDispatcher.PRIORITY_OVERLAY; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.atLeast; Loading Loading @@ -358,7 +359,7 @@ public class WindowOnBackInvokedDispatcherTest { } @Test public void onDetachFromWindow_cancelCallbackAndIgnoreOnBackInvoked() throws RemoteException { public void onDetachFromWindow_cancelsBackAnimation() throws RemoteException { mDispatcher.registerOnBackInvokedCallback(PRIORITY_DEFAULT, mCallback1); OnBackInvokedCallbackInfo callbackInfo = assertSetCallbackInfo(); Loading @@ -368,13 +369,12 @@ public class WindowOnBackInvokedDispatcherTest { waitForIdle(); verify(mCallback1).onBackStarted(any(BackEvent.class)); // This should trigger mCallback1.onBackCancelled() // This should trigger mCallback1.onBackCancelled() and unset the callback in WM mDispatcher.detachFromWindow(); // This should be ignored by mCallback1 callbackInfo.getCallback().onBackInvoked(); OnBackInvokedCallbackInfo callbackInfo1 = assertSetCallbackInfo(); assertNull(callbackInfo1); waitForIdle(); verify(mCallback1, never()).onBackInvoked(); verify(mCallback1).onBackCancelled(); } }