diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/BackNavigationController.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java index f9f972c20ac6..b67bc62e52f1 100644 --- a/services/core/java/com/android/server/wm/BackNavigationController.java +++ b/services/core/java/com/android/server/wm/BackNavigationController.java @@ -862,8 +862,16 @@ class BackNavigationController { WindowContainer target, boolean isOpen) { final BackWindowAnimationAdaptor adaptor = new BackWindowAnimationAdaptor(target, isOpen); - target.startAnimation(target.getPendingTransaction(), adaptor, false /* hidden */, - ANIMATION_TYPE_PREDICT_BACK); + final SurfaceControl.Transaction pt = target.getPendingTransaction(); + target.startAnimation(pt, adaptor, false /* hidden */, ANIMATION_TYPE_PREDICT_BACK); + // Workaround to show TaskFragment which can be hide in Transitions and won't show + // during isAnimating. + if (isOpen && target.asActivityRecord() != null) { + final TaskFragment fragment = target.asActivityRecord().getTaskFragment(); + if (fragment != null) { + pt.show(fragment.mSurfaceControl); + } + } return adaptor; } |