GpuService: fix shellCommand result protocol

The "cmd" shell command at some point separated transport vs. command
results: transport errors should be returned as the Binder transaction
result, but in the absence of a transport error, the command result
(success or failure) should be sent to a IResultReceiver object
provided as a command parameter.

GpuService wasn't doing this, returning the command result from the
Binder transaction and never sending anything to the IResultReceiver.
This caused cmd to wait forever for an IResultReceiver result to
become available. This change properly handles transport errors vs.
command results.

Test: for cmd in "" help vkjson foo; do adb shell cmd gpu $cmd; done
Change-Id: Id2f78593a27d35a88ffa96182de0ef75c3e33599
1 file changed