Don't send SCREEN_ORIENTATION_UNSET to apps.
SCREEN_ORIENTATION_UNSET is an internal implementation detail of how WM now handles WindowContainer requesting a specific orientation. The container will return SCREEN_ORIENTATION_UNSET for getOrientation method if it should affect the device orientation under specific conditions like when it isn't visible. However, we still want to return the requested app orientation if someone from outside WM asked for it regardless of if the app is visible or not. Bug: 33067025 Test: Adding a new document in the Drive app with the scan option doesn't crash. Change-Id: I53aee1afaa311994520f573139aea9a0d87bc8e6
This commit is contained in:
@@ -1103,6 +1103,11 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
|
||||
return mOrientation;
|
||||
}
|
||||
|
||||
/** Returns the app's preferred orientation regardless of its currently visibility state. */
|
||||
int getOrientationIgnoreVisibility() {
|
||||
return mOrientation;
|
||||
}
|
||||
|
||||
@Override
|
||||
void checkAppWindowsReadyToShow() {
|
||||
if (allDrawn == mAppAnimator.allDrawn) {
|
||||
|
||||
@@ -2716,7 +2716,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
return SCREEN_ORIENTATION_UNSPECIFIED;
|
||||
}
|
||||
|
||||
return wtoken.getOrientation();
|
||||
return wtoken.getOrientationIgnoreVisibility();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user