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

Commit eda96cdf authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Correct use of PooledConsumer in WM package to recycle."

parents 828b6d02 f5f3f1b7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2257,7 +2257,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
     */
    boolean pointWithinAppWindow(int x, int y) {
        final int[] targetWindowType = {-1};
        final Consumer fn = PooledLambda.obtainConsumer((w, nonArg) -> {
        final PooledConsumer fn = PooledLambda.obtainConsumer((w, nonArg) -> {
            if (targetWindowType[0] != -1) {
                return;
            }
@@ -2268,7 +2268,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
            }
        }, PooledLambda.__(WindowState.class), mTmpRect);
        forAllWindows(fn, true /* traverseTopToBottom */);
        ((PooledConsumer) fn).recycle();
        fn.recycle();
        return FIRST_APPLICATION_WINDOW <= targetWindowType[0]
                        && targetWindowType[0] <= LAST_APPLICATION_WINDOW;
    }
+21 −10
Original line number Diff line number Diff line
@@ -260,6 +260,7 @@ import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastPrintWriter;
import com.android.internal.util.LatencyTracker;
import com.android.internal.util.Preconditions;
import com.android.internal.util.function.pooled.PooledConsumer;
import com.android.internal.util.function.pooled.PooledLambda;
import com.android.internal.view.WindowManagerPolicyThread;
import com.android.server.AnimationThread;
@@ -433,8 +434,10 @@ public class WindowManagerService extends IWindowManager.Stub
        public void onVrStateChanged(boolean enabled) {
            synchronized (mGlobalLock) {
                mVrModeEnabled = enabled;
                mRoot.forAllDisplayPolicies(PooledLambda.obtainConsumer(
                        DisplayPolicy::onVrStateChangedLw, PooledLambda.__(), enabled));
                final PooledConsumer c = PooledLambda.obtainConsumer(
                        DisplayPolicy::onVrStateChangedLw, PooledLambda.__(), enabled);
                mRoot.forAllDisplayPolicies(c);
                c.recycle();
            }
        }
    };
@@ -827,9 +830,11 @@ public class WindowManagerService extends IWindowManager.Stub
            }
            mPointerLocationEnabled = enablePointerLocation;
            synchronized (mGlobalLock) {
                mRoot.forAllDisplayPolicies(PooledLambda.obtainConsumer(
                final PooledConsumer c = PooledLambda.obtainConsumer(
                        DisplayPolicy::setPointerLocationEnabled, PooledLambda.__(),
                        mPointerLocationEnabled));
                        mPointerLocationEnabled);
                mRoot.forAllDisplayPolicies(c);
                c.recycle();
            }
        }

@@ -2797,8 +2802,10 @@ public class WindowManagerService extends IWindowManager.Stub

    @Override
    public void onPowerKeyDown(boolean isScreenOn) {
        mRoot.forAllDisplayPolicies(PooledLambda.obtainConsumer(
                DisplayPolicy::onPowerKeyDown, PooledLambda.__(), isScreenOn));
        final PooledConsumer c = PooledLambda.obtainConsumer(
                DisplayPolicy::onPowerKeyDown, PooledLambda.__(), isScreenOn);
        mRoot.forAllDisplayPolicies(c);
        c.recycle();
    }

    @Override
@@ -5623,8 +5630,10 @@ public class WindowManagerService extends IWindowManager.Stub
                    + android.Manifest.permission.STATUS_BAR);
        }
        synchronized (mGlobalLock) {
            mRoot.forAllDisplayPolicies(PooledLambda.obtainConsumer(
                    DisplayPolicy::setForceShowSystemBars, PooledLambda.__(), show));
            final PooledConsumer c = PooledLambda.obtainConsumer(
                    DisplayPolicy::setForceShowSystemBars, PooledLambda.__(), show);
            mRoot.forAllDisplayPolicies(c);
            c.recycle();
        }
    }

@@ -7564,8 +7573,10 @@ public class WindowManagerService extends IWindowManager.Stub
    void onLockTaskStateChanged(int lockTaskState) {
        // TODO: pass in displayId to determine which display the lock task state changed
        synchronized (mGlobalLock) {
            mRoot.forAllDisplayPolicies(PooledLambda.obtainConsumer(
                    DisplayPolicy::onLockTaskStateChangedLw, PooledLambda.__(), lockTaskState));
            final PooledConsumer c = PooledLambda.obtainConsumer(
                    DisplayPolicy::onLockTaskStateChangedLw, PooledLambda.__(), lockTaskState);
            mRoot.forAllDisplayPolicies(c);
            c.recycle();
        }
    }