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

Commit 5c6694aa authored by Amy Zhang's avatar Amy Zhang Committed by Android (Google) Code Review
Browse files

Merge "Fix TunerService/TunerClient implementation issues" into sc-dev

parents 9ad39e2b 15823c22
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -3029,7 +3029,8 @@ static FrontendSettings getFrontendSettings(JNIEnv *env, int type, jobject setti
    }
}

static FrontendSettingsExt1_1 getFrontendSettingsExt1_1(JNIEnv *env, int type, jobject settings) {
static FrontendSettingsExt1_1 getFrontendSettingsExt1_1(
        JNIEnv *env, int type, jobject settings, int tunerVersion) {
    ALOGD("getFrontendSettingsExt1_1 %d", type);

    FrontendSettingsExt1_1 settingsExt1_1 {
@@ -3038,6 +3039,10 @@ static FrontendSettingsExt1_1 getFrontendSettingsExt1_1(JNIEnv *env, int type, j
    };
    settingsExt1_1.settingExt.noinit();

    if (tunerVersion < TUNER_VERSION_1_1) {
        return settingsExt1_1;
    }

    if (type == static_cast<int>(::android::hardware::tv::tuner::V1_1::FrontendType::DTMB)) {
        getDtmbFrontendSettings(env, settings, settingsExt1_1);
    } else {
@@ -3220,7 +3225,8 @@ static jobject android_media_tv_Tuner_open_frontend_by_handle(
static int android_media_tv_Tuner_tune(JNIEnv *env, jobject thiz, jint type, jobject settings) {
    sp<JTuner> tuner = getTuner(env, thiz);
    FrontendSettings setting = getFrontendSettings(env, type, settings);
    FrontendSettingsExt1_1 settingExt = getFrontendSettingsExt1_1(env, type, settings);
    FrontendSettingsExt1_1 settingExt = getFrontendSettingsExt1_1(
            env, type, settings, tuner->getTunerVersion());
    return tuner->tune(setting, settingExt);
}

@@ -3233,7 +3239,8 @@ static int android_media_tv_Tuner_scan(
        JNIEnv *env, jobject thiz, jint settingsType, jobject settings, jint scanType) {
    sp<JTuner> tuner = getTuner(env, thiz);
    FrontendSettings setting = getFrontendSettings(env, settingsType, settings);
    FrontendSettingsExt1_1 settingExt = getFrontendSettingsExt1_1(env, settingsType, settings);
    FrontendSettingsExt1_1 settingExt = getFrontendSettingsExt1_1(
            env, settingsType, settings, tuner->getTunerVersion());
    return tuner->scan(setting, static_cast<FrontendScanType>(scanType), settingExt);
}

+2 −0
Original line number Diff line number Diff line
@@ -73,6 +73,8 @@ using ::android::hardware::tv::tuner::V1_1::FrontendScanMessageTypeExt1_1;

using MQ = MessageQueue<uint8_t, kSynchronizedReadWrite>;

const static int TUNER_VERSION_1_1 = ((1 << 16) | 1);

namespace android {

struct LnbClientCallbackImpl : public LnbClientCallback {
+3 −3
Original line number Diff line number Diff line
@@ -596,11 +596,11 @@ TunerFilterSectionSettings FilterClient::getAidlSectionSettings(
            sectionBits.mask.resize(hidlSectionBits.mask.size());
            sectionBits.mode.resize(hidlSectionBits.mode.size());
            copy(hidlSectionBits.filter.begin(), hidlSectionBits.filter.end(),
                    hidlSectionBits.filter.begin());
                    sectionBits.filter.begin());
            copy(hidlSectionBits.mask.begin(), hidlSectionBits.mask.end(),
                    hidlSectionBits.mask.begin());
                    sectionBits.mask.begin());
            copy(hidlSectionBits.mode.begin(), hidlSectionBits.mode.end(),
                    hidlSectionBits.mode.begin());
                    sectionBits.mode.begin());
            aidlSection.condition.set<TunerFilterSectionCondition::sectionBits>(sectionBits);
            break;
        }