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

Commit c627777d authored by Vadim Caen's avatar Vadim Caen
Browse files

Split animation methods out of OnBackInvokedCallback

This makes OnBackInvokedCallback SAM compatible

Bug: 227789359
Test: atest \
        CtsWindowManagerDeviceTestCases:android.server.wm.BackNavigationLegacyTest \
        CtsWindowManagerDeviceTestCases:android.server.wm.BackNavigationTests \
        WmTests:com.android.server.wm.BackNavigationControllerTests \
        FrameworksCoreTests:android.window.BackNavigationTest \
        FrameworksCoreTests:android.window.WindowOnBackInvokedDispatcherTest \
        CtsViewTestCases:android.view.cts.OnBackInvokedDispatcherTest
Change-Id: Iab86b0488f1b3048eb02042191acaeb6a645a0bc
parent 924b02bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -57974,7 +57974,7 @@ package android.widget.inline {
package android.window {
  public interface OnBackInvokedCallback {
    method public default void onBackInvoked();
    method public void onBackInvoked();
  }
  public interface OnBackInvokedDispatcher {
+1 −6
Original line number Diff line number Diff line
@@ -1663,12 +1663,7 @@ public class Activity extends ContextThemeWrapper
                .isOnBackInvokedCallbackEnabled(this);
        if (aheadOfTimeBack) {
            // Add onBackPressed as default back behavior.
            mDefaultBackCallback = new OnBackInvokedCallback() {
                @Override
                public void onBackInvoked() {
                    navigateBack();
                }
            };
            mDefaultBackCallback = this::navigateBack;
            getOnBackInvokedDispatcher().registerSystemOnBackInvokedCallback(mDefaultBackCallback);
        }
    }
+1 −6
Original line number Diff line number Diff line
@@ -459,12 +459,7 @@ public class Dialog implements DialogInterface, Window.Callback,
        if (mContext != null
                && WindowOnBackInvokedDispatcher.isOnBackInvokedCallbackEnabled(mContext)) {
            // Add onBackPressed as default back behavior.
            mDefaultBackCallback = new OnBackInvokedCallback() {
                @Override
                public void onBackInvoked() {
                    onBackPressed();
                }
            };
            mDefaultBackCallback = this::onBackPressed;
            getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
                    OnBackInvokedDispatcher.PRIORITY_DEFAULT, mDefaultBackCallback);
            mDefaultBackCallback = null;
+1 −4
Original line number Diff line number Diff line
@@ -10765,12 +10765,9 @@ public final class ViewRootImpl implements ViewParent,
    }

    private void registerCompatOnBackInvokedCallback() {
        mCompatOnBackInvokedCallback = new OnBackInvokedCallback() {
            @Override
            public void onBackInvoked() {
        mCompatOnBackInvokedCallback = () -> {
                sendBackKeyEvent(KeyEvent.ACTION_DOWN);
                sendBackKeyEvent(KeyEvent.ACTION_UP);
            }
        };
        mOnBackInvokedDispatcher.registerOnBackInvokedCallback(
                OnBackInvokedDispatcher.PRIORITY_DEFAULT, mCompatOnBackInvokedCallback);
+1 −6
Original line number Diff line number Diff line
@@ -240,12 +240,7 @@ public class Editor {

    private final boolean mHapticTextHandleEnabled;
    /** Handles OnBackInvokedCallback back dispatch */
    private final OnBackInvokedCallback mBackCallback = new OnBackInvokedCallback() {
        @Override
        public void onBackInvoked() {
            stopTextActionMode();
        }
    };
    private final OnBackInvokedCallback mBackCallback = this::stopTextActionMode;
    private boolean mBackCallbackRegistered;

    @Nullable
Loading