[1/n] Introduce dynamic bounds calculation to prevent letterboxing

When entering desktop windowing, applications should no longer be
letterboxed. This means scaling down apps in SCM for all unresizable
apps so intial bounds match scale of the fullscreen bounds. This removes
letterboxing while ensuring the apps layout is not disrupted.

For portrait resizable apps when the device is in landscape, the height
of the initial bounds will match the desired app height for desktopmode
while the width will remain from the apps fullscreen width.

For landscape resizable apps when the device is portrait, the fullscreen
height of the app will be preserved while the width will be set to a
custom value.

Fixes: 325250852
Bug: 319820230
Bug: 324378380
Test: atest WMShellUnitTests:DesktopTasksControllerTesti
Change-Id: I43b5cacecf1505a670ccf31b9483ac35edc50a7f
6 files changed