diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 09d0af11a39fe..617220e00f9db 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -10511,18 +10511,6 @@ public final class Settings { public static final String DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS = "force_desktop_mode_on_external_displays"; - /** - * Whether to allow non-resizable apps to be freeform. - * - * TODO(b/176061101) remove after update all usages - * @deprecated use {@link #DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW} - * @hide - */ - @Deprecated - @Readable - public static final String DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM = - "enable_sizecompat_freeform"; - /** * Whether to allow non-resizable apps to be shown in multi-window. The app will be * letterboxed if the request orientation is not met, and will be shown in size-compat diff --git a/core/proto/android/providers/settings/global.proto b/core/proto/android/providers/settings/global.proto index c580b345d85b2..ad1d25208a9a6 100644 --- a/core/proto/android/providers/settings/global.proto +++ b/core/proto/android/providers/settings/global.proto @@ -282,7 +282,8 @@ message GlobalSettingsProto { optional SettingProto force_rtl = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto emulate_display_cutout = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto force_desktop_mode_on_external_displays = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; - optional SettingProto enable_sizecompat_freeform = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; + // Deprecated, use enable_non_resizable_multi_window + optional SettingProto enable_sizecompat_freeform = 7 [ (android.privacy).dest = DEST_AUTOMATIC, deprecated = true ]; optional SettingProto enable_non_resizable_multi_window = 8 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Development development = 39; diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index 1ce738ef065cb..a0b952882162d 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -550,9 +550,6 @@ class SettingsProtoDumpUtil { dumpSetting(s, p, Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, GlobalSettingsProto.Development.FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS); - dumpSetting(s, p, - Settings.Global.DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, - GlobalSettingsProto.Development.ENABLE_SIZECOMPAT_FREEFORM); dumpSetting(s, p, Settings.Global.DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW, GlobalSettingsProto.Development.ENABLE_NON_RESIZABLE_MULTI_WINDOW); diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 303e5bb7050dd..4dc6d1475c4a7 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -227,7 +227,6 @@ public class SettingsBackupTest { Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES, Settings.Global.DEVELOPMENT_FORCE_RTL, - Settings.Global.DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, Settings.Global.DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW, Settings.Global.DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR, Settings.Global.DEVELOPMENT_USE_BLAST_ADAPTER_SV, diff --git a/services/core/java/com/android/server/wm/ActivityClientController.java b/services/core/java/com/android/server/wm/ActivityClientController.java index 151895f02ac45..c830ba9b61dd9 100644 --- a/services/core/java/com/android/server/wm/ActivityClientController.java +++ b/services/core/java/com/android/server/wm/ActivityClientController.java @@ -808,7 +808,7 @@ class ActivityClientController extends IActivityClientController.Stub { if (rootTask.inFreeformWindowingMode()) { rootTask.setWindowingMode(WINDOWING_MODE_FULLSCREEN); - } else if (!mService.mSizeCompatFreeform && r.inSizeCompatMode()) { + } else if (!mService.mSupportsNonResizableMultiWindow && r.inSizeCompatMode()) { throw new IllegalStateException("Size-compat windows are currently not" + "freeform-enabled"); } else if (rootTask.getParent().inFreeformWindowingMode()) { diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index f40f4a98964a7..c1fe4887da57e 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -2562,9 +2562,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * root task. */ boolean supportsFreeform() { - return mAtmService.mSupportsFreeformWindowManagement - // Either the activity is resizable, or we allow size compat in freeform. - && (supportsMultiWindow() || mAtmService.mSizeCompatFreeform); + return mAtmService.mSupportsFreeformWindowManagement && supportsMultiWindow(); } /** diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index af032c108538d..db499158a5d99 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -58,7 +58,6 @@ import static android.os.Process.SYSTEM_UID; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT; import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW; -import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_RTL; import static android.provider.Settings.Global.HIDE_ERROR_DIALOGS; @@ -557,7 +556,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { boolean mSupportsPictureInPicture; boolean mSupportsMultiDisplay; boolean mForceResizableActivities; - boolean mSizeCompatFreeform; boolean mSupportsNonResizableMultiWindow; final List mScreenObservers = new ArrayList<>(); @@ -788,8 +786,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { final boolean forceRtl = Settings.Global.getInt(resolver, DEVELOPMENT_FORCE_RTL, 0) != 0; final boolean forceResizable = Settings.Global.getInt( resolver, DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES, 0) != 0; - final boolean sizeCompatFreeform = Settings.Global.getInt( - resolver, DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, 0) != 0; final boolean supportsNonResizableMultiWindow = Settings.Global.getInt( resolver, DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW, 1) != 0; @@ -805,7 +801,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { synchronized (mGlobalLock) { mForceResizableActivities = forceResizable; - mSizeCompatFreeform = sizeCompatFreeform; mSupportsNonResizableMultiWindow = supportsNonResizableMultiWindow; final boolean multiWindowFormEnabled = freeformWindowManagement || supportsSplitScreenMultiWindow diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index ff65c566e62af..8aa00d0d896fd 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -2841,8 +2841,6 @@ class Task extends WindowContainer { windowingMode != WINDOWING_MODE_UNDEFINED ? windowingMode : parentWindowingMode; if (WindowConfiguration.inMultiWindowMode(candidateWindowingMode) && candidateWindowingMode != WINDOWING_MODE_PINNED - && (candidateWindowingMode != WINDOWING_MODE_FREEFORM - || !mTaskSupervisor.mService.mSizeCompatFreeform) && !mTaskSupervisor.mService.mSupportsNonResizableMultiWindow) { getResolvedOverrideConfiguration().windowConfiguration.setWindowingMode( WINDOWING_MODE_FULLSCREEN); diff --git a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java index 82d9c214ece7f..f3b69e30b40ab 100644 --- a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java +++ b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java @@ -572,8 +572,7 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { private boolean shouldLaunchUnresizableAppInFreeform(ActivityRecord activity, TaskDisplayArea displayArea) { - // TODO(176061101): Migrate |mSizeCompatFreeform| to |mSupportsNonResizableMultiWindow|. - if (!mSupervisor.mService.mSizeCompatFreeform || activity.isResizeable()) { + if (!mSupervisor.mService.mSupportsNonResizableMultiWindow || activity.isResizeable()) { return false; } final DisplayContent display = displayArea.getDisplayContent(); diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index c0ccd81c9b159..518176b2ef75d 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -39,7 +39,6 @@ import static android.os.Process.myPid; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT; import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW; -import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES; import static android.provider.Settings.Global.DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR; @@ -803,8 +802,6 @@ public class WindowManagerService extends IWindowManager.Stub Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT); private final Uri mForceResizableUri = Settings.Global.getUriFor( DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES); - private final Uri mSizeCompatFreeformUri = Settings.Global.getUriFor( - DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM); private final Uri mSupportsNonResizableMultiWindowUri = Settings.Global.getUriFor( DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW); private final Uri mRenderShadowsInCompositorUri = Settings.Global.getUriFor( @@ -831,8 +828,6 @@ public class WindowManagerService extends IWindowManager.Stub UserHandle.USER_ALL); resolver.registerContentObserver(mFreeformWindowUri, false, this, UserHandle.USER_ALL); resolver.registerContentObserver(mForceResizableUri, false, this, UserHandle.USER_ALL); - resolver.registerContentObserver(mSizeCompatFreeformUri, false, this, - UserHandle.USER_ALL); resolver.registerContentObserver(mSupportsNonResizableMultiWindowUri, false, this, UserHandle.USER_ALL); resolver.registerContentObserver(mRenderShadowsInCompositorUri, false, this, @@ -872,11 +867,6 @@ public class WindowManagerService extends IWindowManager.Stub return; } - if (mSizeCompatFreeformUri.equals(uri)) { - updateSizeCompatFreeform(); - return; - } - if (mSupportsNonResizableMultiWindowUri.equals(uri)) { updateSupportsNonResizableMultiWindow(); return; @@ -974,14 +964,6 @@ public class WindowManagerService extends IWindowManager.Stub mAtmService.mForceResizableActivities = forceResizable; } - void updateSizeCompatFreeform() { - ContentResolver resolver = mContext.getContentResolver(); - final boolean sizeCompatFreeform = Settings.Global.getInt(resolver, - DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, 0) != 0; - - mAtmService.mSizeCompatFreeform = sizeCompatFreeform; - } - void updateSupportsNonResizableMultiWindow() { ContentResolver resolver = mContext.getContentResolver(); final boolean supportsNonResizableMultiWindow = Settings.Global.getInt(resolver, diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java index 990927b704faf..d8e7582633de0 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java @@ -1965,17 +1965,17 @@ public class ActivityRecordTests extends WindowTestsBase { // Non-resizable mAtm.mForceResizableActivities = false; - mAtm.mSizeCompatFreeform = false; + mAtm.mSupportsNonResizableMultiWindow = false; assertFalse(activity.supportsFreeform()); // Force resizable mAtm.mForceResizableActivities = true; - mAtm.mSizeCompatFreeform = false; + mAtm.mSupportsNonResizableMultiWindow = false; assertTrue(activity.supportsFreeform()); // Allow non-resizable mAtm.mForceResizableActivities = false; - mAtm.mSizeCompatFreeform = true; + mAtm.mSupportsNonResizableMultiWindow = true; assertTrue(activity.supportsFreeform()); } diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java index f8346efba06d8..a1e5afb8b7587 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java @@ -661,7 +661,7 @@ public class TaskLaunchParamsModifierTests extends WindowTestsBase { @Test public void testForceMaximizesUnresizeableApp() { - mAtm.mSizeCompatFreeform = false; + mAtm.mSupportsNonResizableMultiWindow = false; final TestDisplayContent freeformDisplay = createNewDisplayContent( WINDOWING_MODE_FREEFORM); @@ -684,7 +684,7 @@ public class TaskLaunchParamsModifierTests extends WindowTestsBase { @Test public void testLaunchesPortraitSizeCompatOnFreeformLandscapeDisplayWithFreeformSizeCompat() { - mAtm.mSizeCompatFreeform = true; + mAtm.mSupportsNonResizableMultiWindow = true; final TestDisplayContent freeformDisplay = createNewDisplayContent( WINDOWING_MODE_FREEFORM); @@ -712,7 +712,7 @@ public class TaskLaunchParamsModifierTests extends WindowTestsBase { @Test public void testLaunchesLandscapeSizeCompatOnFreeformLandscapeDisplayWithFreeformSizeCompat() { - mAtm.mSizeCompatFreeform = true; + mAtm.mSupportsNonResizableMultiWindow = true; final TestDisplayContent freeformDisplay = createNewDisplayContent( WINDOWING_MODE_FREEFORM); final ActivityOptions options = ActivityOptions.makeBasic(); @@ -728,7 +728,7 @@ public class TaskLaunchParamsModifierTests extends WindowTestsBase { @Test public void testLaunchesPortraitUnresizableOnFreeformDisplayWithFreeformSizeCompat() { - mAtm.mSizeCompatFreeform = true; + mAtm.mSupportsNonResizableMultiWindow = true; final TestDisplayContent freeformDisplay = createNewDisplayContent( WINDOWING_MODE_FREEFORM); final ActivityOptions options = ActivityOptions.makeBasic(); diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowManagerSettingsTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowManagerSettingsTests.java index 0dd8d2305f4c0..18c8cf5dfa05b 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowManagerSettingsTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowManagerSettingsTests.java @@ -18,7 +18,6 @@ package com.android.server.wm; import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT; import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW; -import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES; import static android.provider.Settings.Global.DEVELOPMENT_WM_DISPLAY_SETTINGS_PATH; @@ -118,20 +117,6 @@ public class WindowManagerSettingsTests extends WindowTestsBase { } } - @Test - public void testEnableSizeCompatFreeform() { - try (BoolSettingsSession enableSizeCompatFreeformSession = new - BoolSettingsSession(DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM)) { - final boolean enableSizeCompatFreeform = - !enableSizeCompatFreeformSession.getSetting(); - final Uri enableSizeCompatFreeformUri = - enableSizeCompatFreeformSession.setSetting(enableSizeCompatFreeform); - mWm.mSettingsObserver.onChange(false, enableSizeCompatFreeformUri); - - assertEquals(mWm.mAtmService.mSizeCompatFreeform, enableSizeCompatFreeform); - } - } - @Test public void testSupportsNonResizableMultiWindow() { try (BoolSettingsSession supportsNonResizableMultiWindowSession = new