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

Commit 4e0993c6 authored by Hongguang Chen's avatar Hongguang Chen Committed by Android (Google) Code Review
Browse files

Merge "Release locks when closing."

parents 3ac5ef49 2eebb7dd
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -52,10 +52,10 @@ public final class SharedFilter implements AutoCloseable {
    private long mNativeContext;
    private SharedFilterCallback mCallback;
    private Executor mExecutor;
    private final Object mCallbackLock = new Object();
    private Object mCallbackLock = null;
    private boolean mIsClosed = false;
    private boolean mIsAccessible = true;
    private final Object mLock = new Object();
    private Object mLock = null;

    private native int nativeStartSharedFilter();
    private native int nativeStopSharedFilter();
@@ -64,7 +64,10 @@ public final class SharedFilter implements AutoCloseable {
    private native int nativeSharedClose();

    // Called by JNI
    private SharedFilter() {}
    private SharedFilter() {
        mCallbackLock = new Object();
        mLock = new Object();
    }

    private void onFilterStatus(int status) {
        synchronized (mLock) {
@@ -199,10 +202,13 @@ public final class SharedFilter implements AutoCloseable {
            if (mIsClosed) {
                return;
            }
            synchronized (mCallbackLock) {
                mCallback = null;
                mExecutor = null;
            }
            nativeSharedClose();
            mIsClosed = true;
            mCallbackLock = null;
         }
    }
}