Loading api/system-current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -6144,6 +6144,7 @@ package android.media.tv.tuner.frontend { method public int getPer(); method public int getPerBer(); method public int getPlpId(); method public int getRollOff(); method public int getSignalQuality(); method public int getSignalStrength(); method public int getSnr(); Loading @@ -6155,8 +6156,11 @@ package android.media.tv.tuner.frontend { method public int getUec(); method public boolean isDemodLocked(); method public boolean isEwbs(); method public boolean isLinear(); method public boolean isLnaOn(); method public boolean isMisoEnabled(); method public boolean isRfLocked(); method public boolean isShortFramesEnabled(); field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15 field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19 Loading @@ -6171,6 +6175,9 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13 field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23 field public static final int FRONTEND_STATUS_TYPE_IS_MISO = 34; // 0x22 field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES = 36; // 0x24 field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10 field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb Loading @@ -6181,6 +6188,7 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4 field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14 field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21 field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5 field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6 field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1 Loading core/api/system-current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -6084,6 +6084,7 @@ package android.media.tv.tuner.frontend { method public int getPer(); method public int getPerBer(); method public int getPlpId(); method public int getRollOff(); method public int getSignalQuality(); method public int getSignalStrength(); method public int getSnr(); Loading @@ -6095,8 +6096,11 @@ package android.media.tv.tuner.frontend { method public int getUec(); method public boolean isDemodLocked(); method public boolean isEwbs(); method public boolean isLinear(); method public boolean isLnaOn(); method public boolean isMisoEnabled(); method public boolean isRfLocked(); method public boolean isShortFramesEnabled(); field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15 field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19 Loading @@ -6111,6 +6115,9 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13 field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23 field public static final int FRONTEND_STATUS_TYPE_IS_MISO = 34; // 0x22 field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES = 36; // 0x24 field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10 field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb Loading @@ -6121,6 +6128,7 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4 field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14 field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21 field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5 field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6 field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1 Loading media/java/android/media/tv/tuner/frontend/FrontendStatus.java +104 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,9 @@ public class FrontendStatus { FRONTEND_STATUS_TYPE_TRANSMISSION_MODE, FRONTEND_STATUS_TYPE_UEC, FRONTEND_STATUS_TYPE_T2_SYSTEM_ID, FRONTEND_STATUS_TYPE_INTERLEAVINGS, FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS, FRONTEND_STATUS_TYPE_TS_DATA_RATES, FRONTEND_STATUS_TYPE_MODULATIONS_EXT}) FRONTEND_STATUS_TYPE_MODULATIONS_EXT, FRONTEND_STATUS_TYPE_ROLL_OFF, FRONTEND_STATUS_TYPE_IS_MISO, FRONTEND_STATUS_TYPE_IS_LINEAR, FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES}) @Retention(RetentionPolicy.SOURCE) public @interface FrontendStatusType {} Loading Loading @@ -207,6 +209,26 @@ public class FrontendStatus { */ public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.MODULATIONS; /** * Roll Off Type status of the frontend. Only supported in Tuner HAL 1.1 or higher. */ public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.ROLL_OFF; /** * If the frontend currently supports MISO or not. Only supported in Tuner HAL 1.1 or higher. */ public static final int FRONTEND_STATUS_TYPE_IS_MISO = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.IS_MISO; /** * If the frontend code rate is linear or not. Only supported in Tuner HAL 1.1 or higher. */ public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.IS_LINEAR; /** * If short frames is enabled or not. Only supported in Tuner HAL 1.1 or higher. */ public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.IS_SHORT_FRAMES; /** @hide */ @IntDef(value = { Loading Loading @@ -378,6 +400,22 @@ public class FrontendStatus { @Retention(RetentionPolicy.SOURCE) public @interface FrontendGuardInterval {} /** @hide */ @IntDef(value = { DvbsFrontendSettings.ROLLOFF_UNDEFINED, DvbsFrontendSettings.ROLLOFF_0_35, DvbsFrontendSettings.ROLLOFF_0_25, DvbsFrontendSettings.ROLLOFF_0_20, DvbsFrontendSettings.ROLLOFF_0_15, DvbsFrontendSettings.ROLLOFF_0_10, DvbsFrontendSettings.ROLLOFF_0_5, Isdbs3FrontendSettings.ROLLOFF_UNDEFINED, Isdbs3FrontendSettings.ROLLOFF_0_03, IsdbsFrontendSettings.ROLLOFF_UNDEFINED, IsdbsFrontendSettings.ROLLOFF_0_35}) @Retention(RetentionPolicy.SOURCE) public @interface FrontendRollOff {} private Boolean mIsDemodLocked; private Integer mSnr; private Integer mBer; Loading Loading @@ -411,6 +449,10 @@ public class FrontendStatus { private int[] mTsDataRate; private int[] mIsdbtSegment; private int[] mModulationsExt; private Integer mRollOff; private Boolean mIsMisoEnabled; private Boolean mIsLinear; private Boolean mIsShortFrames; // Constructed and fields set by JNI code. Loading Loading @@ -809,6 +851,67 @@ public class FrontendStatus { return mModulationsExt; } /** * Gets roll off status. * * <p>This status query is only supported by Tuner HAL 1.1 or higher. Use * {@link TunerVersionChecker.getTunerVersion()} to check the version. */ @FrontendRollOff public int getRollOff() { TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "getRollOff status"); if (mRollOff == null) { throw new IllegalStateException(); } return mRollOff; } /** * Gets is MISO enabled status. * * <p>This status query is only supported by Tuner HAL 1.1 or higher. Use * {@link TunerVersionChecker.getTunerVersion()} to check the version. */ public boolean isMisoEnabled() { TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "isMisoEnabled status"); if (mIsMisoEnabled == null) { throw new IllegalStateException(); } return mIsMisoEnabled; } /** * Gets is the Code Rate of the frontend is linear or not status. * * <p>This status query is only supported by Tuner HAL 1.1 or higher. Use * {@link TunerVersionChecker.getTunerVersion()} to check the version. */ public boolean isLinear() { TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "isLinear status"); if (mIsLinear == null) { throw new IllegalStateException(); } return mIsLinear; } /** * Gets is the Short Frames enabled or not status. * * <p>This status query is only supported by Tuner HAL 1.1 or higher. Use * {@link TunerVersionChecker.getTunerVersion()} to check the version. */ public boolean isShortFramesEnabled() { TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "isShortFramesEnabled status"); if (mIsShortFrames == null) { throw new IllegalStateException(); } return mIsShortFrames; } /** * Status for each tuning Physical Layer Pipes. */ Loading media/jni/android_media_tv_Tuner.cpp +51 −1 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ using ::android::hardware::tv::tuner::V1_1::FrontendDtmbTransmissionMode; using ::android::hardware::tv::tuner::V1_1::FrontendGuardInterval; using ::android::hardware::tv::tuner::V1_1::FrontendInterleaveMode; using ::android::hardware::tv::tuner::V1_1::FrontendModulation; using ::android::hardware::tv::tuner::V1_1::FrontendRollOff; using ::android::hardware::tv::tuner::V1_1::FrontendSpectralInversion; using ::android::hardware::tv::tuner::V1_1::FrontendStatusExt1_1; using ::android::hardware::tv::tuner::V1_1::FrontendStatusTypeExt1_1; Loading Loading @@ -2476,6 +2477,55 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetObjectField(statusObj, field, valObj); break; } case FrontendStatusExt1_1::hidl_discriminator::rollOff: { jfieldID field = env->GetFieldID(clazz, "mRollOff", "Ljava/lang/Integer;"); auto rollOff = s.rollOff(); jint intRollOff; bool valid = true; switch(rollOff.getDiscriminator()) { case FrontendRollOff::hidl_discriminator::dvbs: { intRollOff = static_cast<jint>(rollOff.dvbs()); break; } case FrontendRollOff::hidl_discriminator::isdbs: { intRollOff = static_cast<jint>(rollOff.isdbs()); break; } case FrontendRollOff::hidl_discriminator::isdbs3: { intRollOff = static_cast<jint>(rollOff.isdbs3()); break; } default: valid = false; break; } if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intRollOff); env->SetObjectField(statusObj, field, newIntegerObj); } break; } case FrontendStatusExt1_1::hidl_discriminator::isMiso: { jfieldID field = env->GetFieldID(clazz, "mIsMisoEnabled", "Ljava/lang/Boolean;"); jobject newBooleanObj = env->NewObject( booleanClazz, initBoolean, static_cast<jboolean>(s.isMiso())); env->SetObjectField(statusObj, field, newBooleanObj); break; } case FrontendStatusExt1_1::hidl_discriminator::isLinear: { jfieldID field = env->GetFieldID(clazz, "mIsLinear", "Ljava/lang/Boolean;"); jobject newBooleanObj = env->NewObject( booleanClazz, initBoolean, static_cast<jboolean>(s.isLinear())); env->SetObjectField(statusObj, field, newBooleanObj); break; } case FrontendStatusExt1_1::hidl_discriminator::isShortFrames: { jfieldID field = env->GetFieldID(clazz, "mIsShortFrames", "Ljava/lang/Boolean;"); jobject newBooleanObj = env->NewObject( booleanClazz, initBoolean, static_cast<jboolean>(s.isShortFrames())); env->SetObjectField(statusObj, field, newBooleanObj); break; } default: { break; } Loading @@ -2486,7 +2536,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { bool JTuner::isV1_1ExtendedStatusType(int type) { return (type > static_cast<int>(FrontendStatusType::ATSC3_PLP_INFO) && type <= static_cast<int>(FrontendStatusTypeExt1_1::TS_DATA_RATES)); && type <= static_cast<int>(FrontendStatusTypeExt1_1::IS_SHORT_FRAMES)); } jint JTuner::closeFrontend() { Loading Loading
api/system-current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -6144,6 +6144,7 @@ package android.media.tv.tuner.frontend { method public int getPer(); method public int getPerBer(); method public int getPlpId(); method public int getRollOff(); method public int getSignalQuality(); method public int getSignalStrength(); method public int getSnr(); Loading @@ -6155,8 +6156,11 @@ package android.media.tv.tuner.frontend { method public int getUec(); method public boolean isDemodLocked(); method public boolean isEwbs(); method public boolean isLinear(); method public boolean isLnaOn(); method public boolean isMisoEnabled(); method public boolean isRfLocked(); method public boolean isShortFramesEnabled(); field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15 field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19 Loading @@ -6171,6 +6175,9 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13 field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23 field public static final int FRONTEND_STATUS_TYPE_IS_MISO = 34; // 0x22 field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES = 36; // 0x24 field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10 field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb Loading @@ -6181,6 +6188,7 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4 field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14 field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21 field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5 field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6 field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1 Loading
core/api/system-current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -6084,6 +6084,7 @@ package android.media.tv.tuner.frontend { method public int getPer(); method public int getPerBer(); method public int getPlpId(); method public int getRollOff(); method public int getSignalQuality(); method public int getSignalStrength(); method public int getSnr(); Loading @@ -6095,8 +6096,11 @@ package android.media.tv.tuner.frontend { method public int getUec(); method public boolean isDemodLocked(); method public boolean isEwbs(); method public boolean isLinear(); method public boolean isLnaOn(); method public boolean isMisoEnabled(); method public boolean isRfLocked(); method public boolean isShortFramesEnabled(); field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15 field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19 Loading @@ -6111,6 +6115,9 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13 field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23 field public static final int FRONTEND_STATUS_TYPE_IS_MISO = 34; // 0x22 field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES = 36; // 0x24 field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10 field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb Loading @@ -6121,6 +6128,7 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4 field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14 field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21 field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5 field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6 field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1 Loading
media/java/android/media/tv/tuner/frontend/FrontendStatus.java +104 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,9 @@ public class FrontendStatus { FRONTEND_STATUS_TYPE_TRANSMISSION_MODE, FRONTEND_STATUS_TYPE_UEC, FRONTEND_STATUS_TYPE_T2_SYSTEM_ID, FRONTEND_STATUS_TYPE_INTERLEAVINGS, FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS, FRONTEND_STATUS_TYPE_TS_DATA_RATES, FRONTEND_STATUS_TYPE_MODULATIONS_EXT}) FRONTEND_STATUS_TYPE_MODULATIONS_EXT, FRONTEND_STATUS_TYPE_ROLL_OFF, FRONTEND_STATUS_TYPE_IS_MISO, FRONTEND_STATUS_TYPE_IS_LINEAR, FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES}) @Retention(RetentionPolicy.SOURCE) public @interface FrontendStatusType {} Loading Loading @@ -207,6 +209,26 @@ public class FrontendStatus { */ public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.MODULATIONS; /** * Roll Off Type status of the frontend. Only supported in Tuner HAL 1.1 or higher. */ public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.ROLL_OFF; /** * If the frontend currently supports MISO or not. Only supported in Tuner HAL 1.1 or higher. */ public static final int FRONTEND_STATUS_TYPE_IS_MISO = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.IS_MISO; /** * If the frontend code rate is linear or not. Only supported in Tuner HAL 1.1 or higher. */ public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.IS_LINEAR; /** * If short frames is enabled or not. Only supported in Tuner HAL 1.1 or higher. */ public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES = android.hardware.tv.tuner.V1_1.Constants.FrontendStatusTypeExt1_1.IS_SHORT_FRAMES; /** @hide */ @IntDef(value = { Loading Loading @@ -378,6 +400,22 @@ public class FrontendStatus { @Retention(RetentionPolicy.SOURCE) public @interface FrontendGuardInterval {} /** @hide */ @IntDef(value = { DvbsFrontendSettings.ROLLOFF_UNDEFINED, DvbsFrontendSettings.ROLLOFF_0_35, DvbsFrontendSettings.ROLLOFF_0_25, DvbsFrontendSettings.ROLLOFF_0_20, DvbsFrontendSettings.ROLLOFF_0_15, DvbsFrontendSettings.ROLLOFF_0_10, DvbsFrontendSettings.ROLLOFF_0_5, Isdbs3FrontendSettings.ROLLOFF_UNDEFINED, Isdbs3FrontendSettings.ROLLOFF_0_03, IsdbsFrontendSettings.ROLLOFF_UNDEFINED, IsdbsFrontendSettings.ROLLOFF_0_35}) @Retention(RetentionPolicy.SOURCE) public @interface FrontendRollOff {} private Boolean mIsDemodLocked; private Integer mSnr; private Integer mBer; Loading Loading @@ -411,6 +449,10 @@ public class FrontendStatus { private int[] mTsDataRate; private int[] mIsdbtSegment; private int[] mModulationsExt; private Integer mRollOff; private Boolean mIsMisoEnabled; private Boolean mIsLinear; private Boolean mIsShortFrames; // Constructed and fields set by JNI code. Loading Loading @@ -809,6 +851,67 @@ public class FrontendStatus { return mModulationsExt; } /** * Gets roll off status. * * <p>This status query is only supported by Tuner HAL 1.1 or higher. Use * {@link TunerVersionChecker.getTunerVersion()} to check the version. */ @FrontendRollOff public int getRollOff() { TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "getRollOff status"); if (mRollOff == null) { throw new IllegalStateException(); } return mRollOff; } /** * Gets is MISO enabled status. * * <p>This status query is only supported by Tuner HAL 1.1 or higher. Use * {@link TunerVersionChecker.getTunerVersion()} to check the version. */ public boolean isMisoEnabled() { TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "isMisoEnabled status"); if (mIsMisoEnabled == null) { throw new IllegalStateException(); } return mIsMisoEnabled; } /** * Gets is the Code Rate of the frontend is linear or not status. * * <p>This status query is only supported by Tuner HAL 1.1 or higher. Use * {@link TunerVersionChecker.getTunerVersion()} to check the version. */ public boolean isLinear() { TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "isLinear status"); if (mIsLinear == null) { throw new IllegalStateException(); } return mIsLinear; } /** * Gets is the Short Frames enabled or not status. * * <p>This status query is only supported by Tuner HAL 1.1 or higher. Use * {@link TunerVersionChecker.getTunerVersion()} to check the version. */ public boolean isShortFramesEnabled() { TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "isShortFramesEnabled status"); if (mIsShortFrames == null) { throw new IllegalStateException(); } return mIsShortFrames; } /** * Status for each tuning Physical Layer Pipes. */ Loading
media/jni/android_media_tv_Tuner.cpp +51 −1 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ using ::android::hardware::tv::tuner::V1_1::FrontendDtmbTransmissionMode; using ::android::hardware::tv::tuner::V1_1::FrontendGuardInterval; using ::android::hardware::tv::tuner::V1_1::FrontendInterleaveMode; using ::android::hardware::tv::tuner::V1_1::FrontendModulation; using ::android::hardware::tv::tuner::V1_1::FrontendRollOff; using ::android::hardware::tv::tuner::V1_1::FrontendSpectralInversion; using ::android::hardware::tv::tuner::V1_1::FrontendStatusExt1_1; using ::android::hardware::tv::tuner::V1_1::FrontendStatusTypeExt1_1; Loading Loading @@ -2476,6 +2477,55 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetObjectField(statusObj, field, valObj); break; } case FrontendStatusExt1_1::hidl_discriminator::rollOff: { jfieldID field = env->GetFieldID(clazz, "mRollOff", "Ljava/lang/Integer;"); auto rollOff = s.rollOff(); jint intRollOff; bool valid = true; switch(rollOff.getDiscriminator()) { case FrontendRollOff::hidl_discriminator::dvbs: { intRollOff = static_cast<jint>(rollOff.dvbs()); break; } case FrontendRollOff::hidl_discriminator::isdbs: { intRollOff = static_cast<jint>(rollOff.isdbs()); break; } case FrontendRollOff::hidl_discriminator::isdbs3: { intRollOff = static_cast<jint>(rollOff.isdbs3()); break; } default: valid = false; break; } if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intRollOff); env->SetObjectField(statusObj, field, newIntegerObj); } break; } case FrontendStatusExt1_1::hidl_discriminator::isMiso: { jfieldID field = env->GetFieldID(clazz, "mIsMisoEnabled", "Ljava/lang/Boolean;"); jobject newBooleanObj = env->NewObject( booleanClazz, initBoolean, static_cast<jboolean>(s.isMiso())); env->SetObjectField(statusObj, field, newBooleanObj); break; } case FrontendStatusExt1_1::hidl_discriminator::isLinear: { jfieldID field = env->GetFieldID(clazz, "mIsLinear", "Ljava/lang/Boolean;"); jobject newBooleanObj = env->NewObject( booleanClazz, initBoolean, static_cast<jboolean>(s.isLinear())); env->SetObjectField(statusObj, field, newBooleanObj); break; } case FrontendStatusExt1_1::hidl_discriminator::isShortFrames: { jfieldID field = env->GetFieldID(clazz, "mIsShortFrames", "Ljava/lang/Boolean;"); jobject newBooleanObj = env->NewObject( booleanClazz, initBoolean, static_cast<jboolean>(s.isShortFrames())); env->SetObjectField(statusObj, field, newBooleanObj); break; } default: { break; } Loading @@ -2486,7 +2536,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { bool JTuner::isV1_1ExtendedStatusType(int type) { return (type > static_cast<int>(FrontendStatusType::ATSC3_PLP_INFO) && type <= static_cast<int>(FrontendStatusTypeExt1_1::TS_DATA_RATES)); && type <= static_cast<int>(FrontendStatusTypeExt1_1::IS_SHORT_FRAMES)); } jint JTuner::closeFrontend() { Loading