diff options
| author | 2016-01-07 00:32:40 +0000 | |
|---|---|---|
| committer | 2016-01-07 00:32:40 +0000 | |
| commit | 557467b82d66c702bc2b2596d9e6a375fb0f9e2e (patch) | |
| tree | adbf99cafe6da0c141e19e663da31c73edd52394 | |
| parent | f744b0793b22e8bd1986e93d4c134201ea77f2ec (diff) | |
| parent | b429e6826d394a63f81d1702efd714d640ddfb49 (diff) | |
Merge "Improved output for 'dumpsys window displays'"
4 files changed, 33 insertions, 38 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 59421984dc1f..51787b066859 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -570,38 +570,19 @@ class DisplayContent { pw.print("x"); pw.println(mDisplayInfo.largestNominalAppHeight); pw.print(subPrefix); pw.print("deferred="); pw.print(mDeferredRemoval); pw.print(" layoutNeeded="); pw.println(layoutNeeded); - for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) { - final TaskStack stack = mStacks.get(stackNdx); - pw.print(prefix); pw.print("mStacks[" + stackNdx + "]"); pw.println(stack.mStackId); - stack.dump(prefix + " ", pw); - } + pw.println(); pw.println(" Application tokens in top down Z order:"); - int ndx = 0; for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) { final TaskStack stack = mStacks.get(stackNdx); - pw.print(" mStackId="); pw.println(stack.mStackId); - ArrayList<Task> tasks = stack.getTasks(); - for (int taskNdx = tasks.size() - 1; taskNdx >= 0; --taskNdx) { - final Task task = tasks.get(taskNdx); - pw.print(" mTaskId="); pw.println(task.mTaskId); - AppTokenList tokens = task.mAppTokens; - for (int tokenNdx = tokens.size() - 1; tokenNdx >= 0; --tokenNdx, ++ndx) { - final AppWindowToken wtoken = tokens.get(tokenNdx); - pw.print(" Activity #"); pw.print(tokenNdx); - pw.print(' '); pw.print(wtoken); pw.println(":"); - wtoken.dump(pw, " "); - } - } - } - if (ndx == 0) { - pw.println(" None"); + stack.dump(prefix + " ", pw); } + pw.println(); if (!mExitingTokens.isEmpty()) { pw.println(); pw.println(" Exiting tokens:"); - for (int i=mExitingTokens.size()-1; i>=0; i--) { + for (int i = mExitingTokens.size() - 1; i >= 0; i--) { WindowToken token = mExitingTokens.get(i); pw.print(" Exiting #"); pw.print(i); pw.print(' '); pw.print(token); diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 223e03ad4cc4..72970f6c7545 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -603,12 +603,23 @@ class Task implements DimLayer.DimLayerUser { return "Task=" + mTaskId; } - public void printTo(String prefix, PrintWriter pw) { - pw.print(prefix); pw.print("taskId="); pw.println(mTaskId); - pw.print(prefix + prefix); pw.print("mFullscreen="); pw.println(mFullscreen); - pw.print(prefix + prefix); pw.print("mBounds="); pw.println(mBounds.toShortString()); - pw.print(prefix + prefix); pw.print("mdr="); pw.println(mDeferRemoval); - pw.print(prefix + prefix); pw.print("appTokens="); pw.println(mAppTokens); - pw.print(prefix + prefix); pw.print("mTempInsetBounds="); pw.println(mTempInsetBounds); + public void dump(String prefix, PrintWriter pw) { + final String doublePrefix = prefix + " "; + + pw.println(prefix + "taskId=" + mTaskId); + pw.println(doublePrefix + "mFullscreen=" + mFullscreen); + pw.println(doublePrefix + "mBounds=" + mBounds.toShortString()); + pw.println(doublePrefix + "mdr=" + mDeferRemoval); + pw.println(doublePrefix + "appTokens=" + mAppTokens); + pw.println(doublePrefix + "mTempInsetBounds=" + mTempInsetBounds.toShortString()); + + final String triplePrefix = doublePrefix + " "; + + for (int i = mAppTokens.size() - 1; i >= 0; i--) { + final AppWindowToken wtoken = mAppTokens.get(i); + pw.println(triplePrefix + "Activity #" + i + " " + wtoken); + wtoken.dump(pw, triplePrefix); + } + } } diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 67debe6e3773..fc6ad70513b1 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -619,16 +619,15 @@ public class TaskStack implements DimLayer.DimLayerUser { } public void dump(String prefix, PrintWriter pw) { - pw.print(prefix); pw.print("mStackId="); pw.println(mStackId); - pw.print(prefix); pw.print("mDeferDetach="); pw.println(mDeferDetach); - pw.print(prefix); pw.print("mFullscreen="); pw.println(mFullscreen); - pw.print(prefix); pw.print("mBounds="); pw.println(mBounds.toShortString()); - for (int taskNdx = 0; taskNdx < mTasks.size(); ++taskNdx) { - pw.print(prefix); - mTasks.get(taskNdx).printTo(prefix + " ", pw); + pw.println(prefix + "mStackId=" + mStackId); + pw.println(prefix + "mDeferDetach=" + mDeferDetach); + pw.println(prefix + "mFullscreen=" + mFullscreen); + pw.println(prefix + "mBounds=" + mBounds.toShortString()); + for (int taskNdx = mTasks.size() - 1; taskNdx >= 0; taskNdx--) { + mTasks.get(taskNdx).dump(prefix + " ", pw); } if (mAnimationBackgroundSurface.isDimming()) { - pw.print(prefix); pw.println("mWindowAnimationBackgroundSurface:"); + pw.println(prefix + "mWindowAnimationBackgroundSurface:"); mAnimationBackgroundSurface.printTo(prefix + " ", pw); } if (!mExitingAppTokens.isEmpty()) { diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index f6e62f6cffb6..a7f7f04b26ca 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -9790,6 +9790,10 @@ public class WindowManagerService extends IWindowManager.Stub if ("visible".equals(name) || "visible-apps".equals(name)) { final boolean appsOnly = "visible-apps".equals(name); synchronized(mWindowMap) { + if (appsOnly) { + dumpDisplayContentsLocked(pw, true); + } + final int numDisplays = mDisplayContents.size(); for (int displayNdx = 0; displayNdx < numDisplays; ++displayNdx) { final WindowList windowList = |