diff options
| author | 2014-09-18 20:14:04 +0000 | |
|---|---|---|
| committer | 2014-09-18 20:14:05 +0000 | |
| commit | 3c7f018f4232082b189fa6828a01f41c7253b1cc (patch) | |
| tree | e12bec611d737d4fd19f507ad771fde3ad0e96c6 | |
| parent | 7e3d6c988c1fdd27720dbfef9bf2fe1a5abe70b7 (diff) | |
| parent | e82a4eeb40090f15054e2c76c0cea84b198a2b61 (diff) | |
Merge "Adds support for Theme dumping via DDM." into lmp-dev
| -rw-r--r-- | core/java/android/ddm/DdmHandleViewDebug.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/java/android/ddm/DdmHandleViewDebug.java b/core/java/android/ddm/DdmHandleViewDebug.java index ce837966c12b..3a36b0a91a15 100644 --- a/core/java/android/ddm/DdmHandleViewDebug.java +++ b/core/java/android/ddm/DdmHandleViewDebug.java @@ -56,6 +56,9 @@ public class DdmHandleViewDebug extends ChunkHandler { /** Capture View Layers. */ private static final int VURT_CAPTURE_LAYERS = 2; + /** Dump View Theme. */ + private static final int VURT_DUMP_THEME = 3; + /** * Generic View Operation, first parameter in the packet should be one of the * VUOP_* constants below. @@ -131,6 +134,8 @@ public class DdmHandleViewDebug extends ChunkHandler { return dumpHierarchy(rootView, in); else if (op == VURT_CAPTURE_LAYERS) return captureLayers(rootView); + else if (op == VURT_DUMP_THEME) + return dumpTheme(rootView); else return createFailChunk(ERR_INVALID_OP, "Unknown view root operation: " + op); } @@ -258,6 +263,22 @@ public class DdmHandleViewDebug extends ChunkHandler { return new Chunk(CHUNK_VURT, data, 0, data.length); } + /** + * Returns the Theme dump of the provided view. + */ + private Chunk dumpTheme(View rootView) { + ByteArrayOutputStream b = new ByteArrayOutputStream(1024); + try { + ViewDebug.dumpTheme(rootView, b); + } catch (IOException e) { + return createFailChunk(1, "Unexpected error while dumping the theme: " + + e.getMessage()); + } + + byte[] data = b.toByteArray(); + return new Chunk(CHUNK_VURT, data, 0, data.length); + } + private Chunk captureView(View rootView, View targetView) { ByteArrayOutputStream b = new ByteArrayOutputStream(1024); try { |