Merge "Apply syncPipSurfaceState synchronously" into udc-dev

This commit is contained in:
Hongwei Wang
2023-06-20 23:08:44 +00:00
committed by Android (Google) Code Review

View File

@@ -609,19 +609,15 @@ public class DefaultMixedHandler implements Transitions.TransitionHandler,
}
};
mixed.mInFlightSubAnimations++;
// Sync pip state.
if (mPipHandler != null) {
mPipHandler.syncPipSurfaceState(info, startTransaction, finishTransaction);
}
if (!mKeyguardHandler.startAnimation(
mixed.mTransition, info, startTransaction, finishTransaction, finishCB)) {
mixed.mInFlightSubAnimations--;
return false;
}
// Sync pip state.
if (mPipHandler != null) {
// We don't know when to apply `startTransaction` so use a separate transaction here.
// This should be fine because these surface properties are independent.
final SurfaceControl.Transaction t = new SurfaceControl.Transaction();
mPipHandler.syncPipSurfaceState(info, t, finishTransaction);
t.apply();
}
return true;
}
@@ -637,19 +633,12 @@ public class DefaultMixedHandler implements Transitions.TransitionHandler,
finishCallback.onTransitionFinished(wct, wctCB);
};
mixed.mInFlightSubAnimations = 1;
if (!mUnfoldHandler.startAnimation(
mixed.mTransition, info, startTransaction, finishTransaction, finishCB)) {
return false;
}
// Sync pip state.
if (mPipHandler != null) {
// We don't know when to apply `startTransaction` so use a separate transaction here.
// This should be fine because these surface properties are independent.
final SurfaceControl.Transaction t = new SurfaceControl.Transaction();
mPipHandler.syncPipSurfaceState(info, t, finishTransaction);
t.apply();
mPipHandler.syncPipSurfaceState(info, startTransaction, finishTransaction);
}
return true;
return mUnfoldHandler.startAnimation(
mixed.mTransition, info, startTransaction, finishTransaction, finishCB);
}
/** Use to when split use intent to enter, check if this enter transition should be mixed or