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

Commit 82f3bb31 authored by Shan Huang's avatar Shan Huang Committed by Android (Google) Code Review
Browse files

Merge "Remove DISPATCH_BACK_INVOCATION_AHEAD_OF_TIME." into tm-dev

parents f8ae31ea 778d3d83
Loading
Loading
Loading
Loading
+0 −4
Original line number Original line Diff line number Diff line
@@ -3262,10 +3262,6 @@ package android.window {
    field public static final int FEATURE_WINDOW_TOKENS = 2; // 0x2
    field public static final int FEATURE_WINDOW_TOKENS = 2; // 0x2
  }
  }


  public interface OnBackInvokedDispatcher {
    field public static final long DISPATCH_BACK_INVOCATION_AHEAD_OF_TIME = 195946584L; // 0xbade858L
  }

  public final class SplashScreenView extends android.widget.FrameLayout {
  public final class SplashScreenView extends android.widget.FrameLayout {
    method @Nullable public android.view.View getBrandingView();
    method @Nullable public android.view.View getBrandingView();
  }
  }
+0 −20
Original line number Original line Diff line number Diff line
@@ -21,9 +21,6 @@ import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
import android.annotation.SuppressLint;
import android.annotation.TestApi;
import android.compat.annotation.ChangeId;
import android.compat.annotation.EnabledSince;
import android.os.Build;
import android.os.Build;


import java.lang.annotation.Retention;
import java.lang.annotation.Retention;
@@ -38,23 +35,6 @@ import java.lang.annotation.RetentionPolicy;
 * target (a.k.a. the callback to be invoked next), or its behavior.
 * target (a.k.a. the callback to be invoked next), or its behavior.
 */
 */
public interface OnBackInvokedDispatcher {
public interface OnBackInvokedDispatcher {
    /**
     * Enables dispatching the "back" action via {@link OnBackInvokedDispatcher}.
     *
     * When enabled, the following APIs are no longer invoked:
     * <ul>
     * <li> {@link android.app.Activity#onBackPressed}
     * <li> {@link android.app.Dialog#onBackPressed}
     * <li> {@link android.view.KeyEvent#KEYCODE_BACK} is no longer dispatched.
     * </ul>
     *
     * @hide
     */
    @TestApi
    @ChangeId
    @EnabledSince(targetSdkVersion = Build.VERSION_CODES.TIRAMISU)
    long DISPATCH_BACK_INVOCATION_AHEAD_OF_TIME = 195946584L;

    /** @hide */
    /** @hide */
    String TAG = "OnBackInvokedDispatcher";
    String TAG = "OnBackInvokedDispatcher";


+8 −10
Original line number Original line Diff line number Diff line
@@ -18,7 +18,6 @@ package android.window;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.app.compat.CompatChanges;
import android.content.Context;
import android.content.Context;
import android.os.Debug;
import android.os.Debug;
import android.os.Handler;
import android.os.Handler;
@@ -253,21 +252,20 @@ public class WindowOnBackInvokedDispatcher implements OnBackInvokedDispatcher {
     * {@link OnBackInvokedCallback}.
     * {@link OnBackInvokedCallback}.
     */
     */
    public static boolean isOnBackInvokedCallbackEnabled(@Nullable Context context) {
    public static boolean isOnBackInvokedCallbackEnabled(@Nullable Context context) {
        // new back is enabled if the app targets T AND the feature flag is enabled AND the app
        // new back is enabled if the feature flag is enabled AND the app does not explicitly
        // does not explicitly request legacy back.
        // request legacy back.
        boolean targetsT = CompatChanges.isChangeEnabled(DISPATCH_BACK_INVOCATION_AHEAD_OF_TIME);
        boolean featureFlagEnabled = IS_BACK_PREDICTABILITY_ENABLED;
        boolean featureFlagEnabled = IS_BACK_PREDICTABILITY_ENABLED;
        // If the context is null, we assume true and fallback on the two other conditions.
        // If the context is null, we assume true and fallback on the two other conditions.
        boolean appRequestsLegacy =
        boolean appRequestsPredictiveBack =
                context == null || !context.getApplicationInfo().isOnBackInvokedCallbackEnabled();
                context != null && context.getApplicationInfo().isOnBackInvokedCallbackEnabled();


        if (DEBUG) {
        if (DEBUG) {
            Log.d(TAG, TextUtils.formatSimple("App: %s isChangeEnabled=%s featureFlagEnabled=%s "
            Log.d(TAG, TextUtils.formatSimple("App: %s featureFlagEnabled=%s "
                            + "onBackInvokedEnabled=%s",
                            + "appRequestsPredictiveBack=%s",
                    context != null ? context.getApplicationInfo().packageName : "null context",
                    context != null ? context.getApplicationInfo().packageName : "null context",
                    targetsT, featureFlagEnabled, !appRequestsLegacy));
                    featureFlagEnabled, appRequestsPredictiveBack));
        }
        }


        return targetsT && featureFlagEnabled && !appRequestsLegacy;
        return featureFlagEnabled && appRequestsPredictiveBack;
    }
    }
}
}