summaryrefslogtreecommitdiff
path: root/apex
diff options
context:
space:
mode:
authorKweku Adams <kwekua@google.com>2023-12-05 23:18:27 +0000
committerKweku Adams <kwekua@google.com>2023-12-05 23:18:27 +0000
commit1ffaf3be517af37ba4f170b77087af8484cbf5e6 (patch)
treea76af5b787b20f85ded80eecaba254a37fd5b2dc /apex
parentcf0d71f83c1084fa5e4c60663bb9aaa8b8cd4529 (diff)
downloadbase-1ffaf3be517af37ba4f170b77087af8484cbf5e6.tar.gz
Add shell command to get aconfig flag values.
Also include the flag value in the job dump. Bug: 314877619 Test: atest CtsJobSchedulerTestCases:JobInfoTest Change-Id: Idfb507de07354c97af1d39f6cc67b09fa891d5b9
Diffstat (limited to 'apex')
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java8
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/JobSchedulerShellCommand.java27
2 files changed, 35 insertions, 0 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
index f97100bf2e9b..7e142a5ddd7b 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
@@ -5365,6 +5365,14 @@ public class JobSchedulerService extends com.android.server.SystemService
}
pw.println();
+ pw.println("Aconfig flags:");
+ pw.increaseIndent();
+ pw.print(Flags.FLAG_THROW_ON_UNSUPPORTED_BIAS_USAGE,
+ Flags.throwOnUnsupportedBiasUsage());
+ pw.println();
+ pw.decreaseIndent();
+ pw.println();
+
for (int i = mJobRestrictions.size() - 1; i >= 0; i--) {
mJobRestrictions.get(i).dumpConstants(pw);
}
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerShellCommand.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerShellCommand.java
index 293088d9236f..c14efae3fa62 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerShellCommand.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerShellCommand.java
@@ -58,6 +58,8 @@ public final class JobSchedulerShellCommand extends BasicShellCommandHandler {
return cancelJob(pw);
case "monitor-battery":
return monitorBattery(pw);
+ case "get-aconfig-flag-state":
+ return getAconfigFlagState(pw);
case "get-battery-seq":
return getBatterySeq(pw);
case "get-battery-charging":
@@ -336,6 +338,28 @@ public final class JobSchedulerShellCommand extends BasicShellCommandHandler {
return 0;
}
+ private int getAconfigFlagState(PrintWriter pw) throws Exception {
+ checkPermission("get aconfig flag state");
+
+ final String flagName = getNextArgRequired();
+
+ switch (flagName) {
+ case android.app.job.Flags.FLAG_JOB_DEBUG_INFO_APIS:
+ pw.println(android.app.job.Flags.jobDebugInfoApis());
+ break;
+ case android.app.job.Flags.FLAG_ENFORCE_MINIMUM_TIME_WINDOWS:
+ pw.println(android.app.job.Flags.enforceMinimumTimeWindows());
+ break;
+ case com.android.server.job.Flags.FLAG_THROW_ON_UNSUPPORTED_BIAS_USAGE:
+ pw.println(com.android.server.job.Flags.throwOnUnsupportedBiasUsage());
+ break;
+ default:
+ pw.println("Unknown flag: " + flagName);
+ break;
+ }
+ return 0;
+ }
+
private int getBatterySeq(PrintWriter pw) {
int seq = mInternal.getBatterySeq();
pw.println(seq);
@@ -693,6 +717,9 @@ public final class JobSchedulerShellCommand extends BasicShellCommandHandler {
pw.println(" monitor-battery [on|off]");
pw.println(" Control monitoring of all battery changes. Off by default. Turning");
pw.println(" on makes get-battery-seq useful.");
+ pw.println(" get-aconfig-flag-state FULL_FLAG_NAME");
+ pw.println(" Return the state of the specified aconfig flag, if known. The flag name");
+ pw.println(" must be fully qualified.");
pw.println(" get-battery-seq");
pw.println(" Return the last battery update sequence number that was received.");
pw.println(" get-battery-charging");