diff --git a/media/java/android/media/tv/tuner/filter/Filter.java b/media/java/android/media/tv/tuner/filter/Filter.java index a3e731b0ffa1a..d0973f4eb11f0 100644 --- a/media/java/android/media/tv/tuner/filter/Filter.java +++ b/media/java/android/media/tv/tuner/filter/Filter.java @@ -560,6 +560,11 @@ public class Filter implements AutoCloseable { */ @Override public void close() { + synchronized (mCallbackLock) { + mCallback = null; + mExecutor = null; + } + synchronized (mLock) { if (mIsClosed) { return; @@ -568,8 +573,6 @@ public class Filter implements AutoCloseable { if (res != Tuner.RESULT_SUCCESS) { TunerUtils.throwExceptionForResult(res, "Failed to close filter."); } else { - mCallback = null; - mExecutor = null; mIsStarted = false; mIsClosed = true; }