summaryrefslogtreecommitdiffstats
path: root/broadcastradio
diff options
context:
space:
mode:
authorTomasz Wasilczyk <twasilczyk@google.com>2017-01-06 14:19:11 -0800
committerTomasz Wasilczyk <twasilczyk@google.com>2017-01-06 14:19:11 -0800
commit5cc9d866d2d7aeb05f05dcaa1296e28a7caeed19 (patch)
tree0987a1e44db0f03c80c3a236473fa8e88a37a0e0 /broadcastradio
parent3427948833fd1c8f2be308fa160165cc5b5d4b14 (diff)
downloadandroid_hardware_interfaces-5cc9d866d2d7aeb05f05dcaa1296e28a7caeed19.tar.gz
android_hardware_interfaces-5cc9d866d2d7aeb05f05dcaa1296e28a7caeed19.tar.bz2
android_hardware_interfaces-5cc9d866d2d7aeb05f05dcaa1296e28a7caeed19.zip
Make metadata field mandatory for program info struct.
Test: VTS, manual Change-Id: I532dbb0f3d9cb5194265c67fd1328bce55e43b9d
Diffstat (limited to 'broadcastradio')
-rw-r--r--broadcastradio/1.0/ITuner.hal4
-rw-r--r--broadcastradio/1.0/default/Tuner.cpp19
-rw-r--r--broadcastradio/1.0/default/Tuner.h3
-rw-r--r--broadcastradio/1.0/default/Utils.cpp8
-rw-r--r--broadcastradio/1.0/default/Utils.h3
-rw-r--r--broadcastradio/1.0/vts/functional/broadcastradio_hidl_hal_test.cpp10
6 files changed, 18 insertions, 29 deletions
diff --git a/broadcastradio/1.0/ITuner.hal b/broadcastradio/1.0/ITuner.hal
index 5e2bffe38..ae4b2849a 100644
--- a/broadcastradio/1.0/ITuner.hal
+++ b/broadcastradio/1.0/ITuner.hal
@@ -103,11 +103,9 @@ interface ITuner {
/*
* Retrieve current station information.
- * @param withMetadata True if Metadata should be returned, false otherwise.
* @return result OK if scan successfully started
* NOT_INITIALIZED if another error occurs
* @return info Current program information.
*/
- getProgramInformation(bool withMetadata)
- generates(Result result, ProgramInfo info);
+ getProgramInformation() generates(Result result, ProgramInfo info);
};
diff --git a/broadcastradio/1.0/default/Tuner.cpp b/broadcastradio/1.0/default/Tuner.cpp
index 27b298bc8..de631279c 100644
--- a/broadcastradio/1.0/default/Tuner.cpp
+++ b/broadcastradio/1.0/default/Tuner.cpp
@@ -46,7 +46,7 @@ void Tuner::onCallback(radio_hal_event_t *halEvent)
mCallback->antennaStateChange(halEvent->on);
break;
case RADIO_EVENT_TUNED:
- Utils::convertProgramInfoFromHal(&info, &halEvent->info, true);
+ Utils::convertProgramInfoFromHal(&info, &halEvent->info);
mCallback->tuneComplete(Utils::convertHalResult(halEvent->status), info);
break;
case RADIO_EVENT_METADATA: {
@@ -61,7 +61,7 @@ void Tuner::onCallback(radio_hal_event_t *halEvent)
mCallback->trafficAnnouncement(halEvent->on);
break;
case RADIO_EVENT_AF_SWITCH:
- Utils::convertProgramInfoFromHal(&info, &halEvent->info, true);
+ Utils::convertProgramInfoFromHal(&info, &halEvent->info);
mCallback->afSwitch(info);
break;
case RADIO_EVENT_EA:
@@ -164,7 +164,7 @@ Return<Result> Tuner::cancel() {
return Utils::convertHalResult(rc);
}
-Return<void> Tuner::getProgramInformation(bool withMetadata, getProgramInformation_cb _hidl_cb) {
+Return<void> Tuner::getProgramInformation(getProgramInformation_cb _hidl_cb) {
int rc;
radio_program_info_t halInfo;
ProgramInfo info;
@@ -174,18 +174,13 @@ Return<void> Tuner::getProgramInformation(bool withMetadata, getProgramInformati
rc = -ENODEV;
goto exit;
}
- if (withMetadata) {
- radio_metadata_allocate(&halInfo.metadata, 0, 0);
- } else {
- halInfo.metadata = NULL;
- }
+
+ radio_metadata_allocate(&halInfo.metadata, 0, 0);
rc = mHalTuner->get_program_information(mHalTuner, &halInfo);
if (rc == 0) {
- Utils::convertProgramInfoFromHal(&info, &halInfo, withMetadata);
- }
- if (withMetadata) {
- radio_metadata_deallocate(halInfo.metadata);
+ Utils::convertProgramInfoFromHal(&info, &halInfo);
}
+ radio_metadata_deallocate(halInfo.metadata);
exit:
_hidl_cb(Utils::convertHalResult(rc), info);
diff --git a/broadcastradio/1.0/default/Tuner.h b/broadcastradio/1.0/default/Tuner.h
index a621d974f..bfdd4f493 100644
--- a/broadcastradio/1.0/default/Tuner.h
+++ b/broadcastradio/1.0/default/Tuner.h
@@ -40,8 +40,7 @@ struct Tuner : public ITuner {
Return<Result> step(Direction direction, bool skipSubChannel) override;
Return<Result> tune(uint32_t channel, uint32_t subChannel) override;
Return<Result> cancel() override;
- Return<void> getProgramInformation(bool withMetadata,
- getProgramInformation_cb _hidl_cb) override;
+ Return<void> getProgramInformation(getProgramInformation_cb _hidl_cb) override;
static void callback(radio_hal_event_t *halEvent, void *cookie);
void onCallback(radio_hal_event_t *halEvent);
diff --git a/broadcastradio/1.0/default/Utils.cpp b/broadcastradio/1.0/default/Utils.cpp
index c2c2ff33a..aefeeb1f9 100644
--- a/broadcastradio/1.0/default/Utils.cpp
+++ b/broadcastradio/1.0/default/Utils.cpp
@@ -222,8 +222,7 @@ void Utils::convertBandConfigToHal(
//static
void Utils::convertProgramInfoFromHal(ProgramInfo *info,
- radio_program_info_t *halInfo,
- bool withMetadata)
+ radio_program_info_t *halInfo)
{
info->channel = halInfo->channel;
info->subChannel = halInfo->sub_channel;
@@ -231,9 +230,7 @@ void Utils::convertProgramInfoFromHal(ProgramInfo *info,
info->stereo = halInfo->stereo;
info->digital = halInfo->digital;
info->signalStrength = halInfo->signal_strength;
- if (withMetadata && halInfo->metadata != NULL) {
- convertMetaDataFromHal(info->metadata, halInfo->metadata);
- }
+ convertMetaDataFromHal(info->metadata, halInfo->metadata);
}
//static
@@ -241,6 +238,7 @@ int Utils::convertMetaDataFromHal(hidl_vec<MetaData>& metadata,
radio_metadata_t *halMetadata)
{
if (halMetadata == NULL) {
+ ALOGE("Invalid argument: halMetadata is NULL");
return 0;
}
diff --git a/broadcastradio/1.0/default/Utils.h b/broadcastradio/1.0/default/Utils.h
index 25eb6eeba..4ef22a51f 100644
--- a/broadcastradio/1.0/default/Utils.h
+++ b/broadcastradio/1.0/default/Utils.h
@@ -36,8 +36,7 @@ public:
static void convertBandConfigToHal(radio_hal_band_config_t *halConfig,
const BandConfig *config);
static void convertProgramInfoFromHal(ProgramInfo *info,
- radio_program_info_t *halInfo,
- bool withMetadata);
+ radio_program_info_t *halInfo);
static int convertMetaDataFromHal(hidl_vec<MetaData>& metadata,
radio_metadata_t *halMetadata);
private:
diff --git a/broadcastradio/1.0/vts/functional/broadcastradio_hidl_hal_test.cpp b/broadcastradio/1.0/vts/functional/broadcastradio_hidl_hal_test.cpp
index 12bbb6b8c..bcbfbb7e2 100644
--- a/broadcastradio/1.0/vts/functional/broadcastradio_hidl_hal_test.cpp
+++ b/broadcastradio/1.0/vts/functional/broadcastradio_hidl_hal_test.cpp
@@ -434,11 +434,11 @@ TEST_F(BroadcastRadioHidlTest, TuneAndGetProgramInformationAndCancel) {
ProgramInfo halInfo;
Result halResult = Result::NOT_INITIALIZED;
Return<void> hidlReturn = mTuner->getProgramInformation(
- false, [&](Result result, const ProgramInfo& info) {
- halResult = result;
- if (result == Result::OK) {
- halInfo = info;
- }
+ [&](Result result, const ProgramInfo& info) {
+ halResult = result;
+ if (result == Result::OK) {
+ halInfo = info;
+ }
});
EXPECT_TRUE(hidlReturn.isOk());
EXPECT_EQ(Result::OK, halResult);