Skip to content
Commit e47501bc authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Consolidate size compat bounds calculation

- Since hierarchy was merged, the compat bounds can be computed
  in a single place resolveSizeCompatModeConfiguration().
- Originally, the horizontal centered bounds rely on mSizeCompatBounds
  to override getBounds(). Now mSizeCompatBounds is null unless the
  activity is scaled or its top insets cannot match parent. The centered
  bounds are calculated both on first startup and configuration changed.
- Encapsulate the raw compat bounds calculation to CompatDisplayInsets.
  And add support for the cases that display cannot rotatate or the
  orientation from descendant is ignored.
- Fix global coordinates are involved in size compat space, that causes
  the resolved bounds are intersected with insets unexpectedly. Now
  the actual screen position is applied at the last step of resolving.
- Fix TestDisplayContent uses inverted condition to toggle rotatable,
  which hides some test failures.
- Fix IME is shifted on a horizontal centered size compat activity.

Fix: 149760957
Bug: 146483215
Bug: 139656157
Test: atest SizeCompatTests TaskRecordTests

Change-Id: If4d52d85cd54414071fd320a5d06a78d78fb36f4
parent bed09965
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment