Merge "Release resource before send MSG_RESOURCE_LOST message to TIS" am: eb709b6d88

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1536908

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6f7ab757dcbd7c7d117e8a28b3414fc5554399e9
This commit is contained in:
Treehugger Robot
2020-12-30 11:55:46 +00:00
committed by Automerger Merge Worker

View File

@@ -362,6 +362,11 @@ public class Tuner implements AutoCloseable {
*/ */
@Override @Override
public void close() { public void close() {
releaseAll();
TunerUtils.throwExceptionForResult(nativeClose(), "failed to close tuner");
}
private void releaseAll() {
if (mFrontendHandle != null) { if (mFrontendHandle != null) {
int res = nativeCloseFrontend(mFrontendHandle); int res = nativeCloseFrontend(mFrontendHandle);
if (res != Tuner.RESULT_SUCCESS) { if (res != Tuner.RESULT_SUCCESS) {
@@ -396,9 +401,9 @@ public class Tuner implements AutoCloseable {
TunerUtils.throwExceptionForResult(res, "failed to close demux"); TunerUtils.throwExceptionForResult(res, "failed to close demux");
} }
mTunerResourceManager.releaseDemux(mDemuxHandle, mClientId); mTunerResourceManager.releaseDemux(mDemuxHandle, mClientId);
mFrontendHandle = null; mDemuxHandle = null;
} }
TunerUtils.throwExceptionForResult(nativeClose(), "failed to close tuner");
} }
/** /**
@@ -495,6 +500,7 @@ public class Tuner implements AutoCloseable {
break; break;
} }
case MSG_RESOURCE_LOST: { case MSG_RESOURCE_LOST: {
releaseAll();
if (mOnResourceLostListener != null if (mOnResourceLostListener != null
&& mOnResourceLostListenerExecutor != null) { && mOnResourceLostListenerExecutor != null) {
mOnResourceLostListenerExecutor.execute( mOnResourceLostListenerExecutor.execute(