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

Commit 5bcbc3e1 authored by lijilou's avatar lijilou Committed by Chris Li
Browse files

Removed unnecessary global lock for register/unregister capture observer method.

The registerScreenCaptureObserver and unregisterScreenCaptureObserver method have added the wms global lock,we do not need add lock in this two methods.

Bug: none
Flag: EXEMPT minor optimization
(cherry picked from https://android-review.googlesource.com/q/commit:a49dd8ea7fa41e2dc02c2dcaa28d63774d45994c)
Merged-In: I5db6342fa1a34f225200296d54539c36501b8d73
Change-Id: I5db6342fa1a34f225200296d54539c36501b8d73
parent 5220c50a
Loading
Loading
Loading
Loading
+8 −12
Original line number Original line Diff line number Diff line
@@ -6840,7 +6840,7 @@ final class ActivityRecord extends WindowToken {
        }
        }
    }
    }


    public void reportScreenCaptured() {
    void reportScreenCaptured() {
        if (mCaptureCallbacks != null) {
        if (mCaptureCallbacks != null) {
            final int n = mCaptureCallbacks.beginBroadcast();
            final int n = mCaptureCallbacks.beginBroadcast();
            for (int i = 0; i < n; i++) {
            for (int i = 0; i < n; i++) {
@@ -6854,22 +6854,18 @@ final class ActivityRecord extends WindowToken {
        }
        }
    }
    }


    public void registerCaptureObserver(IScreenCaptureObserver observer) {
    void registerCaptureObserver(IScreenCaptureObserver observer) {
        synchronized (mWmService.mGlobalLock) {
        if (mCaptureCallbacks == null) {
        if (mCaptureCallbacks == null) {
                mCaptureCallbacks = new RemoteCallbackList<IScreenCaptureObserver>();
            mCaptureCallbacks = new RemoteCallbackList<>();
        }
        }
        mCaptureCallbacks.register(observer);
        mCaptureCallbacks.register(observer);
    }
    }
    }


    public void unregisterCaptureObserver(IScreenCaptureObserver observer) {
    void unregisterCaptureObserver(IScreenCaptureObserver observer) {
        synchronized (mWmService.mGlobalLock) {
        if (mCaptureCallbacks != null) {
        if (mCaptureCallbacks != null) {
            mCaptureCallbacks.unregister(observer);
            mCaptureCallbacks.unregister(observer);
        }
        }
    }
    }
    }


    boolean isRegisteredForScreenCaptureCallback() {
    boolean isRegisteredForScreenCaptureCallback() {
        return mCaptureCallbacks != null && mCaptureCallbacks.getRegisteredCallbackCount() > 0;
        return mCaptureCallbacks != null && mCaptureCallbacks.getRegisteredCallbackCount() > 0;