Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b42f73a authored by Henry Fang's avatar Henry Fang Committed by Automerger Merge Worker
Browse files

Merge "Don't open frontend device if it's a shared frontend" am: 8212f52f

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id1cc4d914efb70f7cdec2ca0f73b8e6e68c1bb20
parents c067dc99 8212f52f
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -211,6 +211,7 @@ public class Tuner implements AutoCloseable {
    @Nullable
    private FrontendInfo mFrontendInfo;
    private Integer mFrontendHandle;
    private Boolean mIsSharedFrontend = false;
    private int mFrontendType = FrontendSettings.TYPE_UNDEFINED;
    private int mUserId;
    private Lnb mLnb;
@@ -338,8 +339,11 @@ public class Tuner implements AutoCloseable {
     */
    public void shareFrontendFromTuner(@NonNull Tuner tuner) {
        mTunerResourceManager.shareFrontend(mClientId, tuner.mClientId);
        synchronized (mIsSharedFrontend) {
            mFrontendHandle = tuner.mFrontendHandle;
        mFrontend = nativeOpenFrontendByHandle(mFrontendHandle);
            mFrontend = tuner.mFrontend;
            mIsSharedFrontend = true;
        }
    }

    /**
@@ -370,10 +374,15 @@ public class Tuner implements AutoCloseable {

    private void releaseAll() {
        if (mFrontendHandle != null) {
            synchronized (mIsSharedFrontend) {
                if (!mIsSharedFrontend) {
                    int res = nativeCloseFrontend(mFrontendHandle);
                    if (res != Tuner.RESULT_SUCCESS) {
                        TunerUtils.throwExceptionForResult(res, "failed to close frontend");
                    }
                }
                mIsSharedFrontend = false;
            }
            mTunerResourceManager.releaseFrontend(mFrontendHandle, mClientId);
            FrameworkStatsLog
                    .write(FrameworkStatsLog.TV_TUNER_STATE_CHANGED, mUserId,