Merge "Ensure valid parameters for CHOOSER_ACTION events." into udc-dev am: aefac4e024

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23253039

Change-Id: I650f7d15e69a775239ff9f8146eac806674901b4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-05-16 16:42:45 +00:00
committed by Automerger Merge Worker

View File

@@ -2540,10 +2540,15 @@ public class UsageStatsService extends SystemService implements
@Override @Override
public void reportChooserSelection(@NonNull String packageName, int userId, public void reportChooserSelection(@NonNull String packageName, int userId,
String contentType, String[] annotations, String action) { @NonNull String contentType, String[] annotations, @NonNull String action) {
if (packageName == null) { if (packageName == null) {
throw new IllegalArgumentException("Package selection must not be null."); throw new IllegalArgumentException("Package selection must not be null.");
} }
// A valid contentType and action must be provided for chooser selection events.
if (contentType == null || contentType.isBlank()
|| action == null || action.isBlank()) {
return;
}
// Verify if this package exists before reporting an event for it. // Verify if this package exists before reporting an event for it.
if (mPackageManagerInternal.getPackageUid(packageName, 0, userId) < 0) { if (mPackageManagerInternal.getPackageUid(packageName, 0, userId) < 0) {
Slog.w(TAG, "Event report user selecting an invalid package"); Slog.w(TAG, "Event report user selecting an invalid package");