Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5cc9d866 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk
Browse files

Make metadata field mandatory for program info struct.

Test: VTS, manual
Change-Id: I532dbb0f3d9cb5194265c67fd1328bce55e43b9d
parent 34279488
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -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);
};
+7 −12
Original line number Diff line number Diff line
@@ -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;
    }
    rc = mHalTuner->get_program_information(mHalTuner, &halInfo);
    if (rc == 0) {
        Utils::convertProgramInfoFromHal(&info, &halInfo, withMetadata);
        Utils::convertProgramInfoFromHal(&info, &halInfo);
    }
    if (withMetadata) {
    radio_metadata_deallocate(halInfo.metadata);
    }

exit:
    _hidl_cb(Utils::convertHalResult(rc), info);
+1 −2
Original line number Diff line number Diff line
@@ -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);
+3 −5
Original line number Diff line number Diff line
@@ -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,16 +230,15 @@ 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);
}
}

//static
int Utils::convertMetaDataFromHal(hidl_vec<MetaData>& metadata,
                                   radio_metadata_t *halMetadata)
{
    if (halMetadata == NULL) {
        ALOGE("Invalid argument: halMetadata is NULL");
        return 0;
    }

+1 −2
Original line number Diff line number Diff line
@@ -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:
Loading