Merge "Couple tweaks for surface control registry" into udc-dev
This commit is contained in:
@@ -786,7 +786,11 @@ public final class SurfaceControl implements Parcelable {
|
||||
mReleaseStack = null;
|
||||
}
|
||||
setUnreleasedWarningCallSite(callsite);
|
||||
addToRegistry();
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user