summaryrefslogtreecommitdiff
path: root/core/java/android/ddm/DdmHandleViewDebug.java
Commit message (Collapse)AuthorAgeFilesLines
* Extend the INVOKE_VIEW_METHOD of the "Generic View Operation" (VUOP) DDM ↵Mike Schneider2022-09-151-63/+234
| | | | | | | | | | | | | | | | | | | | | | | | | handler to 1) Return the invoked method's return value 2) In addition to the primitive values, support String and byte[] This DDM API is used by some development tools (such as go/web-hv), where the ability retrieve values from views and sending strings and byte blobs allows to trigger specific view behavior. ## String support Allows passing in and returning String objects, using the (non-standard) R type specifier. This implementation is modelled after ViewHierarchyEncoder for consistency (whose result is passed back via the same DdmHandleViewDebug class). ## byte[] support Allows passing in and returning byte[] objects, using the "[Z" type specifier. For simplicity, only byte arrays are supported, though other types can be added in a backwards compatible way in the future, if needed. ## testing Added unit tests for serialization/deserialization. Unable to test `invokeViewMethod`, since it uses the `Chunk` class which is not exposed outside of the framework Test: Adding unit tests for serialization deserialization Test: Manually invoked method via go/web-hv Bug: 245727371 Change-Id: I29d2d6ec3b6eb59a5f2e7d3312dc36c00007672d
* Refactor ddm ChunkHandler utility methods from libcore to frameworkNikita Iashchenko2021-05-251-7/+7
| | | | | | | | | | | | | | | | | As a part of internal libcore cleanup three utility methods for ddm chunks (de)serialization were removed from the CorePlatformApi set and moved to framework. As a part of API council review made following changes: * Renamed connected/disconnected callback methods to onConnected/onDisconnected, respectively * Made unregisterHandler method a part of core api * Renamed threadNotify/enableRecentAllocations setters Bug: 154796679 Bug: 184654804 Test: m droid Change-Id: I1d43f12aaf70c7c079577d3f3248248ed39f9865
* Remove GLTrace supportPablo Ceballos2015-10-061-14/+1
| | | | | | | | | | GLTrace is defunct, it does not support newer GL features, breaks security requirements, and has no supported tooling now that Eclipse is at end of life. Bug 22329852 Change-Id: I64c58464f8c2c7ae6125f5d5c7884e3fd34d68ea
* Improve hierarchy viewer dump hierarchy latencySiva Velusamy2015-05-071-3/+13
| | | | | | | | | | | | | | | | | Hierarchy Viewer obtains the properties for each view by using reflection and looking for fields and methods that have the @ExportedProperty annotation. Using reflection made it quite slow for large view hierarchies. This CL adds a new method (encode) to each class that wishes to export data to hiererachy viewer. Inside this method, the object can write a sequence of key, value pairs corresponding to the values it wants exported. With this change, the dump hierarchy operation that used to take more than 10 seconds can be performed in a few hundred milliseconds. Change-Id: I199ac2e7ca3c59ebcfec7e6bd201e134c41fd583
* Adds support for Theme dumping via DDM.Jon Miranda2014-09-181-0/+21
| | | | | Bug: 17515415 Change-Id: Ice145a4b452177e36345cf2e071377bb7b3feeb3
* Support invoking view methods from hierarchy viewerSiva Velusamy2013-01-221-21/+122
| | | | | | | | | | | This CL adds support for invoking any view method with primtive arguments, and setting layout parameters from the debugger (hierarchy viewer). requestLayout() and invalidate() are now just implemented using the more generic invokeMethod() command. Change-Id: Icffda251728a4963b35266786b0b6143bae7fe8e
* Support hierarchy viewer commands via DDMSiva Velusamy2013-01-161-0/+315
Hierarchy Viewer currently interfaces to the host via a socket opened by ViewServer which resides in the WindowManagerService. Since this has access to all windows, it is enabled only on debug builds. This CL adds necessary support to DDM to handle all the commands required for Hierarchy Viewer. It only misses two commands that are sent to the Window Manager (which we don't have access to from the applications). A future CL will remove the ViewServer functionality. Change-Id: I1dae316a00737b0cae4e640ccc97bf9bb1d05973