diff options
| author | 2024-05-07 16:39:46 +0000 | |
|---|---|---|
| committer | 2024-05-07 16:39:46 +0000 | |
| commit | 552a5fe6f19838e9a47138b218f51e6f1e35797e (patch) | |
| tree | ae16385006eb4e60d3a7851689d3847721967f95 | |
| parent | bb8a66429f2b6e431f12a06d7497ccb2b30bd9ad (diff) | |
| parent | c61115e4b9f34c26bb0b994a6d59b500a5c73241 (diff) | |
Merge "Revert "Rate limiting PiP aspect ratio change request"" into main
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityClientController.java | 30 | ||||
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java | 6 |
2 files changed, 0 insertions, 36 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityClientController.java b/services/core/java/com/android/server/wm/ActivityClientController.java index c5683f31f3e7..fe4522acc148 100644 --- a/services/core/java/com/android/server/wm/ActivityClientController.java +++ b/services/core/java/com/android/server/wm/ActivityClientController.java @@ -99,7 +99,6 @@ import android.view.RemoteAnimationDefinition; import android.window.SizeConfigurationBuckets; import android.window.TransitionInfo; -import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.AssistUtils; import com.android.internal.policy.IKeyguardDismissCallback; import com.android.internal.protolog.common.ProtoLog; @@ -109,9 +108,6 @@ import com.android.server.pm.KnownPackages; import com.android.server.pm.pkg.AndroidPackage; import com.android.server.uri.GrantUri; import com.android.server.uri.NeededUriGrants; -import com.android.server.utils.quota.Categorizer; -import com.android.server.utils.quota.Category; -import com.android.server.utils.quota.CountQuotaTracker; import com.android.server.vr.VrManagerInternal; /** @@ -127,13 +123,6 @@ class ActivityClientController extends IActivityClientController.Stub { private final ActivityTaskSupervisor mTaskSupervisor; private final Context mContext; - // Prevent malicious app abusing the Activity#setPictureInPictureParams API - @VisibleForTesting CountQuotaTracker mSetPipAspectRatioQuotaTracker; - // Limit to 60 times / minute - private static final int SET_PIP_ASPECT_RATIO_LIMIT = 60; - // The timeWindowMs here can not be smaller than QuotaTracker#MIN_WINDOW_SIZE_MS - private static final long SET_PIP_ASPECT_RATIO_TIME_WINDOW_MS = 60_000; - /** Wrapper around VoiceInteractionServiceManager. */ private AssistUtils mAssistUtils; @@ -1046,25 +1035,6 @@ class ActivityClientController extends IActivityClientController.Stub { + ": Current activity does not support picture-in-picture."); } - // Rate limit how frequent an app can request aspect ratio change via - // Activity#setPictureInPictureParams - final int userId = UserHandle.getCallingUserId(); - if (mSetPipAspectRatioQuotaTracker == null) { - mSetPipAspectRatioQuotaTracker = new CountQuotaTracker(mContext, - Categorizer.SINGLE_CATEGORIZER); - mSetPipAspectRatioQuotaTracker.setCountLimit(Category.SINGLE_CATEGORY, - SET_PIP_ASPECT_RATIO_LIMIT, SET_PIP_ASPECT_RATIO_TIME_WINDOW_MS); - } - if (r.pictureInPictureArgs.hasSetAspectRatio() - && params.hasSetAspectRatio() - && !r.pictureInPictureArgs.getAspectRatio().equals( - params.getAspectRatio()) - && !mSetPipAspectRatioQuotaTracker.noteEvent( - userId, r.packageName, "setPipAspectRatio")) { - throw new IllegalStateException(caller - + ": Too many PiP aspect ratio change requests from " + r.packageName); - } - final float minAspectRatio = mContext.getResources().getFloat( com.android.internal.R.dimen.config_pictureInPictureMinAspectRatio); final float maxAspectRatio = mContext.getResources().getFloat( diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java index fb854c5bda68..43b424fab907 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java @@ -1235,12 +1235,6 @@ public class WindowOrganizerTests extends WindowTestsBase { assertNotNull(o.mInfo); assertNotNull(o.mInfo.pictureInPictureParams); - // Bypass the quota check, which causes NPE in current test setup. - if (mWm.mAtmService.mActivityClientController.mSetPipAspectRatioQuotaTracker != null) { - mWm.mAtmService.mActivityClientController.mSetPipAspectRatioQuotaTracker - .setEnabled(false); - } - final PictureInPictureParams p2 = new PictureInPictureParams.Builder() .setAspectRatio(new Rational(3, 4)).build(); mWm.mAtmService.mActivityClientController.setPictureInPictureParams(record.token, p2); |