From a9ec7caaac3b7364f6e5eabf73dabce35e5047db Mon Sep 17 00:00:00 2001 From: Daniel Chapin <chapin@google.com> Date: Mon, 16 Oct 2023 15:39:23 +0000 Subject: [PATCH] Revert "Update new permission logic to use flagging." Revert submission 25024821-b296056771-3 Reason for revert: Droidfood blocking bug: b/305648037 Reverted changes: /q/submissionid:25024821-b296056771-3 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3cee7edf33438b74601e955244dffa3140984e64) Merged-In: I55f78b2ff3bd7283f59dc2344a4052baf1c0b1dd Change-Id: I55f78b2ff3bd7283f59dc2344a4052baf1c0b1dd --- core/api/system-current.txt | 2 +- core/java/android/app/usage/flags.aconfig | 6 ------ core/res/AndroidManifest.xml | 4 +--- .../android/server/usage/UsageStatsService.java | 16 ++++++---------- 4 files changed, 8 insertions(+), 20 deletions(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 1f20cb9c26f9..a1da9e02f23d 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -314,7 +314,7 @@ package android { field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES"; field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS"; field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS"; - field @FlaggedApi("backstage_power.report_usage_stats_permission") public static final String REPORT_USAGE_STATS = "android.permission.REPORT_USAGE_STATS"; + field public static final String REPORT_USAGE_STATS = "android.permission.REPORT_USAGE_STATS"; field @Deprecated public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES"; field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"; field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD"; diff --git a/core/java/android/app/usage/flags.aconfig b/core/java/android/app/usage/flags.aconfig index d1f90676a15f..afe87de1dbf5 100644 --- a/core/java/android/app/usage/flags.aconfig +++ b/core/java/android/app/usage/flags.aconfig @@ -7,9 +7,3 @@ flag { bug: "296061232" } -flag { - name: "report_usage_stats_permission" - namespace: "backstage_power" - description: "Feature flag for the new REPORT_USAGE_STATS permission." - bug: "296056771" -} diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 84690a7a617d..a54a563b1804 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -6122,9 +6122,7 @@ android:protectionLevel="signature|privileged|development|appop|retailDemo" /> <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" /> - <!-- @SystemApi @hide - @FlaggedApi("backstage_power.report_usage_stats_permission") - Allows trusted system components to report events to UsageStatsManager --> + <!-- @SystemApi @hide Allows trusted system components to report events to UsageStatsManager --> <permission android:name="android.permission.REPORT_USAGE_STATS" android:protectionLevel="signature|module" /> diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index 2e6278d9a75d..1e09fce28740 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -53,7 +53,6 @@ import android.app.usage.AppStandbyInfo; import android.app.usage.BroadcastResponseStatsList; import android.app.usage.ConfigurationStats; import android.app.usage.EventStats; -import android.app.usage.Flags; import android.app.usage.IUsageStatsManager; import android.app.usage.UsageEvents; import android.app.usage.UsageEvents.Event; @@ -2127,15 +2126,12 @@ public class UsageStatsService extends SystemService implements } private boolean canReportUsageStats() { - final boolean isSystem = isCallingUidSystem(); - if (!Flags.reportUsageStatsPermission()) { - // If the flag is disabled, do no check for the new permission and instead return - // true only if the calling uid is system since System UID can always report stats. - return isSystem; - } - return isSystem - || getContext().checkCallingPermission(Manifest.permission.REPORT_USAGE_STATS) - == PackageManager.PERMISSION_GRANTED; + if (isCallingUidSystem()) { + return true; // System UID can always report UsageStats + } + + return getContext().checkCallingPermission(Manifest.permission.REPORT_USAGE_STATS) + == PackageManager.PERMISSION_GRANTED; } private boolean hasObserverPermission() { -- GitLab