Support custom user strings.
Use UserHandle.parseUserArg() when parsing adb command flags to enable
parsing "cur" and other special user strings.
Bug: 282063891
Test: atest CtsJobSchedulerTestCases
Test: `adb shell cmd jobscheduler run --user cur com.android.settings 2131427352`
Change-Id: Ibe06f536f1de760a5604d067b6c1894f756a17c6
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 4357d4f..293088d 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerShellCommand.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerShellCommand.java
@@ -180,7 +180,7 @@
case "-u":
case "--user":
- userId = Integer.parseInt(getNextArgRequired());
+ userId = UserHandle.parseUserArg(getNextArgRequired());
break;
case "-n":
@@ -199,6 +199,10 @@
return -1;
}
+ if (userId == UserHandle.USER_CURRENT) {
+ userId = ActivityManager.getCurrentUser();
+ }
+
final String pkgName = getNextArgRequired();
final int jobId = Integer.parseInt(getNextArgRequired());