WM: Consolidate seamless rotation logic

Replaces existing seamless rotation logic with the new forced seamless
rotator.

Bug: b/110763772, b/111504081

Test: go/wm-smoke
Test: atest FrameworksServicesTests:com.android.server.wm.WindowStateTests
Test: Build winscope with new proto changes, open new and old traces and verify data can be read correctly

Change-Id: I818d4ce66d8ff3ed268b5d43c6012398672bbfee
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 49638a9..a2dd679 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -1199,14 +1199,10 @@
         }
 
         forAllWindows(w -> {
-            w.forceSeamlesslyRotateIfAllowed(oldRotation, rotation);
+            w.seamlesslyRotateIfAllowed(getPendingTransaction(), oldRotation, rotation,
+                    rotateSeamlessly);
         }, true /* traverseTopToBottom */);
 
-        // TODO(b/111504081): Consolidate seamless rotation logic.
-        if (rotateSeamlessly) {
-            seamlesslyRotate(getPendingTransaction(), oldRotation, rotation);
-        }
-
         mService.mDisplayManagerInternal.performTraversal(getPendingTransaction());
         scheduleAnimation();