Merge "Add easy way to get device idle whitelist." into mnc-dev
diff --git a/services/core/java/com/android/server/DeviceIdleController.java b/services/core/java/com/android/server/DeviceIdleController.java
index c8dc565..fde1490 100644
--- a/services/core/java/com/android/server/DeviceIdleController.java
+++ b/services/core/java/com/android/server/DeviceIdleController.java
@@ -1236,6 +1236,8 @@
pw.println(" Re-enable device idle mode after it had previously been disabled.");
pw.println(" enabled");
pw.println(" Print 1 if device idle mode is currently enabled, else 0.");
+ pw.println(" whitelist");
+ pw.println(" Print currently whitelisted apps.");
pw.println(" whitelist [package ...]");
pw.println(" Add (prefix with +) or remove (prefix with -) packages.");
pw.println(" tempwhitelist [package ..]");
@@ -1314,25 +1316,42 @@
long token = Binder.clearCallingIdentity();
try {
i++;
- while (i < args.length) {
- arg = args[i];
- i++;
- if (arg.length() < 1 || (arg.charAt(0) != '-'
- && arg.charAt(0) != '+')) {
- pw.println("Package must be prefixed with + or -: " + arg);
- return;
- }
- char op = arg.charAt(0);
- String pkg = arg.substring(1);
- if (op == '+') {
- if (addPowerSaveWhitelistAppInternal(pkg)) {
- pw.println("Added: " + pkg);
- } else {
- pw.println("Unknown package: " + pkg);
+ if (i < args.length) {
+ while (i < args.length) {
+ arg = args[i];
+ i++;
+ if (arg.length() < 1 || (arg.charAt(0) != '-'
+ && arg.charAt(0) != '+')) {
+ pw.println("Package must be prefixed with + or -: " + arg);
+ return;
}
- } else {
- if (removePowerSaveWhitelistAppInternal(pkg)) {
- pw.println("Removed: " + pkg);
+ char op = arg.charAt(0);
+ String pkg = arg.substring(1);
+ if (op == '+') {
+ if (addPowerSaveWhitelistAppInternal(pkg)) {
+ pw.println("Added: " + pkg);
+ } else {
+ pw.println("Unknown package: " + pkg);
+ }
+ } else {
+ if (removePowerSaveWhitelistAppInternal(pkg)) {
+ pw.println("Removed: " + pkg);
+ }
+ }
+ }
+ } else {
+ synchronized (this) {
+ for (int j=0; j<mPowerSaveWhitelistApps.size(); j++) {
+ pw.print("system,");
+ pw.print(mPowerSaveWhitelistApps.keyAt(j));
+ pw.print(",");
+ pw.println(mPowerSaveWhitelistApps.valueAt(j));
+ }
+ for (int j=0; j<mPowerSaveWhitelistUserApps.size(); j++) {
+ pw.print("user,");
+ pw.print(mPowerSaveWhitelistUserApps.keyAt(j));
+ pw.print(",");
+ pw.println(mPowerSaveWhitelistUserApps.valueAt(j));
}
}
}