Fix boadcastradio HAL 1.1 tuneByProgramSelector implementation.
It was not compliant with the HAL definition - it didn't auto-change
band if necessary.
Bug: 74353024
Test: manual
Change-Id: I015faffc42778fa27fca3030306f31b0abe409c7
diff --git a/broadcastradio/1.1/default/Tuner.h b/broadcastradio/1.1/default/Tuner.h
index 764d5b3..e2668d8 100644
--- a/broadcastradio/1.1/default/Tuner.h
+++ b/broadcastradio/1.1/default/Tuner.h
@@ -28,8 +28,11 @@
namespace V1_1 {
namespace implementation {
+struct BroadcastRadio;
+
struct Tuner : public ITuner {
- Tuner(V1_0::Class classId, const sp<V1_0::ITunerCallback>& callback);
+ Tuner(const sp<BroadcastRadio> module, V1_0::Class classId,
+ const sp<V1_0::ITunerCallback>& callback);
void forceClose();
@@ -55,6 +58,7 @@
WorkerThread mThread;
bool mIsClosed = false;
+ const sp<BroadcastRadio> mModule;
V1_0::Class mClassId;
const sp<V1_0::ITunerCallback> mCallback;
const sp<V1_1::ITunerCallback> mCallback1_1;
@@ -68,7 +72,9 @@
std::atomic<bool> mIsAnalogForced;
utils::HalRevision getHalRev() const;
+ void setConfigurationInternalLocked(const V1_0::BandConfig& config);
void tuneInternalLocked(const V1_1::ProgramSelector& sel);
+ bool autoConfigureLocked(uint64_t frequency);
};
} // namespace implementation