WM: Fix Letterbox placement

The letterbox is still being placed as if there were
no surface hierarchy. It is now attached to the AppWindowToken,
and when that is not positioned at (0,0), the Letterbox is
placed at the wrong place.

Instead, we now keep track of where the Letterbox is attached
to the hierarchy and offset it accordingly.

Test: Put the phone in seascape, open a max aspect ratio activity, go home. Verify the wallpaper does not flicker though the letterbox.
Bug: 120129697
Change-Id: I16068c62c11c8a1f4814405c0340600397db3fd4
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index 8624bff..ca306aa 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -1702,7 +1702,8 @@
             if (mLetterbox == null) {
                 mLetterbox = new Letterbox(() -> makeChildSurface(null));
             }
-            mLetterbox.layout(getParent().getBounds(), w.getFrameLw());
+            getPosition(mTmpPoint);
+            mLetterbox.layout(getParent().getBounds(), w.getFrameLw(), mTmpPoint);
         } else if (mLetterbox != null) {
             mLetterbox.hide();
         }