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

Commit f404169a authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk Committed by Android (Google) Code Review
Browse files

Merge "Make metadata field mandatory for program info struct."

parents ad9d13b6 5cc9d866
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