Check the current runtime orientation in updateCompatDisplayInsets
Right now we are checking the static runtime orientation from ActivityInfo in updateCompatDisplayInsets. This can be obsolete, so we need to start checking the current one from the most recent requested configuration. Fix: 264276741 Test: atest WmTests:ActivityRecordTests Test: atest WmTests:SizeCompatTests Change-Id: I0ef411c4eb67f539352d8dbf521a6b9672b47fcc
This commit is contained in:
@@ -8008,9 +8008,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
// The smallest screen width is the short side of screen bounds. Because the bounds
|
||||
// and density won't be changed, smallestScreenWidthDp is also fixed.
|
||||
overrideConfig.smallestScreenWidthDp = fullConfig.smallestScreenWidthDp;
|
||||
// TODO(b/264276741): Check whether the runtime orietnation request is fixed rather than
|
||||
// the manifest orientation which may be obsolete.
|
||||
if (info.isFixedOrientation()) {
|
||||
if (ActivityInfo.isFixedOrientation(getOverrideOrientation())) {
|
||||
// lock rotation too. When in size-compat, onConfigurationChanged will watch for and
|
||||
// apply runtime rotation changes.
|
||||
overrideConfig.windowConfiguration.setRotation(
|
||||
@@ -8181,7 +8179,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
/**
|
||||
* @return The orientation to use to understand if reachability is enabled.
|
||||
*/
|
||||
@ActivityInfo.ScreenOrientation
|
||||
@Configuration.Orientation
|
||||
int getOrientationForReachability() {
|
||||
return mLetterboxUiController.hasInheritedLetterboxBehavior()
|
||||
? mLetterboxUiController.getInheritedOrientation()
|
||||
|
||||
@@ -1436,7 +1436,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
|
||||
* {@link Configuration#ORIENTATION_PORTRAIT},
|
||||
* {@link Configuration#ORIENTATION_UNDEFINED}).
|
||||
*/
|
||||
@ScreenOrientation
|
||||
@Configuration.Orientation
|
||||
int getRequestedConfigurationOrientation() {
|
||||
return getRequestedConfigurationOrientation(false /* forDisplay */);
|
||||
}
|
||||
@@ -1454,7 +1454,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
|
||||
* {@link Configuration#ORIENTATION_PORTRAIT},
|
||||
* {@link Configuration#ORIENTATION_UNDEFINED}).
|
||||
*/
|
||||
@ScreenOrientation
|
||||
@Configuration.Orientation
|
||||
int getRequestedConfigurationOrientation(boolean forDisplay) {
|
||||
int requestedOrientation = getOverrideOrientation();
|
||||
final RootDisplayArea root = getRootDisplayArea();
|
||||
|
||||
Reference in New Issue
Block a user