summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rob Carr <racarr@google.com> 2016-03-24 05:45:58 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-03-24 05:46:00 +0000
commit525748804e8ae2d6f26e50f5932e0b27e9fb1d3e (patch)
tree01a7b378d0ea0b22eabebb399049a84b4a1dc539
parentab852f2972550d1ff6d6b9ec9ec85a9add16409c (diff)
parent67eec038f4628f36e813329736802c331dc2dbc6 (diff)
Merge "Include animation layer adjustment even while docked." into nyc-dev
-rw-r--r--services/core/java/com/android/server/wm/WindowLayersController.java27
1 files changed, 13 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/wm/WindowLayersController.java b/services/core/java/com/android/server/wm/WindowLayersController.java
index d843a8ce398f..e018a4ef80ba 100644
--- a/services/core/java/com/android/server/wm/WindowLayersController.java
+++ b/services/core/java/com/android/server/wm/WindowLayersController.java
@@ -77,28 +77,22 @@ public class WindowLayersController {
int oldLayer = w.mLayer;
if (w.mBaseLayer == curBaseLayer || w.mIsImWindow || (i > 0 && w.mIsWallpaper)) {
curLayer += WINDOW_LAYER_MULTIPLIER;
- w.mLayer = curLayer;
} else {
curBaseLayer = curLayer = w.mBaseLayer;
- w.mLayer = curLayer;
- }
- if (w.mLayer != oldLayer) {
- layerChanged = true;
- anyLayerChanged = true;
}
+ assignAnimLayer(w, curLayer);
- final WindowStateAnimator winAnimator = w.mWinAnimator;
- oldLayer = winAnimator.mAnimLayer;
- winAnimator.mAnimLayer = w.mLayer + w.getAnimLayerAdjustment() +
- getSpecialWindowAnimLayerAdjustment(w);
- if (winAnimator.mAnimLayer != oldLayer) {
+ // TODO: Preserved old behavior of code here but not sure comparing
+ // oldLayer to mAnimLayer and mLayer makes sense...though the
+ // worst case would be unintentionalp layer reassignment.
+ if (w.mLayer != oldLayer || w.mWinAnimator.mAnimLayer != oldLayer) {
layerChanged = true;
anyLayerChanged = true;
}
if (w.mAppToken != null) {
mHighestApplicationLayer = Math.max(mHighestApplicationLayer,
- winAnimator.mAnimLayer);
+ w.mWinAnimator.mAnimLayer);
}
collectSpecialWindows(w);
@@ -223,12 +217,17 @@ public class WindowLayersController {
private int assignAndIncreaseLayerIfNeeded(WindowState win, int layer) {
if (win != null) {
- win.mLayer = layer;
- win.mWinAnimator.mAnimLayer = layer;
+ assignAnimLayer(win, layer);
layer++;
}
return layer;
}
+
+ private void assignAnimLayer(WindowState w, int layer) {
+ w.mLayer = layer;
+ w.mWinAnimator.mAnimLayer = w.mLayer + w.getAnimLayerAdjustment() +
+ getSpecialWindowAnimLayerAdjustment(w);
+ }
void dump(PrintWriter pw, String s) {
if (mInputMethodAnimLayerAdjustment != 0 ||