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

Commit ad89a821 authored by Shan Huang's avatar Shan Huang
Browse files

Turn off predictive back

Test: m -j. Test back in apps that opt-in, opt-out & sysUI
Bug: 222170518

Change-Id: I97ae7769ff2e04eb7fb39c49e025b255cdba057f
parent bb72d0fe
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ public class WindowOnBackInvokedDispatcher implements OnBackInvokedDispatcher {
    private static final String TAG = "WindowOnBackDispatcher";
    private static final String BACK_PREDICTABILITY_PROP = "persist.debug.back_predictability";
    private static final boolean IS_BACK_PREDICTABILITY_ENABLED = SystemProperties
            .getInt(BACK_PREDICTABILITY_PROP, 1) > 0;
            .getInt(BACK_PREDICTABILITY_PROP, 0) > 0;

    /** Convenience hashmap to quickly decide if a callback has been added. */
    private final HashMap<OnBackInvokedCallback, Integer> mAllCallbacks = new HashMap<>();
+3 −0
Original line number Diff line number Diff line
@@ -52,6 +52,9 @@ import com.android.wm.shell.common.annotations.ShellMainThread;
 */
public class BackAnimationController implements RemoteCallable<BackAnimationController> {

    private static final String BACK_PREDICTABILITY_PROP = "persist.debug.back_predictability";
    public static final boolean IS_ENABLED = SystemProperties
            .getInt(BACK_PREDICTABILITY_PROP, 0) > 0;
    private static final String BACK_PREDICTABILITY_PROGRESS_THRESHOLD_PROP =
            "persist.debug.back_predictability_progress_threshold";
    private static final int PROGRESS_THRESHOLD = SystemProperties
+5 −2
Original line number Diff line number Diff line
@@ -699,7 +699,10 @@ public abstract class WMShellBaseModule {
            Context context,
            @ShellMainThread ShellExecutor shellExecutor
    ) {
        if (BackAnimationController.IS_ENABLED) {
            return Optional.of(
                    new BackAnimationController(shellExecutor, context));
        }
        return Optional.empty();
    }
}
+9 −0
Original line number Diff line number Diff line
@@ -263,6 +263,15 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
                    // Notify FalsingManager that an intentional gesture has occurred.
                    // TODO(b/186519446): use a different method than isFalseTouch
                    mFalsingManager.isFalseTouch(BACK_GESTURE);
                    // Only inject back keycodes when ahead-of-time back dispatching is disabled.
                    if (mBackAnimation == null) {
                        boolean sendDown = sendEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
                        boolean sendUp = sendEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
                        if (DEBUG_MISSING_GESTURE) {
                            Log.d(DEBUG_MISSING_GESTURE_TAG, "Triggered back: down="
                                    + sendDown + ", up=" + sendUp);
                        }
                    }

                    mOverviewProxyService.notifyBackAction(true, (int) mDownPoint.x,
                            (int) mDownPoint.y, false /* isButton */, !mIsOnLeftEdge);
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ class BackNavigationController {
     * Returns true if the back predictability feature is enabled
     */
    static boolean isEnabled() {
        return SystemProperties.getInt(BACK_PREDICTABILITY_PROP, 1) > 0;
        return SystemProperties.getInt(BACK_PREDICTABILITY_PROP, 0) > 0;
    }

    static boolean isScreenshotEnabled() {