Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a21fb8e authored by Varun Shah's avatar Varun Shah
Browse files

Add the RequiresPermission annotation to UsageStats APIs.

Some of the APIs in UsageStatsManager required the PACKAGE_USAGE_STATS
permission but not all of them had the annotation.

Bug: 406803060
Test: atest CtsUsageStatsTestCases
Flag: EXEMPT updating annotations only
FCRS_CODE : malxkhopqhlpvj

Change-Id: I0688eefcb7f72b8277fdb923978b38ed542eacf7
parent 27cd29d0
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -9861,13 +9861,13 @@ package android.app.usage {
  public final class UsageStatsManager {
    method public int getAppStandbyBucket();
    method public boolean isAppInactive(String);
    method public java.util.Map<java.lang.String,android.app.usage.UsageStats> queryAndAggregateUsageStats(long, long);
    method public java.util.List<android.app.usage.ConfigurationStats> queryConfigurations(int, long, long);
    method public java.util.List<android.app.usage.EventStats> queryEventStats(int, long, long);
    method public android.app.usage.UsageEvents queryEvents(long, long);
    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,android.app.usage.UsageStats> queryAndAggregateUsageStats(long, long);
    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.List<android.app.usage.ConfigurationStats> queryConfigurations(int, long, long);
    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.List<android.app.usage.EventStats> queryEventStats(int, long, long);
    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public android.app.usage.UsageEvents queryEvents(long, long);
    method @FlaggedApi("android.app.usage.filter_based_event_query_api") @Nullable @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public android.app.usage.UsageEvents queryEvents(@NonNull android.app.usage.UsageEventsQuery);
    method public android.app.usage.UsageEvents queryEventsForSelf(long, long);
    method public java.util.List<android.app.usage.UsageStats> queryUsageStats(int, long, long);
    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.List<android.app.usage.UsageStats> queryUsageStats(int, long, long);
    field @FlaggedApi("android.app.usage.user_interaction_type_api") public static final String EXTRA_EVENT_ACTION = "android.app.usage.extra.EVENT_ACTION";
    field @FlaggedApi("android.app.usage.user_interaction_type_api") public static final String EXTRA_EVENT_CATEGORY = "android.app.usage.extra.EVENT_CATEGORY";
    field public static final int INTERVAL_BEST = 4; // 0x4
+5 −0
Original line number Diff line number Diff line
@@ -480,6 +480,7 @@ public final class UsageStatsManager {
     * @see #INTERVAL_BEST
     */
    @UserHandleAware
    @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)
    public List<UsageStats> queryUsageStats(int intervalType, long beginTime, long endTime) {
        try {
            @SuppressWarnings("unchecked")
@@ -511,6 +512,7 @@ public final class UsageStatsManager {
     *                in terms of "Unix time", see {@link java.lang.System#currentTimeMillis}.
     * @return A list of {@link ConfigurationStats}
     */
    @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)
    public List<ConfigurationStats> queryConfigurations(int intervalType, long beginTime,
            long endTime) {
        try {
@@ -558,6 +560,7 @@ public final class UsageStatsManager {
     * @see #INTERVAL_YEARLY
     * @see #INTERVAL_BEST
     */
    @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)
    public List<EventStats> queryEventStats(int intervalType, long beginTime, long endTime) {
        try {
            @SuppressWarnings("unchecked")
@@ -587,6 +590,7 @@ public final class UsageStatsManager {
     *                in terms of "Unix time", see {@link java.lang.System#currentTimeMillis}.
     * @return A {@link UsageEvents}.
     */
    @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)
    public UsageEvents queryEvents(long beginTime, long endTime) {
        try {
            UsageEvents iter = mService.queryEvents(beginTime, endTime,
@@ -665,6 +669,7 @@ public final class UsageStatsManager {
     *                in terms of "Unix time", see {@link java.lang.System#currentTimeMillis}.
     * @return A {@link java.util.Map} keyed by package name
     */
    @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)
    public Map<String, UsageStats> queryAndAggregateUsageStats(long beginTime, long endTime) {
        List<UsageStats> stats = queryUsageStats(INTERVAL_BEST, beginTime, endTime);
        if (stats.isEmpty()) {