Move ServiceConnector job timeouts to the job handler thread
Prior to this change, the response timeout was assigned via `orTimeout` to the AndroidFuture, which has the default behavior of creating a timeout task assigned to the main Looper (the application thread). Callers that consumed the returned Future via a blocking call like `Future.get()` would prevent the timeout from firing, leading to a block in the main application thread. This change explicitly sets the timeout handler to the job handler, where the completion tasks of all jobs are handled. Bug: 281589918 Test: Reproduced issue on aosp_cf_riscv64_phone (happens reliably due to service bind failure) and confirmed that patch now successfully fires the timeout and recovers. Change-Id: Iee6736554904eaf59c22cdd252e0e1f8730b0643
Loading
Please register or sign in to comment