From 08a8c4371af1a03115d748dd80df478e0afdd60c Mon Sep 17 00:00:00 2001 From: Varun Shah Date: Sat, 6 May 2023 00:13:39 +0000 Subject: [PATCH 1/3] Ensure only valid events are reported. When CHOOSER_ACTION events are reported via reportChooserSelection, make sure the package name is not null and is also a valid, installed package. Bug: 229633537 Bug: 253403242 Test: atest UsageStatsTest Change-Id: Ib28014f2d21b451d2f7f6e7136f500fc49d0779b --- .../com/android/server/usage/UsageStatsService.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index a98429ad4902f..72f2c1ddfc771 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -2539,10 +2539,14 @@ public class UsageStatsService extends SystemService implements } @Override - public void reportChooserSelection(String packageName, int userId, String contentType, - String[] annotations, String action) { + public void reportChooserSelection(@NonNull String packageName, int userId, + String contentType, String[] annotations, String action) { if (packageName == null) { - Slog.w(TAG, "Event report user selecting a null package"); + throw new IllegalArgumentException("Package selection must not be null."); + } + // Verify if this package exists before reporting an event for it. + if (mPackageManagerInternal.getPackageUid(packageName, 0, userId) < 0) { + Slog.w(TAG, "Event report user selecting an invalid package"); return; } From a29dfab3e5c25df627cf6a4bee87c4f5a391f8b1 Mon Sep 17 00:00:00 2001 From: Lucas Silva Date: Thu, 11 May 2023 16:21:22 -0400 Subject: [PATCH 2/3] Update custom clock flag to a resource This will allow the flag to be overridden on a per-device basis. Bug: 281528246 Test: mp droid and verified that clocks are no longer present on device which overrides this resource to false Change-Id: I73022590bb61a28ee03166a9a29981efb090ded9 --- packages/SystemUI/res-keyguard/values/config.xml | 2 ++ packages/SystemUI/src/com/android/systemui/flags/Flags.kt | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/res-keyguard/values/config.xml b/packages/SystemUI/res-keyguard/values/config.xml index a25ab5109fa80..d50355140bed9 100644 --- a/packages/SystemUI/res-keyguard/values/config.xml +++ b/packages/SystemUI/res-keyguard/values/config.xml @@ -28,6 +28,8 @@ false + + true 3500 diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index 09601970e96a5..4c4f99b424572 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -115,7 +115,12 @@ object Flags { resourceBooleanFlag(204, R.bool.config_enableBouncerUserSwitcher, "bouncer_user_switcher") // TODO(b/254512676): Tracking Bug - @JvmField val LOCKSCREEN_CUSTOM_CLOCKS = releasedFlag(207, "lockscreen_custom_clocks") + @JvmField + val LOCKSCREEN_CUSTOM_CLOCKS = resourceBooleanFlag( + 207, + R.bool.config_enableLockScreenCustomClocks, + "lockscreen_custom_clocks" + ) // TODO(b/275694445): Tracking Bug @JvmField From 28f42bba3230d71765278d76b2edda71486a5b75 Mon Sep 17 00:00:00 2001 From: Yabin Cui Date: Thu, 11 May 2023 14:25:22 -0700 Subject: [PATCH 3/3] ProfcollectForwardingService: Pass usage setting when reporting Bug: 282060259 Test: run am broadcast -a com.android.server.profcollect.UPLOAD_PROFILES Change-Id: I891d10d023766009903383abb6421f3947f5f612 --- .../profcollect/ProfcollectForwardingService.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java index 8f23ae4ff33be..4007672a0599c 100644 --- a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java +++ b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java @@ -34,6 +34,8 @@ import android.os.SystemProperties; import android.os.UpdateEngine; import android.os.UpdateEngineCallback; import android.provider.DeviceConfig; +import android.provider.Settings; +import android.provider.Settings.SettingNotFoundException; import android.util.Log; import com.android.internal.R; @@ -332,8 +334,17 @@ public final class ProfcollectForwardingService extends SystemService { Context context = getContext(); BackgroundThread.get().getThreadHandler().post(() -> { try { + int usageSetting = -1; + try { + // Get "Usage & diagnostics" checkbox status. 1 is for enabled, 0 is for + // disabled. + usageSetting = Settings.Global.getInt(context.getContentResolver(), "multi_cb"); + } catch (SettingNotFoundException e) { + Log.i(LOG_TAG, "Usage setting not found: " + e.getMessage()); + } + // Prepare profile report - String reportName = mIProfcollect.report() + ".zip"; + String reportName = mIProfcollect.report(usageSetting) + ".zip"; if (!context.getResources().getBoolean( R.bool.config_profcollectReportUploaderEnabled)) {