Catch RemoteAnimationTarget.rotationChange (#3776)

This commit is contained in:
Goooler
2023-11-27 10:42:32 +08:00
committed by GitHub
parent 5df11142ea
commit 2c8539c8f0
2 changed files with 12 additions and 5 deletions
@@ -1273,8 +1273,11 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
private static int getRotationChange(RemoteAnimationTarget[] appTargets) {
int rotationChange = 0;
for (RemoteAnimationTarget target : appTargets) {
if (Math.abs(target.rotationChange) > Math.abs(rotationChange)) {
rotationChange = target.rotationChange;
try {
if (Math.abs(target.rotationChange) > Math.abs(rotationChange)) {
rotationChange = target.rotationChange;
}
} catch (NoSuchFieldError ignored) {
}
}
return rotationChange;
@@ -1576,12 +1576,16 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, Q extends
private int calculateWindowRotation(RemoteAnimationTarget runningTaskTarget,
RecentsOrientedState orientationState) {
if (runningTaskTarget.rotationChange != 0
try {
if (runningTaskTarget.rotationChange != 0
&& TaskAnimationManager.ENABLE_SHELL_TRANSITIONS) {
return Math.abs(runningTaskTarget.rotationChange) == ROTATION_90
return Math.abs(runningTaskTarget.rotationChange) == ROTATION_90
? ROTATION_270
: ROTATION_90;
} else {
} else {
return orientationState.getDisplayRotation();
}
} catch (NoSuchFieldError ignored) {
return orientationState.getDisplayRotation();
}
}