Add background scan routines and callbacks to broadcast radio HAL.

Bug: b/34054813
Test: existing VTS pass, none added.
Change-Id: I2009e73a9e5edc4752366fd84f67b5a745856441
diff --git a/broadcastradio/1.1/default/BroadcastRadio.cpp b/broadcastradio/1.1/default/BroadcastRadio.cpp
index 611267b..68c9b93 100644
--- a/broadcastradio/1.1/default/BroadcastRadio.cpp
+++ b/broadcastradio/1.1/default/BroadcastRadio.cpp
@@ -94,7 +94,7 @@
 }
 
 
-// Methods from ::android::hardware::broadcastradio::V1_0::IBroadcastRadio follow.
+// Methods from ::android::hardware::broadcastradio::V1_1::IBroadcastRadio follow.
 Return<void> BroadcastRadio::getProperties(getProperties_cb _hidl_cb)
 {
     int rc;
@@ -115,6 +115,11 @@
     return Void();
 }
 
+Return<void> BroadcastRadio::getProperties_1_1(getProperties_1_1_cb _hidl_cb __unused)
+{
+    return Status::fromExceptionCode(Status::EX_UNSUPPORTED_OPERATION);
+}
+
 Return<void> BroadcastRadio::openTuner(const BandConfig& config, bool audio,
     const sp<V1_0::ITunerCallback>& callback, openTuner_cb _hidl_cb)
 {
diff --git a/broadcastradio/1.1/default/BroadcastRadio.h b/broadcastradio/1.1/default/BroadcastRadio.h
index 068979d..7de31a0 100644
--- a/broadcastradio/1.1/default/BroadcastRadio.h
+++ b/broadcastradio/1.1/default/BroadcastRadio.h
@@ -16,7 +16,7 @@
 #ifndef ANDROID_HARDWARE_BROADCASTRADIO_V1_1_BROADCASTRADIO_H
 #define ANDROID_HARDWARE_BROADCASTRADIO_V1_1_BROADCASTRADIO_H
 
-#include <android/hardware/broadcastradio/1.0/IBroadcastRadio.h>
+#include <android/hardware/broadcastradio/1.1/IBroadcastRadio.h>
 #include <android/hardware/broadcastradio/1.1/types.h>
 #include <hardware/radio.h>
 
@@ -30,12 +30,13 @@
 using V1_0::BandConfig;
 using V1_0::Properties;
 
-struct BroadcastRadio : public V1_0::IBroadcastRadio {
+struct BroadcastRadio : public V1_1::IBroadcastRadio {
 
     BroadcastRadio(Class classId);
 
-    // Methods from ::android::hardware::broadcastradio::V1_0::IBroadcastRadio follow.
+    // Methods from ::android::hardware::broadcastradio::V1_1::IBroadcastRadio follow.
     Return<void> getProperties(getProperties_cb _hidl_cb) override;
+    Return<void> getProperties_1_1(getProperties_1_1_cb _hidl_cb) override;
     Return<void> openTuner(const BandConfig& config, bool audio,
             const sp<V1_0::ITunerCallback>& callback, openTuner_cb _hidl_cb) override;
 
diff --git a/broadcastradio/1.1/default/Tuner.cpp b/broadcastradio/1.1/default/Tuner.cpp
index b4eb184..f280754 100644
--- a/broadcastradio/1.1/default/Tuner.cpp
+++ b/broadcastradio/1.1/default/Tuner.cpp
@@ -200,6 +200,10 @@
     return Void();
 }
 
+Return<ProgramListResult> Tuner::startBackgroundScan() {
+    return ProgramListResult::NOT_INITIALIZED;
+}
+
 Return<void> Tuner::getProgramList(const hidl_string& filter __unused, getProgramList_cb _hidl_cb) {
     hidl_vec<ProgramInfo> pList;
     // TODO(b/34054813): do the actual implementation.
diff --git a/broadcastradio/1.1/default/Tuner.h b/broadcastradio/1.1/default/Tuner.h
index fcf053a..d7b4545 100644
--- a/broadcastradio/1.1/default/Tuner.h
+++ b/broadcastradio/1.1/default/Tuner.h
@@ -42,6 +42,7 @@
     Return<Result> cancel() override;
     Return<void> getProgramInformation(getProgramInformation_cb _hidl_cb) override;
     Return<void> getProgramInformation_1_1(getProgramInformation_1_1_cb _hidl_cb) override;
+    Return<ProgramListResult> startBackgroundScan() override;
     Return<void> getProgramList(const hidl_string& filter, getProgramList_cb _hidl_cb) override;
 
     static void callback(radio_hal_event_t *halEvent, void *cookie);