diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/usage/UsageStatsManager.java | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java index 2c701b48455c..0d66198db038 100644 --- a/core/java/android/app/usage/UsageStatsManager.java +++ b/core/java/android/app/usage/UsageStatsManager.java @@ -288,25 +288,25 @@ public final class UsageStatsManager { */ public static final int REASON_SUB_PREDICTED_RESTORED = 0x0001; /** - * The reason for restricting the app is unknown or undefined. + * The reason the system forced the app into the bucket is unknown or undefined. * @hide */ - public static final int REASON_SUB_RESTRICT_UNDEFINED = 0x0000; + public static final int REASON_SUB_FORCED_SYSTEM_FLAG_UNDEFINED = 0; /** * The app was unnecessarily using system resources (battery, memory, etc) in the background. * @hide */ - public static final int REASON_SUB_RESTRICT_BACKGROUND_RESOURCE_USAGE = 0x0001; + public static final int REASON_SUB_FORCED_SYSTEM_FLAG_BACKGROUND_RESOURCE_USAGE = 1 << 0; /** * The app was deemed to be intentionally abusive. * @hide */ - public static final int REASON_SUB_RESTRICT_ABUSE = 0x0002; + public static final int REASON_SUB_FORCED_SYSTEM_FLAG_ABUSE = 1 << 1; /** * The app was displaying buggy behavior. * @hide */ - public static final int REASON_SUB_RESTRICT_BUGGY = 0x0003; + public static final int REASON_SUB_FORCED_SYSTEM_FLAG_BUGGY = 1 << 2; /** @hide */ @@ -322,6 +322,17 @@ public final class UsageStatsManager { @Retention(RetentionPolicy.SOURCE) public @interface StandbyBuckets {} + /** @hide */ + @IntDef(flag = true, prefix = {"REASON_SUB_FORCED_SYSTEM_FLAG_FLAG_"}, value = { + REASON_SUB_FORCED_SYSTEM_FLAG_UNDEFINED, + REASON_SUB_FORCED_SYSTEM_FLAG_BACKGROUND_RESOURCE_USAGE, + REASON_SUB_FORCED_SYSTEM_FLAG_ABUSE, + REASON_SUB_FORCED_SYSTEM_FLAG_BUGGY, + }) + @Retention(RetentionPolicy.SOURCE) + public @interface SystemForcedReasons { + } + /** * Observer id of the registered observer for the group of packages that reached the usage * time limit. Included as an extra in the PendingIntent that was registered. @@ -1053,6 +1064,7 @@ public final class UsageStatsManager { /** @hide */ public static String reasonToString(int standbyReason) { + final int subReason = standbyReason & REASON_SUB_MASK; StringBuilder sb = new StringBuilder(); switch (standbyReason & REASON_MAIN_MASK) { case REASON_MAIN_DEFAULT: @@ -1060,19 +1072,8 @@ public final class UsageStatsManager { break; case REASON_MAIN_FORCED_BY_SYSTEM: sb.append("s"); - switch (standbyReason & REASON_SUB_MASK) { - case REASON_SUB_RESTRICT_ABUSE: - sb.append("-ra"); - break; - case REASON_SUB_RESTRICT_BACKGROUND_RESOURCE_USAGE: - sb.append("-rbru"); - break; - case REASON_SUB_RESTRICT_BUGGY: - sb.append("-rb"); - break; - case REASON_SUB_RESTRICT_UNDEFINED: - sb.append("-r"); - break; + if (subReason > 0) { + sb.append("-").append(Integer.toBinaryString(subReason)); } break; case REASON_MAIN_FORCED_BY_USER: @@ -1080,7 +1081,7 @@ public final class UsageStatsManager { break; case REASON_MAIN_PREDICTED: sb.append("p"); - switch (standbyReason & REASON_SUB_MASK) { + switch (subReason) { case REASON_SUB_PREDICTED_RESTORED: sb.append("-r"); break; @@ -1091,7 +1092,7 @@ public final class UsageStatsManager { break; case REASON_MAIN_USAGE: sb.append("u"); - switch (standbyReason & REASON_SUB_MASK) { + switch (subReason) { case REASON_SUB_USAGE_SYSTEM_INTERACTION: sb.append("-si"); break; |
