Update bundle ClientTransaction flags
Since the flags are having some dependencies on each other, update to
all use the read-only flag.
Bug: 260873529
Bug: 317010550
Bug: 317370225
Test: pass existing presubmit
Change-Id: Ie86ed2ae4fe70c32da4f9d116a5ff4ac1682ee52
diff --git a/core/java/android/app/servertransaction/ClientTransactionListenerController.java b/core/java/android/app/servertransaction/ClientTransactionListenerController.java
index 7418c06..9f97f6f 100644
--- a/core/java/android/app/servertransaction/ClientTransactionListenerController.java
+++ b/core/java/android/app/servertransaction/ClientTransactionListenerController.java
@@ -16,7 +16,7 @@
package android.app.servertransaction;
-import static com.android.window.flags.Flags.syncWindowConfigUpdateFlag;
+import static com.android.window.flags.Flags.bundleClientTransactionFlag;
import static java.util.Objects.requireNonNull;
@@ -67,7 +67,7 @@
* window configuration.
*/
public void onDisplayChanged(int displayId) {
- if (!isSyncWindowConfigUpdateFlagEnabled()) {
+ if (!isBundleClientTransactionFlagEnabled()) {
return;
}
if (ActivityThread.isSystem()) {
@@ -77,9 +77,9 @@
mDisplayManager.handleDisplayChangeFromWindowManager(displayId);
}
- /** Whether {@link #syncWindowConfigUpdateFlag} feature flag is enabled. */
- public boolean isSyncWindowConfigUpdateFlagEnabled() {
+ /** Whether {@link #bundleClientTransactionFlag} feature flag is enabled. */
+ public boolean isBundleClientTransactionFlagEnabled() {
// Can't read flag from isolated process.
- return !Process.isIsolated() && syncWindowConfigUpdateFlag();
+ return !Process.isIsolated() && bundleClientTransactionFlag();
}
}
diff --git a/core/java/android/app/servertransaction/TransactionExecutor.java b/core/java/android/app/servertransaction/TransactionExecutor.java
index 9f5e0dc..ee48e43 100644
--- a/core/java/android/app/servertransaction/TransactionExecutor.java
+++ b/core/java/android/app/servertransaction/TransactionExecutor.java
@@ -32,7 +32,7 @@
import static android.app.servertransaction.TransactionExecutorHelper.tId;
import static android.app.servertransaction.TransactionExecutorHelper.transactionToString;
-import static com.android.window.flags.Flags.syncWindowConfigUpdateFlag;
+import static com.android.window.flags.Flags.bundleClientTransactionFlag;
import android.annotation.NonNull;
import android.app.ActivityThread.ActivityClientRecord;
@@ -183,9 +183,9 @@
}
// Can't read flag from isolated process.
- final boolean isSyncWindowConfigUpdateFlagEnabled = !Process.isIsolated()
- && syncWindowConfigUpdateFlag();
- final Context configUpdatedContext = isSyncWindowConfigUpdateFlagEnabled
+ final boolean isBundleClientTransactionFlagEnabled = !Process.isIsolated()
+ && bundleClientTransactionFlag();
+ final Context configUpdatedContext = isBundleClientTransactionFlagEnabled
? item.getContextToUpdate(mTransactionHandler)
: null;
final Configuration preExecutedConfig = configUpdatedContext != null
diff --git a/core/java/android/window/flags/windowing_sdk.aconfig b/core/java/android/window/flags/windowing_sdk.aconfig
index 933cc49..59d7b0e 100644
--- a/core/java/android/window/flags/windowing_sdk.aconfig
+++ b/core/java/android/window/flags/windowing_sdk.aconfig
@@ -2,13 +2,6 @@
# Project link: https://gantry.corp.google.com/projects/android_platform_windowing_sdk/changes
-flag {
- namespace: "windowing_sdk"
- name: "sync_window_config_update_flag"
- description: "Whether the feature to sync different window-related config updates is enabled"
- bug: "260873529"
-}
-
# Using a fixed read only flag because there are ClientTransaction scheduling before
# WindowManagerService creation.
flag {
@@ -35,13 +28,6 @@
flag {
namespace: "windowing_sdk"
- name: "window_state_resize_item_flag"
- description: "Whether to dispatch window resize through ClientTransaction is enabled"
- bug: "301870955"
-}
-
-flag {
- namespace: "windowing_sdk"
name: "fullscreen_dim_flag"
description: "Whether to allow showing fullscreen dim on ActivityEmbedding split"
bug: "253533308"
diff --git a/core/tests/coretests/src/android/app/servertransaction/ClientTransactionListenerControllerTest.java b/core/tests/coretests/src/android/app/servertransaction/ClientTransactionListenerControllerTest.java
index 930b1a4..95d5049 100644
--- a/core/tests/coretests/src/android/app/servertransaction/ClientTransactionListenerControllerTest.java
+++ b/core/tests/coretests/src/android/app/servertransaction/ClientTransactionListenerControllerTest.java
@@ -65,7 +65,7 @@
mHandler = getInstrumentation().getContext().getMainThreadHandler();
mController = spy(ClientTransactionListenerController.createInstanceForTesting(
mDisplayManager));
- doReturn(true).when(mController).isSyncWindowConfigUpdateFlagEnabled();
+ doReturn(true).when(mController).isBundleClientTransactionFlagEnabled();
}
@Test
diff --git a/core/tests/coretests/src/android/window/flags/WindowFlagsTest.java b/core/tests/coretests/src/android/window/flags/WindowFlagsTest.java
index a5bbeb5..9292f66 100644
--- a/core/tests/coretests/src/android/window/flags/WindowFlagsTest.java
+++ b/core/tests/coretests/src/android/window/flags/WindowFlagsTest.java
@@ -16,7 +16,6 @@
package android.window.flags;
-import static com.android.window.flags.Flags.syncWindowConfigUpdateFlag;
import static com.android.window.flags.Flags.taskFragmentSystemOrganizerFlag;
import android.platform.test.annotations.Presubmit;
@@ -39,12 +38,6 @@
public class WindowFlagsTest {
@Test
- public void testSyncWindowConfigUpdateFlag() {
- // No crash when accessing the flag.
- syncWindowConfigUpdateFlag();
- }
-
- @Test
public void testTaskFragmentSystemOrganizerFlag() {
// No crash when accessing the flag.
taskFragmentSystemOrganizerFlag();
diff --git a/services/core/java/com/android/server/wm/WindowManagerFlags.java b/services/core/java/com/android/server/wm/WindowManagerFlags.java
index 89a70e5..7b0d931 100644
--- a/services/core/java/com/android/server/wm/WindowManagerFlags.java
+++ b/services/core/java/com/android/server/wm/WindowManagerFlags.java
@@ -43,8 +43,6 @@
/* Start Available Flags */
- final boolean mWindowStateResizeItemFlag = Flags.windowStateResizeItemFlag();
-
final boolean mWallpaperOffsetAsync = Flags.wallpaperOffsetAsync();
final boolean mAllowsScreenSizeDecoupledFromStatusBarAndCutout =
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 32638e0..58ade1b 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -252,6 +252,7 @@
import com.android.server.wm.LocalAnimationAdapter.AnimationSpec;
import com.android.server.wm.RefreshRatePolicy.FrameRateVote;
import com.android.server.wm.SurfaceAnimator.AnimationType;
+import com.android.window.flags.Flags;
import dalvik.annotation.optimization.NeverCompile;
@@ -3675,7 +3676,7 @@
markRedrawForSyncReported();
- if (mWmService.mFlags.mWindowStateResizeItemFlag) {
+ if (Flags.bundleClientTransactionFlag()) {
getProcess().scheduleClientTransactionItem(
WindowStateResizeItem.obtain(mClient, mClientWindowFrames, reportDraw,
mLastReportedConfiguration, getCompatInsetsState(), forceRelayout,
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 718c598..7202c5e 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
@@ -161,6 +161,7 @@
import com.android.internal.R;
import com.android.server.wm.ActivityRecord.State;
+import com.android.window.flags.Flags;
import org.junit.Assert;
import org.junit.Before;
@@ -3370,7 +3371,7 @@
// to client if the app didn't request IME visible.
assertFalse(app2.mActivityRecord.mImeInsetsFrozenUntilStartInput);
- if (mWm.mFlags.mWindowStateResizeItemFlag) {
+ if (Flags.bundleClientTransactionFlag()) {
verify(app2.getProcess()).scheduleClientTransactionItem(
isA(WindowStateResizeItem.class));
} else {