Merge "Update the app window's thumbnail layer after starting window is removed" into oc-dev

am: 052ff89f65

Change-Id: I7a622e8e4fee766619828831315d11db1ace6ec9
This commit is contained in:
Matthew Ng
2017-05-24 23:48:45 +00:00
committed by android-build-merger
2 changed files with 17 additions and 3 deletions

View File

@@ -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;

View File

@@ -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) {
w.mAppToken.mAppAnimator.thumbnailForceAboveLayer = w.mWinAnimator.mAnimLayer;
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);
}
}
}
}
}