summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2012-03-21 11:52:40 -0700
committerCraig Mautner <cmautner@google.com>2012-03-21 11:52:40 -0700
commit03273d00ce1d7b4ebde95994732dd80204ba7e68 (patch)
treedaa0a0f8d9474c847f9012f8664baf53030b5287
parent006f0e41abca961bade88908d7ef56ae63c429fb (diff)
downloadframeworks_base-03273d00ce1d7b4ebde95994732dd80204ba7e68.zip
frameworks_base-03273d00ce1d7b4ebde95994732dd80204ba7e68.tar.gz
frameworks_base-03273d00ce1d7b4ebde95994732dd80204ba7e68.tar.bz2
Continue animations started from AppWindowToken.
Animations that were started from AppWindowToken.showAllWindowsLocked were not setting mInnerFields.mAnimating and hence the animations were not progressing. This resulted in popups such as menus and time/date settings not showing up. Fixes bug 6205076. Change-Id: I4daae5895e64182328671e282331f14dd5561d5e
-rw-r--r--services/java/com/android/server/wm/AppWindowToken.java5
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java4
2 files changed, 6 insertions, 3 deletions
diff --git a/services/java/com/android/server/wm/AppWindowToken.java b/services/java/com/android/server/wm/AppWindowToken.java
index 4b3d904..3043da2 100644
--- a/services/java/com/android/server/wm/AppWindowToken.java
+++ b/services/java/com/android/server/wm/AppWindowToken.java
@@ -190,14 +190,17 @@ class AppWindowToken extends WindowToken {
}
}
- void showAllWindowsLocked() {
+ boolean showAllWindowsLocked() {
+ boolean isAnimating = false;
final int NW = allAppWindows.size();
for (int i=0; i<NW; i++) {
WindowState w = allAppWindows.get(i);
if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(WindowManagerService.TAG,
"performing show on: " + w);
w.performShowLocked();
+ isAnimating |= w.isAnimating();
}
+ return isAnimating;
}
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 79d2dd4..31a2788 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -7947,7 +7947,7 @@ public class WindowManagerService extends IWindowManager.Stub
// We can now show all of the drawn windows!
if (!mOpeningApps.contains(wtoken)) {
- wtoken.showAllWindowsLocked();
+ mInnerFields.mAnimating |= wtoken.showAllWindowsLocked();
}
}
}
@@ -8131,7 +8131,7 @@ public class WindowManagerService extends IWindowManager.Stub
transit, false);
wtoken.updateReportedVisibilityLocked();
wtoken.waitingToShow = false;
- wtoken.showAllWindowsLocked();
+ mInnerFields.mAnimating |= wtoken.showAllWindowsLocked();
}
NN = mClosingApps.size();
for (i=0; i<NN; i++) {