Fix for b/126739800: Enforce aggressive open policy on TunerSessions.

BroadcastRadioService currently enforces a 1 ITuner (AIDL) to 1 ITunerSession
(HAL) relationship, so because ITunerSession.openSession() mandates an
"aggressive open" policy, a similar policy must be enforced on ITuners. Failure
to apply this policy resulted in RadioAppService holding onto an invalid
ITuner, which caused the radio app to crash when it tried to use it.

When an ITuner is closed due to the "aggressive open" policy, that
client is notified through a callback to
RadioTuner.Callback.onError(ERROR_HARDWARE_FAILURE).

Fixes: 126739800
Test: Manually verified radio app usable after switching users
Change-Id: I8769f7c41c8f92f024666341ff02e1fe9f137acc
2 files changed