diff options
author | 2023-12-26 06:21:32 +0000 | |
---|---|---|
committer | 2023-12-26 06:21:32 +0000 | |
commit | 89d2237e24cc7e458063c1d813affbf4e59a70f3 (patch) | |
tree | 4b221816b7bc5e6d61304e0f9eb91f6b3e9c135e | |
parent | d8dbc988db178a96aa489d2ba7e542fbae42702e (diff) | |
parent | 22adad82b061f5e323351b3ab32b0038e9719387 (diff) |
Merge "Update bundle ClientTransaction flags" into main
8 files changed, 14 insertions, 35 deletions
diff --git a/core/java/android/app/servertransaction/ClientTransactionListenerController.java b/core/java/android/app/servertransaction/ClientTransactionListenerController.java index 7418c06a2dd1..9f97f6ff7c39 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 @@ public class ClientTransactionListenerController { * window configuration. */ public void onDisplayChanged(int displayId) { - if (!isSyncWindowConfigUpdateFlagEnabled()) { + if (!isBundleClientTransactionFlagEnabled()) { return; } if (ActivityThread.isSystem()) { @@ -77,9 +77,9 @@ public class ClientTransactionListenerController { 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 9f5e0dc14cca..ee48e431ba8e 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.shouldExcl 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 @@ public class TransactionExecutor { } // 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 933cc49f8602..59d7b0e55e85 100644 --- a/core/java/android/window/flags/windowing_sdk.aconfig +++ b/core/java/android/window/flags/windowing_sdk.aconfig @@ -2,13 +2,6 @@ package: "com.android.window.flags" # 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 { 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 930b1a4dde26..95d50499b92f 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 @@ public class ClientTransactionListenerControllerTest { 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 a5bbeb58bc08..9292f667b27c 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 @@ import org.junit.runner.RunWith; 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 89a70e502415..7b0d931abf8a 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 @@ class WindowManagerFlags { /* 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 32638e0afc68..58ade1bf5c1e 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.policy.WindowManagerPolicy; 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 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP 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 b20c51f50337..e88a00b93b03 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 androidx.test.filters.MediumTest; 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; @@ -3365,7 +3366,7 @@ public class ActivityRecordTests extends WindowTestsBase { // 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 { |