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);