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

Commit 037fa18f authored by Winson Chung's avatar Winson Chung Committed by Automerger Merge Worker
Browse files

Merge "Couple tweaks for surface control registry" into udc-dev am: 2ba4c12b am: 812f43f3

parents 050716f7 812f43f3
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -786,8 +786,12 @@ public final class SurfaceControl implements Parcelable {
            mReleaseStack = null;
        }
        setUnreleasedWarningCallSite(callsite);
        if (nativeObject != 0) {
            // Only add valid surface controls to the registry. This is called at the end of this
            // method since its information is dumped if the process threshold is reached.
            addToRegistry();
        }
    }

    /**
     * @hide
@@ -893,6 +897,10 @@ public final class SurfaceControl implements Parcelable {
                        "Only buffer layers can set a valid buffer size.");
            }

            if (mName == null) {
                Log.w(TAG, "Missing name for SurfaceControl", new Throwable());
            }

            if ((mFlags & FX_SURFACE_MASK) == FX_SURFACE_NORMAL) {
                setBLASTLayer();
            }
@@ -1254,6 +1262,9 @@ public final class SurfaceControl implements Parcelable {
    }

    /**
     * Note: Most callers should use {@link SurfaceControl.Builder} or one of the other constructors
     *       to build an instance of a SurfaceControl. This constructor is mainly used for
     *       unparceling and passing into an AIDL call as an out parameter.
     * @hide
     */
    public SurfaceControl() {
@@ -2495,6 +2506,7 @@ public final class SurfaceControl implements Parcelable {
    public static SurfaceControl mirrorSurface(SurfaceControl mirrorOf) {
        long nativeObj = nativeMirrorSurface(mirrorOf.mNativeObject);
        SurfaceControl sc = new SurfaceControl();
        sc.mName = mirrorOf.mName + " (mirror)";
        sc.assignNativeObject(nativeObj, "mirrorSurface");
        return sc;
    }
+1 −2
Original line number Diff line number Diff line
@@ -171,8 +171,7 @@ public class SurfaceControlViewHost {
        public SurfacePackage(@NonNull SurfacePackage other) {
            SurfaceControl otherSurfaceControl = other.mSurfaceControl;
            if (otherSurfaceControl != null && otherSurfaceControl.isValid()) {
                mSurfaceControl = new SurfaceControl();
                mSurfaceControl.copyFrom(otherSurfaceControl, "SurfacePackage");
                mSurfaceControl = new SurfaceControl(otherSurfaceControl, "SurfacePackage");
            }
            mAccessibilityEmbeddedConnection = other.mAccessibilityEmbeddedConnection;
            mInputToken = other.mInputToken;
+12 −0
Original line number Diff line number Diff line
@@ -103,6 +103,18 @@ public class SurfaceControlRegistryTests {
        assertEquals(hash0, SurfaceControlRegistry.getProcessInstance().hashCode());
    }

    @Test
    public void testInvalidSurfaceControlNotAddedToRegistry() {
        int hash0 = SurfaceControlRegistry.getProcessInstance().hashCode();
        // Verify no changes to the registry when dealing with invalid surface controls
        SurfaceControl sc0 = new SurfaceControl();
        SurfaceControl sc1 = new SurfaceControl(sc0, "test");
        assertEquals(hash0, SurfaceControlRegistry.getProcessInstance().hashCode());
        sc0.release();
        sc1.release();
        assertEquals(hash0, SurfaceControlRegistry.getProcessInstance().hashCode());
    }

    @Test
    public void testThresholds() {
        SurfaceControlRegistry registry = SurfaceControlRegistry.getProcessInstance();
+2 −0
Original line number Diff line number Diff line
@@ -2249,8 +2249,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
            while (leashReference.getParent() != ancestor) {
                leashReference = leashReference.getParent();
            }

            final SurfaceControl rootLeash = leashReference.makeAnimationLeash().setName(
                    "Transition Root: " + leashReference.getName()).build();
            rootLeash.setUnreleasedWarningCallSite("Transition.calculateTransitionRoots");
            startT.setLayer(rootLeash, leashReference.getLastLayer());
            outInfo.addRootLeash(endDisplayId, rootLeash,
                    ancestor.getBounds().left, ancestor.getBounds().top);