From 2bf5b7478aca6003fb306f7b56e89905484487e0 Mon Sep 17 00:00:00 2001 From: Achim Thesmann Date: Thu, 31 Oct 2024 16:58:07 +0000 Subject: Remove bal_improve_real_caller_visibility_check flag Test: atest BackgroundActivityLaunchTest Bug: 376769896 Flag: com.android.window.flags.bal_improve_real_caller_visibility_check Change-Id: I62ed8ce561ad34d8918c0cae289460b57d003415 --- .../wm/BackgroundActivityStartController.java | 33 ++++++---------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java index ec171c5e5766..5982aa30e8ac 100644 --- a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java +++ b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java @@ -46,7 +46,6 @@ import static com.android.server.wm.ActivityTaskSupervisor.getApplicationLabel; import static com.android.server.wm.PendingRemoteAnimationRegistry.TIMEOUT_MS; import static com.android.window.flags.Flags.balAdditionalStartModes; import static com.android.window.flags.Flags.balDontBringExistingBackgroundTaskStackToFg; -import static com.android.window.flags.Flags.balImproveRealCallerVisibilityCheck; import static com.android.window.flags.Flags.balImprovedMetrics; import static com.android.window.flags.Flags.balRequireOptInByPendingIntentCreator; import static com.android.window.flags.Flags.balRespectAppSwitchStateWhenCheckBoundByForegroundUid; @@ -348,11 +347,7 @@ public class BackgroundActivityStartController { @BackgroundActivityStartMode int realCallerBackgroundActivityStartMode = checkedOptions.getPendingIntentBackgroundActivityStartMode(); - if (!balImproveRealCallerVisibilityCheck()) { - // without this fix the auto-opt ins below would violate CTS tests - mAutoOptInReason = null; - mAutoOptInCaller = false; - } else if (originatingPendingIntent == null) { + if (originatingPendingIntent == null) { mAutoOptInReason = AUTO_OPT_IN_NOT_PENDING_INTENT; mAutoOptInCaller = true; } else if (mIsCallForResult) { @@ -599,8 +594,6 @@ public class BackgroundActivityStartController { mCheckedOptions.getPendingIntentBackgroundActivityStartMode())); } // features - sb.append("; balImproveRealCallerVisibilityCheck: ") - .append(balImproveRealCallerVisibilityCheck()); sb.append("; balRequireOptInByPendingIntentCreator: ") .append(balRequireOptInByPendingIntentCreator()); sb.append("; balRespectAppSwitchStateWhenCheckBoundByForegroundUid: ") @@ -1133,23 +1126,13 @@ public class BackgroundActivityStartController { final boolean appSwitchAllowedOrFg = state.mAppSwitchState == APP_SWITCH_ALLOW || state.mAppSwitchState == APP_SWITCH_FG_ONLY || isHomeApp(state.mRealCallingUid, state.mRealCallingPackage); - if (balImproveRealCallerVisibilityCheck()) { - if (appSwitchAllowedOrFg && state.mRealCallingUidHasAnyVisibleWindow) { - return new BalVerdict(BAL_ALLOW_VISIBLE_WINDOW, - /*background*/ false, "realCallingUid has visible window"); - } - if (mService.mActiveUids.hasNonAppVisibleWindow(state.mRealCallingUid)) { - return new BalVerdict(BAL_ALLOW_NON_APP_VISIBLE_WINDOW, - /*background*/ false, "realCallingUid has non-app visible window"); - } - } else { - // don't abort if the realCallingUid has a visible window - // TODO(b/171459802): We should check appSwitchAllowed also - if (state.mRealCallingUidHasAnyVisibleWindow) { - return new BalVerdict(BAL_ALLOW_VISIBLE_WINDOW, - /*background*/ false, - "realCallingUid has visible (non-toast) window."); - } + if (appSwitchAllowedOrFg && state.mRealCallingUidHasAnyVisibleWindow) { + return new BalVerdict(BAL_ALLOW_VISIBLE_WINDOW, + /*background*/ false, "realCallingUid has visible window"); + } + if (mService.mActiveUids.hasNonAppVisibleWindow(state.mRealCallingUid)) { + return new BalVerdict(BAL_ALLOW_NON_APP_VISIBLE_WINDOW, + /*background*/ false, "realCallingUid has non-app visible window"); } // Don't abort if the realCallerApp or other processes of that uid are considered to be in -- cgit v1.2.3-59-g8ed1b