summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/ViewDebug.java
diff options
context:
space:
mode:
authorRomain Guy <romainguy@android.com>2010-03-22 18:58:21 -0700
committerRomain Guy <romainguy@android.com>2010-03-22 18:58:21 -0700
commit65554f27855ce1764123604b061b10346f8b8404 (patch)
treefd4952bdfb8feaae1a2ba38ee35f861021803a76 /core/java/android/view/ViewDebug.java
parentac96fa575f17d4a65e65eddebe805c904fb29c19 (diff)
downloadframeworks_base-65554f27855ce1764123604b061b10346f8b8404.zip
frameworks_base-65554f27855ce1764123604b061b10346f8b8404.tar.gz
frameworks_base-65554f27855ce1764123604b061b10346f8b8404.tar.bz2
Improve export to bitmap layers for HierarchyViewer.
- Do not show layers with an invisible parent - Correctly draw extras from dispatchDraw() (ListView's dividers for instance) Change-Id: Id2e24ae9d52879290dffbf1cc446c5eda9522fbb
Diffstat (limited to 'core/java/android/view/ViewDebug.java')
-rw-r--r--core/java/android/view/ViewDebug.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/core/java/android/view/ViewDebug.java b/core/java/android/view/ViewDebug.java
index 2b5489c..d2563a8 100644
--- a/core/java/android/view/ViewDebug.java
+++ b/core/java/android/view/ViewDebug.java
@@ -1040,7 +1040,7 @@ public class ViewDebug {
clientStream.writeInt(outRect.width());
clientStream.writeInt(outRect.height());
- captureViewLayer(root, clientStream);
+ captureViewLayer(root, clientStream, true);
clientStream.write(2);
} finally {
@@ -1048,9 +1048,11 @@ public class ViewDebug {
}
}
- private static void captureViewLayer(View view, DataOutputStream clientStream)
+ private static void captureViewLayer(View view, DataOutputStream clientStream, boolean visible)
throws IOException {
+ final boolean localVisible = view.getVisibility() == View.VISIBLE && visible;
+
if ((view.mPrivateFlags & View.SKIP_DRAW) != View.SKIP_DRAW) {
final int id = view.getId();
String name = view.getClass().getSimpleName();
@@ -1060,7 +1062,7 @@ public class ViewDebug {
clientStream.write(1);
clientStream.writeUTF(name);
- clientStream.writeByte(view.getVisibility() == View.VISIBLE ? 1 : 0);
+ clientStream.writeByte(localVisible ? 1 : 0);
int[] position = new int[2];
// XXX: Should happen on the UI thread
@@ -1086,7 +1088,7 @@ public class ViewDebug {
int count = group.getChildCount();
for (int i = 0; i < count; i++) {
- captureViewLayer(group.getChildAt(i), clientStream);
+ captureViewLayer(group.getChildAt(i), clientStream, localVisible);
}
}
}