summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jing Ji <jji@google.com> 2022-02-28 23:56:06 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-02-28 23:56:06 +0000
commitde24bcd6ffbd0fc79590ceb3445f240bb33e6433 (patch)
tree90fec72d2a49275af18770d77b261c7bcf13ec54
parent8e5e13acf0d0a4c003631b569ac554c4e6e39806 (diff)
parent44c9d303e2f285075e704cdd715fe93d994bb678 (diff)
Merge "Move the lock to the individual app restriction setting's dump" into tm-dev
-rw-r--r--services/core/java/com/android/server/am/AppRestrictionController.java46
1 files changed, 22 insertions, 24 deletions
diff --git a/services/core/java/com/android/server/am/AppRestrictionController.java b/services/core/java/com/android/server/am/AppRestrictionController.java
index 561c10b93e34..d07590fc8db5 100644
--- a/services/core/java/com/android/server/am/AppRestrictionController.java
+++ b/services/core/java/com/android/server/am/AppRestrictionController.java
@@ -398,23 +398,24 @@ public final class AppRestrictionController {
return sb.toString();
}
- @GuardedBy("mSettingsLock")
void dump(PrintWriter pw, @ElapsedRealtimeLong long nowElapsed) {
- pw.print(toString());
- if (mLastRestrictionLevel != RESTRICTION_LEVEL_UNKNOWN) {
- pw.print('/');
- pw.print(ActivityManager.restrictionLevelToName(mLastRestrictionLevel));
- }
- pw.print(" levelChange=");
- TimeUtils.formatDuration(mLevelChangeTimeElapsed - nowElapsed, pw);
- if (mLastNotificationShownTimeElapsed != null) {
- for (int i = 0; i < mLastNotificationShownTimeElapsed.length; i++) {
- if (mLastNotificationShownTimeElapsed[i] > 0) {
- pw.print(" lastNoti(");
- pw.print(mNotificationHelper.notificationTypeToString(i));
- pw.print(")=");
- TimeUtils.formatDuration(
- mLastNotificationShownTimeElapsed[i] - nowElapsed, pw);
+ synchronized (mSettingsLock) {
+ pw.print(toString());
+ if (mLastRestrictionLevel != RESTRICTION_LEVEL_UNKNOWN) {
+ pw.print('/');
+ pw.print(ActivityManager.restrictionLevelToName(mLastRestrictionLevel));
+ }
+ pw.print(" levelChange=");
+ TimeUtils.formatDuration(mLevelChangeTimeElapsed - nowElapsed, pw);
+ if (mLastNotificationShownTimeElapsed != null) {
+ for (int i = 0; i < mLastNotificationShownTimeElapsed.length; i++) {
+ if (mLastNotificationShownTimeElapsed[i] > 0) {
+ pw.print(" lastNoti(");
+ pw.print(mNotificationHelper.notificationTypeToString(i));
+ pw.print(")=");
+ TimeUtils.formatDuration(
+ mLastNotificationShownTimeElapsed[i] - nowElapsed, pw);
+ }
}
}
}
@@ -612,10 +613,11 @@ public final class AppRestrictionController {
}
}
- @GuardedBy("mSettingsLock")
- void dumpLocked(PrintWriter pw, String prefix) {
+ void dump(PrintWriter pw, String prefix) {
final ArrayList<PkgSettings> settings = new ArrayList<>();
- mRestrictionLevels.forEach(setting -> settings.add(setting));
+ synchronized (mSettingsLock) {
+ mRestrictionLevels.forEach(setting -> settings.add(setting));
+ }
Collections.sort(settings, Comparator.comparingInt(PkgSettings::getUid));
final long nowElapsed = SystemClock.elapsedRealtime();
for (int i = 0, size = settings.size(); i < size; i++) {
@@ -1322,11 +1324,7 @@ public final class AppRestrictionController {
prefix = " " + prefix;
pw.print(prefix);
pw.println("BACKGROUND RESTRICTION LEVEL SETTINGS");
- /*
- synchronized (mSettingsLock) {
- mRestrictionSettings.dumpLocked(pw, " " + prefix);
- }
- */
+ mRestrictionSettings.dump(pw, " " + prefix);
mConstantsObserver.dump(pw, " " + prefix);
for (int i = 0, size = mAppStateTrackers.size(); i < size; i++) {
pw.println();