Test: manual
Fixes: 160544577
Launcher flickers if it is locked on portrait, then unlocked on seascape. DisplayController.Info was consistenly being updated late causing launcher to unlock in lanscape then switching to seascape with enough frames in-between for the user to notice. Updated DisplayController to properly update its rotation info and updated DeviceProfile to force an info update when checking if the device is in seascape orientation.
demo: https://drive.google.com/file/d/1JBCvK3brLwOSTC4k56GSxeYozl5x0k7X/view?usp=sharing
Change-Id: Idce139f0e16cb686684c0d3a460c4ec9e5ae466a
- This is a workaround of b/163815566, where DisplayMetrics is stale
when onDisplayChanged is called.
- Instead of relying on stale DisplayConext, get the DisplayMetrics
from the Display directly.
- Also optimized how DisplayController.Info is created by passing in
Display only
- Use mDisplayContext.getDisplay directly if availalbe
Bug: 163815566, 160544577
Test: DPI looks correct on device boot
Change-Id: I2a7454bb8cf2073ce592e8662781b87fc998444f
(cherry picked from commit 177c38243dc3bf245d1f7db3c265dfb56522f441)