summaryrefslogtreecommitdiff
path: root/rs/java/android/renderscript/ProgramVertexFixedFunction.java
diff options
context:
space:
mode:
authorLee Shombert <shombert@google.com>2020-04-09 09:00:46 -0700
committerLee Shombert <shombert@google.com>2020-04-15 13:58:55 -0700
commit6d1fa6f65a1c7c0617bc79b754e8f19fbff8e838 (patch)
treeb952878db7cbaa92d2e8e3d4338e7df52011f57b /rs/java/android/renderscript/ProgramVertexFixedFunction.java
parentd3f12e835310b0f5b0710fbf139ad24dc8e7187d (diff)
Fix exception handling in getState() binder cache
Bug: 153103051 A binder cache recompute() function cannot compute a result based on any data that is not known to the binder server. If the code depends on local data that can change, then invalidation will not work properly. The original getState() method returned OFF if the bluetooth service was unavailable. This computation now occurs in the getStateInternal() method, outside of the binder cache query() method. The recompute() method converts RemoteExceptions to RuntimeExceptions. Then, the conversion is reversed in getStateInternal(). This double conversion is needed because the cache recompute() method has no throw spec. Test: Create a debug image that enables binder cache VERIFY. Run the following tests: * atest BluetoothInstrumentationTests * atest PtsChreTestCases * atest UserLifecycleTests * manual testing connecting to bluetooth devices and toggling airplane mode. No cache inconsistencies found. No test failures seen. Change-Id: I93b9742587c4eb695d9a11fc6ab145f6a40a0ece
Diffstat (limited to 'rs/java/android/renderscript/ProgramVertexFixedFunction.java')
0 files changed, 0 insertions, 0 deletions