diff --git a/api/system-current.txt b/api/system-current.txt index 26d82060ac492..cf766a3fdb038 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6353,6 +6353,7 @@ package android.media.tv.tuner.frontend { public interface ScanCallback { method public void onAnalogSifStandardReported(int); method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]); + method public default void onDvbcAnnexReported(int); method public void onDvbsStandardReported(int); method public void onDvbtStandardReported(int); method public void onFrequenciesReported(@NonNull int[]); diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 8426f00f7c892..81a3e29df4ebe 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -6293,6 +6293,7 @@ package android.media.tv.tuner.frontend { public interface ScanCallback { method public void onAnalogSifStandardReported(int); method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]); + method public default void onDvbcAnnexReported(int); method public void onDvbsStandardReported(int); method public void onDvbtStandardReported(int); method public void onFrequenciesReported(@NonNull int[]); diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java index 1881e38a50100..6f8f23082554d 100644 --- a/media/java/android/media/tv/tuner/Tuner.java +++ b/media/java/android/media/tv/tuner/Tuner.java @@ -1062,6 +1062,13 @@ public class Tuner implements AutoCloseable { } } + private void onDvbcAnnexReported(int dvbcAnnex) { + if (mScanCallbackExecutor != null && mScanCallback != null) { + mScanCallbackExecutor.execute( + () -> mScanCallback.onDvbcAnnexReported(dvbcAnnex)); + } + } + /** * Opens a filter object based on the given types and buffer size. * diff --git a/media/java/android/media/tv/tuner/frontend/ScanCallback.java b/media/java/android/media/tv/tuner/frontend/ScanCallback.java index 9bf7a5dd40cb3..27627d7ad9682 100644 --- a/media/java/android/media/tv/tuner/frontend/ScanCallback.java +++ b/media/java/android/media/tv/tuner/frontend/ScanCallback.java @@ -75,4 +75,7 @@ public interface ScanCallback { /** Frontend scan message priority reported. */ default void onPriorityReported(boolean isHighPriority) {} + + /** DVBC Frontend Annex reported. */ + default void onDvbcAnnexReported(@DvbcFrontendSettings.Annex int dvbcAnnex) {} } diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp index 27e1992054591..7817fb88898a9 100644 --- a/media/jni/android_media_tv_Tuner.cpp +++ b/media/jni/android_media_tv_Tuner.cpp @@ -1058,10 +1058,18 @@ Return FrontendCallback::onScanMessageExt1_1(FrontendScanMessageTypeExt1_1 bool isHighPriority = message.isHighPriority(); env->CallVoidMethod( mObject, - env->GetMethodID(clazz, "onPriorityReported", "([B)V"), + env->GetMethodID(clazz, "onPriorityReported", "(B)V"), isHighPriority); break; } + case FrontendScanMessageTypeExt1_1::DVBC_ANNEX: { + jint dvbcAnnex = (jint) message.annex(); + env->CallVoidMethod( + mObject, + env->GetMethodID(clazz, "onDvbcAnnexReported", "(I)V"), + dvbcAnnex); + break; + } default: break; }