diff options
| author | Dianne Hackborn <hackbod@google.com> | 2012-11-01 14:22:28 -0700 |
|---|---|---|
| committer | Dianne Hackborn <hackbod@google.com> | 2012-11-01 15:09:10 -0700 |
| commit | 529e744d3131b9ebeb6b33c8030230c29a44ad12 (patch) | |
| tree | 3ae36a4e2396a6beff91256429b71e90edfa78a5 /services/java/com/android/server/wm/WindowManagerService.java | |
| parent | 8761e143c987fc48d854818988cde44700c9f602 (diff) | |
| download | frameworks_base-529e744d3131b9ebeb6b33c8030230c29a44ad12.zip frameworks_base-529e744d3131b9ebeb6b33c8030230c29a44ad12.tar.gz frameworks_base-529e744d3131b9ebeb6b33c8030230c29a44ad12.tar.bz2 | |
More debugging for issue #7343200 Fails to show wallpaper in the...
...background for lockscreen sometimes and remains black / blank
There was a bunch of state not being put into the dumpsys output.
In particular, the current wallpaper target of the WindowAnimator
was not being included. I think the problem is that these targets
are not being updated from the main window manager state at some
point where they need to be.
Change-Id: Ic795047f6aea9b6f72d5550bccc9f8d76c6ecb67
Diffstat (limited to 'services/java/com/android/server/wm/WindowManagerService.java')
| -rwxr-xr-x | services/java/com/android/server/wm/WindowManagerService.java | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 7958f9a..137c8ee 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -10329,6 +10329,11 @@ public class WindowManagerService extends IWindowManager.Stub mPolicy.dump(" ", pw, args); } + void dumpAnimatorLocked(PrintWriter pw, String[] args, boolean dumpAll) { + pw.println("WINDOW MANAGER ANIMATOR STATE (dumpsys window animator)"); + mAnimator.dumpLocked(pw, " ", dumpAll); + } + void dumpTokensLocked(PrintWriter pw, boolean dumpAll) { pw.println("WINDOW MANAGER TOKENS (dumpsys window tokens)"); if (mTokenMap.size() > 0) { @@ -10605,7 +10610,7 @@ public class WindowManagerService extends IWindowManager.Stub pw.print(" mInputMethodWindow="); pw.println(mInputMethodWindow); } pw.print(" mWallpaperTarget="); pw.println(mWallpaperTarget); - if (mLowerWallpaperTarget != null && mUpperWallpaperTarget != null) { + if (mLowerWallpaperTarget != null || mUpperWallpaperTarget != null) { pw.print(" mLowerWallpaperTarget="); pw.println(mLowerWallpaperTarget); pw.print(" mUpperWallpaperTarget="); pw.println(mUpperWallpaperTarget); } @@ -10689,8 +10694,32 @@ public class WindowManagerService extends IWindowManager.Stub } pw.print(" mStartingIconInTransition="); pw.print(mStartingIconInTransition); pw.print(" mSkipAppTransitionAnimation="); pw.println(mSkipAppTransitionAnimation); - pw.println(" Window Animator:"); - mAnimator.dumpLocked(pw, " ", dumpAll); + pw.println(" mLayoutToAnim:"); + pw.print(" mParamsModified="); pw.print(mLayoutToAnim.mParamsModified); + pw.print(" mAnimationScheduled="); pw.print(mLayoutToAnim.mAnimationScheduled); + pw.print(" mChanges=0x"); + pw.println(Long.toHexString(mLayoutToAnim.mChanges)); + pw.print(" mWallpaperTarget="); pw.println(mLayoutToAnim.mWallpaperTarget); + if (mLayoutToAnim.mLowerWallpaperTarget != null + || mLayoutToAnim.mUpperWallpaperTarget != null) { + pw.print(" mLowerWallpaperTarget="); + pw.println(mLayoutToAnim.mLowerWallpaperTarget); + pw.print(" mUpperWallpaperTarget="); + pw.println(mLayoutToAnim.mUpperWallpaperTarget); + } + for (int i=0; i<mLayoutToAnim.mWinAnimatorLists.size(); i++) { + pw.print(" Win Animator List #"); + pw.print(mLayoutToAnim.mWinAnimatorLists.keyAt(i)); pw.println(":"); + WinAnimatorList wanim = mLayoutToAnim.mWinAnimatorLists.valueAt(i); + for (int wi=0; wi<wanim.size(); wi++) { + pw.print(" "); pw.println(wanim.get(wi)); + } + } + for (int i=0; i<mLayoutToAnim.mWallpaperTokens.size(); i++) { + pw.print(" Wallpaper Token #"); pw.print(i); pw.print(": "); + pw.println(mLayoutToAnim.mWallpaperTokens.get(i)); + } + // XXX also need to print mDimParams and mAppWindowAnimParams. I am lazy. } } @@ -10800,6 +10829,7 @@ public class WindowManagerService extends IWindowManager.Stub pw.println(" cmd may be one of:"); pw.println(" l[astanr]: last ANR information"); pw.println(" p[policy]: policy state"); + pw.println(" a[animator]: animator state"); pw.println(" s[essions]: active sessions"); pw.println(" t[okens]: token list"); pw.println(" w[indows]: window list"); @@ -10829,6 +10859,11 @@ public class WindowManagerService extends IWindowManager.Stub dumpPolicyLocked(pw, args, true); } return; + } else if ("animator".equals(cmd) || "a".equals(cmd)) { + synchronized(mWindowMap) { + dumpAnimatorLocked(pw, args, true); + } + return; } else if ("sessions".equals(cmd) || "s".equals(cmd)) { synchronized(mWindowMap) { dumpSessionsLocked(pw, true); @@ -10874,6 +10909,11 @@ public class WindowManagerService extends IWindowManager.Stub if (dumpAll) { pw.println("-------------------------------------------------------------------------------"); } + dumpAnimatorLocked(pw, args, dumpAll); + pw.println(); + if (dumpAll) { + pw.println("-------------------------------------------------------------------------------"); + } dumpSessionsLocked(pw, dumpAll); pw.println(); if (dumpAll) { |
