Loading services/core/java/com/android/server/wm/ActivityRecord.java +16 −18 Original line number Diff line number Diff line Loading @@ -1270,8 +1270,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } pw.println( prefix + "supportsSizeChanges=" + ActivityInfo.sizeChangesSupportModeToString( mAppCompatController.getAppCompatSizeCompatModePolicy() .supportsSizeChanges())); mAppCompatController.getSizeCompatModePolicy().supportsSizeChanges())); if (info.configChanges != 0) { pw.println(prefix + "configChanges=0x" + Integer.toHexString(info.configChanges)); } Loading Loading @@ -6579,7 +6578,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mTaskSupervisor.mStoppingActivities.remove(this); if (getDisplayArea().allResumedActivitiesComplete()) { // Construct the compat environment at a relatively stable state if needed. mAppCompatController.getAppCompatSizeCompatModePolicy().updateAppCompatDisplayInsets(); mAppCompatController.getSizeCompatModePolicy().updateAppCompatDisplayInsets(); mRootWindowContainer.executeAppTransitionForAllDisplay(); } Loading Loading @@ -8220,7 +8219,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A != getRequestedConfigurationOrientation(false /*forDisplay */)) { // Do not change the requested configuration now, because this will be done when setting // the orientation below with the new mAppCompatDisplayInsets mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatModeAttributes(); mAppCompatController.getSizeCompatModePolicy().clearSizeCompatModeAttributes(); } ProtoLog.v(WM_DEBUG_ORIENTATION, "Setting requested orientation %s for %s", Loading Loading @@ -8364,7 +8363,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A @Nullable AppCompatDisplayInsets getAppCompatDisplayInsets() { return mAppCompatController.getAppCompatSizeCompatModePolicy().getAppCompatDisplayInsets(); return mAppCompatController.getSizeCompatModePolicy().getAppCompatDisplayInsets(); } /** Loading @@ -8372,7 +8371,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * density than its parent or its bounds don't fit in parent naturally. */ boolean inSizeCompatMode() { return mAppCompatController.getAppCompatSizeCompatModePolicy().inSizeCompatMode(); return mAppCompatController.getSizeCompatModePolicy().inSizeCompatMode(); } /** Loading @@ -8386,13 +8385,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * aspect ratio. */ boolean shouldCreateAppCompatDisplayInsets() { return mAppCompatController.getAppCompatSizeCompatModePolicy() .shouldCreateAppCompatDisplayInsets(); return mAppCompatController.getSizeCompatModePolicy().shouldCreateAppCompatDisplayInsets(); } @Override boolean hasSizeCompatBounds() { return mAppCompatController.getAppCompatSizeCompatModePolicy().hasSizeCompatBounds(); return mAppCompatController.getSizeCompatModePolicy().hasSizeCompatBounds(); } @Override Loading @@ -8411,7 +8409,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A @Override float getCompatScale() { // We need to invoke {#getCompatScale()} only if the CompatScale is not available. return mAppCompatController.getAppCompatSizeCompatModePolicy() return mAppCompatController.getSizeCompatModePolicy() .getCompatScaleIfAvailable(ActivityRecord.super::getCompatScale); } Loading Loading @@ -8477,7 +8475,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } final AppCompatDisplayInsets appCompatDisplayInsets = getAppCompatDisplayInsets(); final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); if (appCompatDisplayInsets != null) { scmPolicy.resolveSizeCompatModeConfiguration(newParentConfiguration, appCompatDisplayInsets, mTmpBounds); Loading Loading @@ -8627,7 +8625,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return mAppCompatController.getTransparentPolicy().getInheritedAppCompatState(); } final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController .getAppCompatSizeCompatModePolicy(); .getSizeCompatModePolicy(); if (scmPolicy.isInSizeCompatModeForBounds()) { return APP_COMPAT_STATE_CHANGED__STATE__LETTERBOXED_FOR_SIZE_COMPAT_MODE; } Loading Loading @@ -8665,7 +8663,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return; } final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); final Rect screenResolvedBounds = scmPolicy.replaceResolvedBoundsIfNeeded(resolvedBounds); final Rect parentAppBounds = mResolveConfigHint.mParentAppBoundsOverride; final Rect parentBounds = newParentConfiguration.windowConfiguration.getBounds(); Loading Loading @@ -8763,7 +8761,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final Configuration resolvedConfig = getResolvedOverrideConfiguration(); final Rect resolvedBounds = resolvedConfig.windowConfiguration.getBounds(); final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); return scmPolicy.replaceResolvedBoundsIfNeeded(resolvedBounds); } Loading Loading @@ -8917,7 +8915,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } final AppCompatDisplayInsets appCompatDisplayInsets = getAppCompatDisplayInsets(); final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); if (appCompatDisplayInsets != null && !appCompatDisplayInsets.mIsInFixedOrientationOrAspectRatioLetterbox) { Loading Loading @@ -9038,7 +9036,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // TODO(b/268458693): Refactor configuration inheritance in case of translucent activities final Rect superBounds = super.getBounds(); final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); return mAppCompatController.getTransparentPolicy().findOpaqueNotFinishingActivityBelow() .map(ActivityRecord::getBounds) .orElseGet(() -> scmPolicy.getAppSizeCompatBoundsIfAvailable(superBounds)); Loading Loading @@ -9365,7 +9363,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A if (mVisibleRequested) { // Calling from here rather than resolveOverrideConfiguration to ensure that this is // called after full config is updated in ConfigurationContainer#onConfigurationChanged. mAppCompatController.getAppCompatSizeCompatModePolicy().updateAppCompatDisplayInsets(); mAppCompatController.getSizeCompatModePolicy().updateAppCompatDisplayInsets(); } // Short circuit: if the two full configurations are equal (the common case), then there is Loading Loading @@ -9705,7 +9703,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Reset the existing override configuration so it can be updated according to the latest // configuration. mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatMode(); mAppCompatController.getSizeCompatModePolicy().clearSizeCompatMode(); if (!attachedToProcess()) { return; Loading services/core/java/com/android/server/wm/AppCompatController.java +5 −5 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ class AppCompatController { @NonNull private final AppCompatLetterboxPolicy mAppCompatLetterboxPolicy; @NonNull private final AppCompatSizeCompatModePolicy mAppCompatSizeCompatModePolicy; private final AppCompatSizeCompatModePolicy mSizeCompatModePolicy; AppCompatController(@NonNull WindowManagerService wmService, @NonNull ActivityRecord activityRecord) { Loading @@ -64,7 +64,7 @@ class AppCompatController { wmService.mAppCompatConfiguration); mDesktopAppCompatAspectRatioPolicy = new DesktopAppCompatAspectRatioPolicy(activityRecord, mAppCompatOverrides, mTransparentPolicy, wmService.mAppCompatConfiguration); mAppCompatSizeCompatModePolicy = new AppCompatSizeCompatModePolicy(activityRecord, mSizeCompatModePolicy = new AppCompatSizeCompatModePolicy(activityRecord, mAppCompatOverrides); } Loading Loading @@ -139,14 +139,14 @@ class AppCompatController { } @NonNull AppCompatSizeCompatModePolicy getAppCompatSizeCompatModePolicy() { return mAppCompatSizeCompatModePolicy; AppCompatSizeCompatModePolicy getSizeCompatModePolicy() { return mSizeCompatModePolicy; } void dump(@NonNull PrintWriter pw, @NonNull String prefix) { getTransparentPolicy().dump(pw, prefix); getAppCompatLetterboxPolicy().dump(pw, prefix); getAppCompatSizeCompatModePolicy().dump(pw, prefix); getSizeCompatModePolicy().dump(pw, prefix); } } services/core/java/com/android/server/wm/TransparentPolicy.java +1 −1 Original line number Diff line number Diff line Loading @@ -204,7 +204,7 @@ class TransparentPolicy { return true; } final AppCompatSizeCompatModePolicy scmPolicy = mActivityRecord.mAppCompatController .getAppCompatSizeCompatModePolicy(); .getSizeCompatModePolicy(); if (mActivityRecord.getTask() == null || mActivityRecord.fillsParent() || scmPolicy.hasAppCompatDisplayInsetsWithoutInheritance()) { return true; Loading services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +2 −2 Original line number Diff line number Diff line Loading @@ -721,7 +721,7 @@ public class ActivityRecordTests extends WindowTestsBase { assertEquals(ORIENTATION_PORTRAIT, activity.getConfiguration().orientation); // Clear size compat. activity.mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatMode(); activity.mAppCompatController.getSizeCompatModePolicy().clearSizeCompatMode(); activity.ensureActivityConfiguration(); mDisplayContent.sendNewConfiguration(); Loading Loading @@ -3800,7 +3800,7 @@ public class ActivityRecordTests extends WindowTestsBase { .setResizeMode(RESIZE_MODE_RESIZEABLE) .setScreenOrientation(SCREEN_ORIENTATION_PORTRAIT) .build(); activity.mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatMode(); activity.mAppCompatController.getSizeCompatModePolicy().clearSizeCompatMode(); return activity; } Loading services/tests/wmtests/src/com/android/server/wm/AppCompatActivityRobot.java +1 −1 Original line number Diff line number Diff line Loading @@ -525,7 +525,7 @@ class AppCompatActivityRobot { activity.setRequestedOrientation(screenOrientation); } // Make sure to use the provided configuration to construct the size compat fields. activity.mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatMode(); activity.mAppCompatController.getSizeCompatModePolicy().clearSizeCompatMode(); activity.ensureActivityConfiguration(); // Make sure the display configuration reflects the change of activity. if (activity.mDisplayContent.updateOrientation()) { Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +16 −18 Original line number Diff line number Diff line Loading @@ -1270,8 +1270,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } pw.println( prefix + "supportsSizeChanges=" + ActivityInfo.sizeChangesSupportModeToString( mAppCompatController.getAppCompatSizeCompatModePolicy() .supportsSizeChanges())); mAppCompatController.getSizeCompatModePolicy().supportsSizeChanges())); if (info.configChanges != 0) { pw.println(prefix + "configChanges=0x" + Integer.toHexString(info.configChanges)); } Loading Loading @@ -6579,7 +6578,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mTaskSupervisor.mStoppingActivities.remove(this); if (getDisplayArea().allResumedActivitiesComplete()) { // Construct the compat environment at a relatively stable state if needed. mAppCompatController.getAppCompatSizeCompatModePolicy().updateAppCompatDisplayInsets(); mAppCompatController.getSizeCompatModePolicy().updateAppCompatDisplayInsets(); mRootWindowContainer.executeAppTransitionForAllDisplay(); } Loading Loading @@ -8220,7 +8219,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A != getRequestedConfigurationOrientation(false /*forDisplay */)) { // Do not change the requested configuration now, because this will be done when setting // the orientation below with the new mAppCompatDisplayInsets mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatModeAttributes(); mAppCompatController.getSizeCompatModePolicy().clearSizeCompatModeAttributes(); } ProtoLog.v(WM_DEBUG_ORIENTATION, "Setting requested orientation %s for %s", Loading Loading @@ -8364,7 +8363,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A @Nullable AppCompatDisplayInsets getAppCompatDisplayInsets() { return mAppCompatController.getAppCompatSizeCompatModePolicy().getAppCompatDisplayInsets(); return mAppCompatController.getSizeCompatModePolicy().getAppCompatDisplayInsets(); } /** Loading @@ -8372,7 +8371,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * density than its parent or its bounds don't fit in parent naturally. */ boolean inSizeCompatMode() { return mAppCompatController.getAppCompatSizeCompatModePolicy().inSizeCompatMode(); return mAppCompatController.getSizeCompatModePolicy().inSizeCompatMode(); } /** Loading @@ -8386,13 +8385,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * aspect ratio. */ boolean shouldCreateAppCompatDisplayInsets() { return mAppCompatController.getAppCompatSizeCompatModePolicy() .shouldCreateAppCompatDisplayInsets(); return mAppCompatController.getSizeCompatModePolicy().shouldCreateAppCompatDisplayInsets(); } @Override boolean hasSizeCompatBounds() { return mAppCompatController.getAppCompatSizeCompatModePolicy().hasSizeCompatBounds(); return mAppCompatController.getSizeCompatModePolicy().hasSizeCompatBounds(); } @Override Loading @@ -8411,7 +8409,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A @Override float getCompatScale() { // We need to invoke {#getCompatScale()} only if the CompatScale is not available. return mAppCompatController.getAppCompatSizeCompatModePolicy() return mAppCompatController.getSizeCompatModePolicy() .getCompatScaleIfAvailable(ActivityRecord.super::getCompatScale); } Loading Loading @@ -8477,7 +8475,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } final AppCompatDisplayInsets appCompatDisplayInsets = getAppCompatDisplayInsets(); final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); if (appCompatDisplayInsets != null) { scmPolicy.resolveSizeCompatModeConfiguration(newParentConfiguration, appCompatDisplayInsets, mTmpBounds); Loading Loading @@ -8627,7 +8625,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return mAppCompatController.getTransparentPolicy().getInheritedAppCompatState(); } final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController .getAppCompatSizeCompatModePolicy(); .getSizeCompatModePolicy(); if (scmPolicy.isInSizeCompatModeForBounds()) { return APP_COMPAT_STATE_CHANGED__STATE__LETTERBOXED_FOR_SIZE_COMPAT_MODE; } Loading Loading @@ -8665,7 +8663,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return; } final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); final Rect screenResolvedBounds = scmPolicy.replaceResolvedBoundsIfNeeded(resolvedBounds); final Rect parentAppBounds = mResolveConfigHint.mParentAppBoundsOverride; final Rect parentBounds = newParentConfiguration.windowConfiguration.getBounds(); Loading Loading @@ -8763,7 +8761,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final Configuration resolvedConfig = getResolvedOverrideConfiguration(); final Rect resolvedBounds = resolvedConfig.windowConfiguration.getBounds(); final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); return scmPolicy.replaceResolvedBoundsIfNeeded(resolvedBounds); } Loading Loading @@ -8917,7 +8915,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } final AppCompatDisplayInsets appCompatDisplayInsets = getAppCompatDisplayInsets(); final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); if (appCompatDisplayInsets != null && !appCompatDisplayInsets.mIsInFixedOrientationOrAspectRatioLetterbox) { Loading Loading @@ -9038,7 +9036,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // TODO(b/268458693): Refactor configuration inheritance in case of translucent activities final Rect superBounds = super.getBounds(); final AppCompatSizeCompatModePolicy scmPolicy = mAppCompatController.getAppCompatSizeCompatModePolicy(); mAppCompatController.getSizeCompatModePolicy(); return mAppCompatController.getTransparentPolicy().findOpaqueNotFinishingActivityBelow() .map(ActivityRecord::getBounds) .orElseGet(() -> scmPolicy.getAppSizeCompatBoundsIfAvailable(superBounds)); Loading Loading @@ -9365,7 +9363,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A if (mVisibleRequested) { // Calling from here rather than resolveOverrideConfiguration to ensure that this is // called after full config is updated in ConfigurationContainer#onConfigurationChanged. mAppCompatController.getAppCompatSizeCompatModePolicy().updateAppCompatDisplayInsets(); mAppCompatController.getSizeCompatModePolicy().updateAppCompatDisplayInsets(); } // Short circuit: if the two full configurations are equal (the common case), then there is Loading Loading @@ -9705,7 +9703,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Reset the existing override configuration so it can be updated according to the latest // configuration. mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatMode(); mAppCompatController.getSizeCompatModePolicy().clearSizeCompatMode(); if (!attachedToProcess()) { return; Loading
services/core/java/com/android/server/wm/AppCompatController.java +5 −5 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ class AppCompatController { @NonNull private final AppCompatLetterboxPolicy mAppCompatLetterboxPolicy; @NonNull private final AppCompatSizeCompatModePolicy mAppCompatSizeCompatModePolicy; private final AppCompatSizeCompatModePolicy mSizeCompatModePolicy; AppCompatController(@NonNull WindowManagerService wmService, @NonNull ActivityRecord activityRecord) { Loading @@ -64,7 +64,7 @@ class AppCompatController { wmService.mAppCompatConfiguration); mDesktopAppCompatAspectRatioPolicy = new DesktopAppCompatAspectRatioPolicy(activityRecord, mAppCompatOverrides, mTransparentPolicy, wmService.mAppCompatConfiguration); mAppCompatSizeCompatModePolicy = new AppCompatSizeCompatModePolicy(activityRecord, mSizeCompatModePolicy = new AppCompatSizeCompatModePolicy(activityRecord, mAppCompatOverrides); } Loading Loading @@ -139,14 +139,14 @@ class AppCompatController { } @NonNull AppCompatSizeCompatModePolicy getAppCompatSizeCompatModePolicy() { return mAppCompatSizeCompatModePolicy; AppCompatSizeCompatModePolicy getSizeCompatModePolicy() { return mSizeCompatModePolicy; } void dump(@NonNull PrintWriter pw, @NonNull String prefix) { getTransparentPolicy().dump(pw, prefix); getAppCompatLetterboxPolicy().dump(pw, prefix); getAppCompatSizeCompatModePolicy().dump(pw, prefix); getSizeCompatModePolicy().dump(pw, prefix); } }
services/core/java/com/android/server/wm/TransparentPolicy.java +1 −1 Original line number Diff line number Diff line Loading @@ -204,7 +204,7 @@ class TransparentPolicy { return true; } final AppCompatSizeCompatModePolicy scmPolicy = mActivityRecord.mAppCompatController .getAppCompatSizeCompatModePolicy(); .getSizeCompatModePolicy(); if (mActivityRecord.getTask() == null || mActivityRecord.fillsParent() || scmPolicy.hasAppCompatDisplayInsetsWithoutInheritance()) { return true; Loading
services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +2 −2 Original line number Diff line number Diff line Loading @@ -721,7 +721,7 @@ public class ActivityRecordTests extends WindowTestsBase { assertEquals(ORIENTATION_PORTRAIT, activity.getConfiguration().orientation); // Clear size compat. activity.mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatMode(); activity.mAppCompatController.getSizeCompatModePolicy().clearSizeCompatMode(); activity.ensureActivityConfiguration(); mDisplayContent.sendNewConfiguration(); Loading Loading @@ -3800,7 +3800,7 @@ public class ActivityRecordTests extends WindowTestsBase { .setResizeMode(RESIZE_MODE_RESIZEABLE) .setScreenOrientation(SCREEN_ORIENTATION_PORTRAIT) .build(); activity.mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatMode(); activity.mAppCompatController.getSizeCompatModePolicy().clearSizeCompatMode(); return activity; } Loading
services/tests/wmtests/src/com/android/server/wm/AppCompatActivityRobot.java +1 −1 Original line number Diff line number Diff line Loading @@ -525,7 +525,7 @@ class AppCompatActivityRobot { activity.setRequestedOrientation(screenOrientation); } // Make sure to use the provided configuration to construct the size compat fields. activity.mAppCompatController.getAppCompatSizeCompatModePolicy().clearSizeCompatMode(); activity.mAppCompatController.getSizeCompatModePolicy().clearSizeCompatMode(); activity.ensureActivityConfiguration(); // Make sure the display configuration reflects the change of activity. if (activity.mDisplayContent.updateOrientation()) { Loading