summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
-rw-r--r--core/java/android/view/ViewRootImpl.java15
1 files changed, 5 insertions, 10 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 97e0692a3f3c..e46e44b4115b 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -196,6 +196,7 @@ import android.view.contentcapture.MainContentCaptureSession;
import android.view.inputmethod.InputMethodManager;
import android.widget.Scroller;
import android.window.ClientWindowFrames;
+import android.window.CompatOnBackInvokedCallback;
import android.window.OnBackInvokedCallback;
import android.window.OnBackInvokedDispatcher;
import android.window.SurfaceSyncer;
@@ -339,13 +340,12 @@ public final class ViewRootImpl implements ViewParent,
/**
* The top level {@link OnBackInvokedDispatcher}.
*/
- private final WindowOnBackInvokedDispatcher mOnBackInvokedDispatcher =
- new WindowOnBackInvokedDispatcher();
+ private final WindowOnBackInvokedDispatcher mOnBackInvokedDispatcher;
/**
* Compatibility {@link OnBackInvokedCallback} that dispatches KEYCODE_BACK events
* to view root for apps using legacy back behavior.
*/
- private OnBackInvokedCallback mCompatOnBackInvokedCallback;
+ private CompatOnBackInvokedCallback mCompatOnBackInvokedCallback;
/**
* Callback for notifying about global configuration changes.
@@ -959,6 +959,8 @@ public final class ViewRootImpl implements ViewParent,
mFastScrollSoundEffectsEnabled = audioManager.areNavigationRepeatSoundEffectsEnabled();
mScrollCaptureRequestTimeout = SCROLL_CAPTURE_REQUEST_TIMEOUT_MILLIS;
+ mOnBackInvokedDispatcher = new WindowOnBackInvokedDispatcher(
+ context.getApplicationInfo().isOnBackInvokedCallbackEnabled());
}
public static void addFirstDrawHandler(Runnable callback) {
@@ -10836,13 +10838,6 @@ public final class ViewRootImpl implements ViewParent,
OnBackInvokedDispatcher.PRIORITY_DEFAULT, mCompatOnBackInvokedCallback);
}
- private void unregisterCompatOnBackInvokedCallback() {
- if (mCompatOnBackInvokedCallback != null) {
- mOnBackInvokedDispatcher.unregisterOnBackInvokedCallback(mCompatOnBackInvokedCallback);
- mCompatOnBackInvokedCallback = null;
- }
- }
-
@Override
public void setTouchableRegion(Region r) {
if (r != null) {