Merge "Remove DISPATCH_BACK_INVOCATION_AHEAD_OF_TIME." into tm-dev
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user