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

Commit 93d480ca 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 am: 1b42f73a

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I66e53b800b259f49cc38b814fdd00f0c0765342a
parents 0a9f4b4f 1b42f73a
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,