Loading services/core/java/com/android/server/wm/AppWindowAnimator.java +3 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ public class AppWindowAnimator { // requires that the duration of the two animations are the same. SurfaceControl thumbnail; int thumbnailTransactionSeq; // TODO(b/62029108): combine both members into a private one. Create a member function to set // the thumbnail layer to +1 to the highest layer position and replace all setter instances // with this function. Remove all unnecessary calls to both variables in other classes. int thumbnailLayer; int thumbnailForceAboveLayer; Animation thumbnailAnimation; Loading services/core/java/com/android/server/wm/WindowLayersController.java +14 −3 Original line number Diff line number Diff line Loading @@ -257,9 +257,20 @@ class WindowLayersController { w.mLayer = layer; w.mWinAnimator.mAnimLayer = w.getAnimLayerAdjustment() + w.getSpecialWindowAnimLayerAdjustment(); if (w.mAppToken != null && w.mAppToken.mAppAnimator.thumbnailForceAboveLayer > 0 && w.mWinAnimator.mAnimLayer > w.mAppToken.mAppAnimator.thumbnailForceAboveLayer) { if (w.mAppToken != null && w.mAppToken.mAppAnimator.thumbnailForceAboveLayer > 0) { if (w.mWinAnimator.mAnimLayer > w.mAppToken.mAppAnimator.thumbnailForceAboveLayer) { w.mAppToken.mAppAnimator.thumbnailForceAboveLayer = w.mWinAnimator.mAnimLayer; } // TODO(b/62029108): the entire contents of the if statement should call the refactored // function to set the thumbnail layer for w.AppToken int highestLayer = w.mAppToken.getHighestAnimLayer(); if (highestLayer > 0) { if (w.mAppToken.mAppAnimator.thumbnail != null && w.mAppToken.mAppAnimator.thumbnailForceAboveLayer != highestLayer) { w.mAppToken.mAppAnimator.thumbnailForceAboveLayer = highestLayer; w.mAppToken.mAppAnimator.thumbnail.setLayer(highestLayer + 1); } } } } } Loading
services/core/java/com/android/server/wm/AppWindowAnimator.java +3 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ public class AppWindowAnimator { // requires that the duration of the two animations are the same. SurfaceControl thumbnail; int thumbnailTransactionSeq; // TODO(b/62029108): combine both members into a private one. Create a member function to set // the thumbnail layer to +1 to the highest layer position and replace all setter instances // with this function. Remove all unnecessary calls to both variables in other classes. int thumbnailLayer; int thumbnailForceAboveLayer; Animation thumbnailAnimation; Loading
services/core/java/com/android/server/wm/WindowLayersController.java +14 −3 Original line number Diff line number Diff line Loading @@ -257,9 +257,20 @@ class WindowLayersController { w.mLayer = layer; w.mWinAnimator.mAnimLayer = w.getAnimLayerAdjustment() + w.getSpecialWindowAnimLayerAdjustment(); if (w.mAppToken != null && w.mAppToken.mAppAnimator.thumbnailForceAboveLayer > 0 && w.mWinAnimator.mAnimLayer > w.mAppToken.mAppAnimator.thumbnailForceAboveLayer) { if (w.mAppToken != null && w.mAppToken.mAppAnimator.thumbnailForceAboveLayer > 0) { if (w.mWinAnimator.mAnimLayer > w.mAppToken.mAppAnimator.thumbnailForceAboveLayer) { w.mAppToken.mAppAnimator.thumbnailForceAboveLayer = w.mWinAnimator.mAnimLayer; } // TODO(b/62029108): the entire contents of the if statement should call the refactored // function to set the thumbnail layer for w.AppToken int highestLayer = w.mAppToken.getHighestAnimLayer(); if (highestLayer > 0) { if (w.mAppToken.mAppAnimator.thumbnail != null && w.mAppToken.mAppAnimator.thumbnailForceAboveLayer != highestLayer) { w.mAppToken.mAppAnimator.thumbnailForceAboveLayer = highestLayer; w.mAppToken.mAppAnimator.thumbnail.setLayer(highestLayer + 1); } } } } }