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/ITunerCallback.hal b/broadcastradio/1.1/ITunerCallback.hal
index 4af6b1f..1ea57e9 100644
--- a/broadcastradio/1.1/ITunerCallback.hal
+++ b/broadcastradio/1.1/ITunerCallback.hal
@@ -19,9 +19,10 @@
import @1.0::ITunerCallback;
/**
- * Some methods of @1.1::ITunerCallback are updated versions of those from @1.0:ITunerCallback.
- * All 1.1 drivers should call both (eg. tuneComplete and tuneComplete_1_1), while 1.1 clients
- * should ignore 1.0 ones, to avoid receiving a callback twice.
+ * Some methods of @1.1::ITunerCallback are updated versions of those from
+ * @1.0:ITunerCallback. All 1.1 HAL implementations must call both
+ * (eg. tuneComplete and tuneComplete_1_1), while 1.1 clients may ignore 1.0
+ * ones, to avoid receiving a callback twice.
*/
interface ITunerCallback extends @1.0::ITunerCallback {
/*
@@ -37,4 +38,27 @@
* @param info A ProgramInfo structure describing the new tuned station.
*/
oneway afSwitch_1_1(ProgramInfo info);
+
+ /**
+ * Called by the HAL when background scan initiated by startBackgroundScan
+ * finishes. If the list was changed, programListChanged must be called too.
+ * @param result OK if the scan succeeded, client may retrieve the actual
+ * list with ITuner::getProgramList.
+ * TEMPORARILY_UNAVAILABLE if the scan was interrupted due to
+ * hardware becoming temporarily unavailable.
+ * NOT_INITIALIZED other error, ie. HW failure.
+ */
+ oneway backgroundScanComplete(ProgramListResult result);
+
+ /**
+ * Called each time the internally cached program list changes. HAL may not
+ * call it immediately, ie. it may wait for a short time to accumulate
+ * multiple list change notifications into a single event.
+ *
+ * It may be triggered either by an explicitly issued background scan,
+ * or a scan issued by the device internally.
+ *
+ * Client may retrieve the actual list with ITuner::getProgramList.
+ */
+ oneway programListChanged();
};