Merge "Fix Invalid Surface error" into main
This commit is contained in:
@@ -62,6 +62,8 @@ import java.util.function.Supplier;
|
|||||||
*/
|
*/
|
||||||
class SurfaceAnimationRunner {
|
class SurfaceAnimationRunner {
|
||||||
|
|
||||||
|
private static final String TAG = SurfaceAnimationRunner.class.getSimpleName();
|
||||||
|
|
||||||
private final Object mLock = new Object();
|
private final Object mLock = new Object();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -185,6 +187,16 @@ class SurfaceAnimationRunner {
|
|||||||
// We must wait for t to be committed since otherwise the leash doesn't have the
|
// We must wait for t to be committed since otherwise the leash doesn't have the
|
||||||
// windows we want to screenshot and extend as children.
|
// windows we want to screenshot and extend as children.
|
||||||
t.addTransactionCommittedListener(mEdgeExtensionExecutor, () -> {
|
t.addTransactionCommittedListener(mEdgeExtensionExecutor, () -> {
|
||||||
|
if (!animationLeash.isValid()) {
|
||||||
|
Log.e(TAG, "Animation leash is not valid");
|
||||||
|
synchronized (mEdgeExtensionLock) {
|
||||||
|
mEdgeExtensions.remove(animationLeash);
|
||||||
|
}
|
||||||
|
synchronized (mLock) {
|
||||||
|
mPreProcessingAnimations.remove(animationLeash);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
final WindowAnimationSpec animationSpec = a.asWindowAnimationSpec();
|
final WindowAnimationSpec animationSpec = a.asWindowAnimationSpec();
|
||||||
|
|
||||||
final Transaction edgeExtensionCreationTransaction = new Transaction();
|
final Transaction edgeExtensionCreationTransaction = new Transaction();
|
||||||
@@ -449,8 +461,7 @@ class SurfaceAnimationRunner {
|
|||||||
// The leash we are trying to screenshot may have been removed by this point, which is
|
// The leash we are trying to screenshot may have been removed by this point, which is
|
||||||
// likely the reason for ending up with a null edgeBuffer, in which case we just want to
|
// likely the reason for ending up with a null edgeBuffer, in which case we just want to
|
||||||
// return and do nothing.
|
// return and do nothing.
|
||||||
Log.e("SurfaceAnimationRunner", "Failed to create edge extension - "
|
Log.e(TAG, "Failed to create edge extension - edge buffer is null");
|
||||||
+ "edge buffer is null");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user