From 9296d15b2ca11e3a8f6b30aa8044c4e02f9c885c Mon Sep 17 00:00:00 2001 From: Sham Rathod Date: Wed, 2 Aug 2023 15:39:27 +0530 Subject: [PATCH] Tuner: Clean up frontend sharee resource before sharing another resource Before sharing another resource in shareFrontendFromTuner method Clean up old frontend sharee. Test: cts-tradefed run commandAndExit cts -m CtsTvTestCases -t android.media.tv.tuner.cts.TunerTest Bug: 284386302 Change-Id: I606de9f4a95923183d0e2e94a8e73f9c0ed5df43 --- media/java/android/media/tv/tuner/Tuner.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java index 13f7ee6e8c8be..e6bcc95fd1b56 100644 --- a/media/java/android/media/tv/tuner/Tuner.java +++ b/media/java/android/media/tv/tuner/Tuner.java @@ -443,6 +443,12 @@ public class Tuner implements AutoCloseable { acquireTRMSLock("shareFrontendFromTuner()"); mFrontendLock.lock(); try { + if (mFeOwnerTuner != null) { + // unregister self from the Frontend callback + mFeOwnerTuner.unregisterFrontendCallbackListener(this); + mFeOwnerTuner = null; + nativeUnshareFrontend(); + } mTunerResourceManager.shareFrontend(mClientId, tuner.mClientId); mFeOwnerTuner = tuner; mFeOwnerTuner.registerFrontendCallbackListener(this);