summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewDebug.java
Commit message (Collapse)AuthorAgeFilesLines
* Reland "Enforce that RuntimeShader is only hardware accelerated"Derek Sollenberger2022-01-101-3/+3
| | | | | | | | | | | | | | Throw an illegal argument exception any time a Paint with a RuntimeShader is attempted to be drawn into a software canvas. Also mark that a Picture that uses a RuntimeShader is properly marked as requiring hardware acceleration. These tests check that the use of RuntimeShaders trigger Bug: 189102731 Bug: 201546136 Test: atest CtsUiRenderingTestCases:RuntimeShaderTests Test: atest CtsGraphicsTestCases:RippleDrawableTest Change-Id: I663e2bc06a3b475f0bb256ce6a9c00c6432ffa42
* Revert "Enforce that RuntimeShader is only hardware accelerated"Shubham Dubey2021-12-171-3/+3
| | | | | | | | | | | | | | | | Revert "Add tests to ensure hardware only for RuntimeShader API" Revert submission 16475336-RuntimeShader_softwareOnly Reason for revert: Breaking tests as system is dying Error: Software rendering doesn't support RuntimeShader Bug: b/211066630 Reverted Changes: Id0ee4d1f0:Enforce that RuntimeShader is only hardware accele... Ib4c2e54bd:Add tests to ensure hardware only for RuntimeShade... Change-Id: Id7bbf2609a06c1cd69f6a457dab44f9478d95742
* Enforce that RuntimeShader is only hardware acceleratedDerek Sollenberger2021-12-161-3/+3
| | | | | | | | | | | | | Throw an illegal argument exception any time a Paint with a RuntimeShader is attempted to be drawn into a software canvas. Also mark that a Picture that uses a RuntimeShader is properly marked as requiring hardware acceleration. These tests check that the use of RuntimeShaders trigger Bug: 189102731 Bug: 201546136 Test: atest CtsUiRenderingTestCases:RuntimeShaderTests Change-Id: Id0ee4d1f05e2975031121298b45f925ee74f6818
* Mark startRenderingCommandsCapture @UnsupportedAppUsageJohn Reck2021-10-141-0/+1
| | | | | | | | | | | | | | | | | This is to opt-out of hidden api enforcement essentially as Studio needs to be able to access this symbol regardless of if it's in an instrumentation test or not. The API itself isn't really stable, nor a system API, so making it public & @SystemApi respectively was discouraged. So keeping it a @TestApi, indicating it's clearly coupled to the current platform version, and using @UnsupportedAppUsage to opt-out of hidden api enforcement seems to be the least-worst combination. Test: none Change-Id: Id297107595cc7dfce62661940d5d61ee5efe4d7b
* Improve picture capture debug pathJohn Reck2021-06-111-7/+5
| | | | | | | | | | | | | | | | | | * Fixes hardware bitmap capture * Fixes mutable bitmap capture (no flickering) * Adds basic single-frame LRU cache to avoid repeated readbacks of GPU resources * Does up-front readback of GPU resources * Moves serialization off RenderThread again thanks to up-front readback avoiding needing GPU access off-thread * Reduces RAM usage & improves performance by serializing directly to output stream instead of first copying to a byte[] Bug: 174223722 Test: PictureCaptureDemo mirrors the content Change-Id: If7ec208b61d5b917e82087cc312880fc5a38c943
* Merge "Remove usage of optimized reflection getters" am: 9d0bfe1b0a am: ↵Nikita Iashchenko2021-04-221-2/+2
|\ | | | | | | | | | | | | | | f10f3736ea am: e5400b4085 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1682029 Change-Id: Id5e445360ec59029c82f9bc96c55dd1599a0029e
| * Remove usage of optimized reflection gettersNikita Iashchenko2021-04-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | As a part of internal libcore API cleanup some of the functions previously exposed are getting removed from public surface. This CL replaces usage of art optimized reflection methods with default ones. Bug: 154796679 Test: m droid Change-Id: I14cfa4af95e2d4b34cee02decaec33d928c25b73
| * Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-11-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
* | Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-291-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. This is a resubmit of ag/12929664 with some APIs excluded that caused test failures; see bugs 171886397, 171888296, 171864568. APIs excluded: Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord; Landroid/os/Process;->myPpid()I Landroid/os/SharedMemory;->getFd()I Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I Bug: 170729553 Test: Treehugger Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
* | Revert "Add maxTargetSdk restriction to unused APIs."Hongwei Wang2020-10-281-3/+2
| | | | | | | | | | | | | | | | | | This reverts commit 72f07d6a8a32db4a0dedd7682a0b3385be2b9cd6. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397 Bug: 171886397 Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
* | Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-271-2/+3
| | | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
* | Merge "Update language to comply with Android's inclusive language guidance" ↵Treehugger Robot2020-09-111-1/+1
|\| | | | | | | | | | | | | | | am: 558a921d81 am: 927f0f7453 am: 1ff037880a am: 6671acef6e am: 8513ac2afc Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1382388 Change-Id: I78e18d9c1490523aeeac4c720f4588bdacd45d2c
| * Update language to comply with Android's inclusive language guidanceLais Andrade2020-09-111-1/+1
| | | | | | | | | | | | | | | | See https://source.android.com/setup/contribute/respectful-code for reference BUG: 162536543 Test: N/A Change-Id: Ied240c486df4072ca6301511aa3419f746404afa
* | Remove Session#getDisplayFrameRiddle Hsu2020-09-101-6/+1
|/ | | | | | | | | | | | | | | | | | | | | The frame won't be changed if there is no IWindow#resized or IWindowSession#relayout. So it can be retrieved from these methods directly instead of another binder transaction. And because some parameters are usually used together for layout, the parameters are consolidated into a new ClientWindowFrames. That reduces changing the interface in the future if the frame related information needs to be changed. Also refine the resize handling in ViewRootImpl to make it easier to read. There should be no behavior change by this modification. Bug: 161781274 Test: WmTests, DialogFrameTests Change-Id: I9f711ad2023442046fa8582944320b98e7c4ecfa
* Removing possible user defined strings from bugreport view-dumpSunny Goyal2020-02-251-0/+1
| | | | | | Bug: 64101886 Test: Verified build Change-Id: Ifad98a268fc17a2e1572ca3e0962a89447083294
* Use new UnsupportedAppUsage annotation.Artur Satayev2019-12-181-1/+1
| | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I5be7335b23a92b8ac80d2fd890198273b66ad644
* Adding shell command to dump view hierarchies of all visible windowsSunny Goyal2019-11-131-1/+19
| | | | | | Bug: 64101886 Test: Verified that the zip dump is created when running the command Change-Id: I549895781405260356fbce5a2be09907d0f856d0
* Merge "Ensure SKP serialization occurs on RenderThread" into qt-qpr1-dev am: ↵John Reck2019-10-311-12/+89
|\ | | | | | | | | | | | | | | ab9d0b5103 am: 48145618d2 Change-Id: I8713f1ea467de5f7fdad7a27d41dfdfaab7e16c7
| * Merge "Ensure SKP serialization occurs on RenderThread" into qt-qpr1-devJohn Reck2019-10-311-12/+89
| |\ | | | | | | | | | | | | | | | am: ab9d0b5103 Change-Id: I7176a638d66e74ceb555e867dcea471c7ef6fe53
| | * Ensure SKP serialization occurs on RenderThreadJohn Reck2019-10-031-12/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of doing lazy serialization of SKP on the background executor serialize to a byte[] immediately at callback invocation. This ensures no potential for later mutations, race conditions, or wrong-thread issues at the expense of potentially impacting app rendering performance. However it seems preferable for a debug-only tool to be a slow instead of very crashy. Bug: 141772764 Test: test app Change-Id: I3316d49970b96f1c59bb0a28ff7335db608e539e
| * | resolve merge conflicts of fe9b32e4bed2737bc5dfe518a201a0c84fb4aa20 to ↵Neil Fuller2019-04-111-1/+4
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | qt-dev-plus-aosp Bug: None Test: I solemnly swear I tested this conflict resolution. Exempt-From-Owner-Approval: Merge conflict resolution for approved change Change-Id: I39bda8417f709f86b5b389a75ff34df8a28a3d8d
| | * Switch from Byte.toHexString() to HexEncodingNeil Fuller2019-04-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch from Byte.toHexString() to HexEncoding equivalents. Bug: 124232146 Test: build only Exempt-From-Owner-Approval: Cherry-picking OWNERS approved internal version Merged-In: Id244e5247eb87c67446cbd65eb5d320f3617b8cd Change-Id: Id244e5247eb87c67446cbd65eb5d320f3617b8cd
| | * Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For packages: android.view.textservice android.view.textclassifier.logging android.view.textclassifier android.view.inputmethod android.view.autofill android.view.accessibility android.view This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: Ie4663ebd4640b2893e575e599582d2c9530da313 Merged-In: I4147b038ed7adf0311ee9918b44766f82a057eaf
* | | Improving hierarchy dump speedSunny Goyal2019-10-111-392/+252
| | | | | | | | | | | | | | | | | | | | | | | | > Moving the dump to UI thread instead of making every method call individually to UI thread Test: Launcher view hierarchy dump changed from ~4.5 seconds to 260ms Change-Id: I3a815755bc63fdd7a729aae46339dd3c55f09cd4
* | | Switch from Byte.toHexString() to HexEncodingNeil Fuller2019-04-081-1/+4
|/ / | | | | | | | | | | | | | | Switch from Byte.toHexString() to HexEncoding equivalents. Bug: 124232146 Test: build only Change-Id: Id244e5247eb87c67446cbd65eb5d320f3617b8cd
* | Merge "Address API council feedback"TreeHugger Robot2019-02-251-2/+2
|\ \
| * | Address API council feedbackJohn Reck2019-02-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 125027187 Bug: 125026102 Bug: 125026678 Bug: 125026234 Bug: 125027586 Bug: 125026476 Bug: 125026103 Bug: 125026237 Bug: 125027248 Bug: 125026475 Bug: 125027487 Test: RenderNodeTests Change-Id: Ic63ea7a3cfe359a7dff0c1b46e534e499f7e928b
* | | API adjustments for Picture serialization discussionJohn Reck2019-02-151-0/+63
|/ / | | | | | | | | | | Fixes: 124315734 Test: none Change-Id: Ie1c610ae5536225f1ba454235be509f1c7e70bab
* | Add continuous SKP capture test apiJohn Reck2019-01-221-0/+125
| | | | | | | | | | | | Bug: 122856066 Test: PictureCaptureDemo Change-Id: Iaf3a4bc1c8a2c18c7dff635c5f1cf726b331f8bf
* | Rename & package shuffleJohn Reck2018-10-041-1/+3
| | | | | | | | | | | | | | | | | | | | Rename DisplayListCanvas -> RecordingCanvas Move RecordingCanvas to android.graphics Move RenderNode to android.graphics Bug: 112709971 Test: make & boot Change-Id: Iddeb6a89f8923ea81a1f37bbee4e9b1db8ede238
* | Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For packages: android.view.textservice android.view.textclassifier.logging android.view.textclassifier android.view.inputmethod android.view.autofill android.view.accessibility android.view This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: I4147b038ed7adf0311ee9918b44766f82a057eaf
* | Tweak some RenderNode API surfacesJohn Reck2018-06-041-1/+0
|/ | | | | | | | | | | * no-arg #start() * remove no-op #destroy method * fix a Java-imposed quirk that you can't draw a currently invalid RenderNode, forcing bottom-up recording for no particular reason Test: builds Change-Id: I28b41c83b4f7f9ddced843b0d57e9ac510d40ae5
* Switch to public API versionJohn Reck2018-02-121-15/+6
| | | | | | | | Use the public API version of the same thing that the private API access was doing. No behavior change. Test: built Change-Id: I4a9032cfb1d4e699f72df3b079ef363d308419e8
* Using RenderNode for creating snapshot of a View, so that hardwareSunny Goyal2018-01-041-10/+92
| | | | | | | bitmaps are drawn properly Test: atest FrameworksCoreTests:ViewCaptureTest Change-Id: Ie137e8a73fb84665df7a55facd02b10d78764c80
* Using hardware canvas for profiling ViewsSunny Goyal2017-10-171-88/+79
| | | | | | | | | Using software canvas when profiling views does not give the correct result as by default apps expect hardware canvas. Also it prevents crashes when a view is drawing hardware bitmap. Test: Manually tested using hierarchy viewer Change-Id: I9e0fffbdac3209f1bc68c1a383bdaa92976addca
* Fix crash when dumping empty LayoutParamsJorim Jaggi2017-09-281-1/+3
| | | | | | Test: WindowManager_LayoutParamsTest Change-Id: Ie80181fbef354a6d4b6569c66a4e37d526e7ddd6 Fixes: 66953119
* Improve window manager layout attribute dumpingJorim Jaggi2017-09-251-0/+73
| | | | | Test: adb shell dumpsys window Change-Id: I9c76e6a6950265b49667cc19998282ef0c682815
* Mark @ symbols in code snippet as literal so javadoc doesn't choke onScott Main2017-03-071-11/+13
| | | | | | | | them. Which for some reason only starts to happen when we start processing the annotation methods in this CL: https://googleplex-android-review.git.corp.google.com/#/c/1892771/ Change-Id: Ie933cc25b01d07cd04074aff6ca41e21803f73c5
* Fix import statement in view|transition|animation packages.Aurimas Liutikas2016-10-121-1/+1
| | | | | | | This change also remove trailing whitespace. Test: code still compiles Change-Id: I7eff4546320d67d2bae58d31bad0625ea0791b8f
* Include window location after encoded view hierarchyManu Cornet2016-09-151-0/+2
| | | | Change-Id: I4e60e354dc56742bbd7dd52eb2191659d3453b29
* Add missing @Deprecated annotations.Aurimas Liutikas2016-05-241-0/+1
| | | | | | | Add missing @Deprecated annotations for methods with @deprecated tag in javadoc. Change-Id: I35b78ccb97832d86b914c21a300444ba29e33844
* Move window moving and resizing handling to WindowManagerChong Zhang2015-09-111-0/+6
| | | | | | | | | | - add a startMoving API to initiate a window move from app, once the move starts WindowManager will take over the event handling. - detect touch events along window's outside border and start a resize if necessary Change-Id: Ic7e8baba34e0aa27a43173e044ffb46e93e219e0
* Improve hierarchy viewer dump hierarchy latencySiva Velusamy2015-05-071-0/+24
| | | | | | | | | | | | | | | | | 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
* Update getExportedPropertyMethods to new reflection APIMathieu Chartier2015-04-211-6/+2
| | | | | | Bug: 19264997 Change-Id: Ife79c469fdb09f30e3aefcfc3e0ce5ed32303fce
* Change getDeclaredFieldsUnchecked call to new return valueMathieu Chartier2015-03-271-23/+15
| | | | | | | Required for related libcore change. Bug: 19264997 Change-Id: I17ca0cf4b9ba853e59f4a6eff3a05d9d90cf23f9
* Fix buildAlan Viverette2014-10-171-2/+2
| | | | Change-Id: Idd7ae84c0d128bd40f0e7a83882e4ed4181e8a4d
* Check type resolution on declared methods and fields in ViewDebugAlan Viverette2014-10-141-8/+27
| | | | | BUG: 17375269 Change-Id: I8a74dfab1a1cf11b4240afb011d2729beea307c5
* Tries to resolve reference resource names instead of its data.Jon Miranda2014-09-091-0/+5
| | | | | | | Example: @16974751 can be resolved to android:style/TextApperance.Material. Bug: 17446752 Change-Id: I3ffede3ecc8689badd646a27d50a7a73ce45cf86
* Added getStyleAttributes to access all Theme attributes.Jon Miranda2014-09-051-0/+62
| | | | | | | | ViewDebug uses getStyleAttributes to get the attributes, and then gets the attribute name and value so that Hierarchy Viewer can display it. Bug: 17407087 Change-Id: I3577e32ae99668383701dc908bb46db14a75c3c4
* Exposes style and theme data, adds developer option.Jon Miranda2014-08-181-1/+34
| | | | | | | | | | | | Adds support for a String[] return type in ViewDebug; and in addition to that, the hasAdjacentMapping method can use the String array as means to map a key to its value. Adds DEBUG_VIEW_ATTRIBUTES to Settings so that the heavy per-view computations only affect those who opt in. This setting is used in CoreSettingsObserver to avoid impacting start time. Change-Id: I8f507e4e5361414c30d247e8d9815205feb5e91f