diff options
| -rw-r--r-- | core/java/android/window/WindowOnBackInvokedDispatcher.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/java/android/window/WindowOnBackInvokedDispatcher.java b/core/java/android/window/WindowOnBackInvokedDispatcher.java index 0ee07bbb3b5c..90fe7542c69c 100644 --- a/core/java/android/window/WindowOnBackInvokedDispatcher.java +++ b/core/java/android/window/WindowOnBackInvokedDispatcher.java @@ -491,6 +491,7 @@ public class WindowOnBackInvokedDispatcher implements OnBackInvokedDispatcher { boolean requestsPredictiveBack = false; // Check if the context is from an activity. + Context originalContext = context; while ((context instanceof ContextWrapper) && !(context instanceof Activity)) { context = ((ContextWrapper) context).getBaseContext(); } @@ -539,8 +540,10 @@ public class WindowOnBackInvokedDispatcher implements OnBackInvokedDispatcher { // 3. windowSwipeToDismiss=false should be respected for apps not opted in, // which disables PB & onBackPressed caused by BackAnimController's // setTrigger(true) + // Use the original context to resolve the styled attribute so that they stay + // true to the window. TypedArray windowAttr = - context.obtainStyledAttributes( + originalContext.obtainStyledAttributes( new int[] {android.R.attr.windowSwipeToDismiss}); boolean windowSwipeToDismiss = true; if (windowAttr.getIndexCount() > 0) { |