diff --git a/api/system-current.txt b/api/system-current.txt index 87f3f4c655202..3c21676a874bf 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6346,6 +6346,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 eea50be6da1d7..65308da527768 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -6286,6 +6286,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 1be0d4439e693..e5bce337d89d2 100644 --- a/media/jni/android_media_tv_Tuner.cpp +++ b/media/jni/android_media_tv_Tuner.cpp @@ -1057,10 +1057,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; }