summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java3
-rw-r--r--services/core/java/com/android/server/om/OverlayManagerService.java8
2 files changed, 8 insertions, 3 deletions
diff --git a/core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java b/core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java
index d898d222b8de..36c73e2e979e 100644
--- a/core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java
+++ b/core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java
@@ -187,6 +187,9 @@ public class InstallOverlayTests extends BaseHostJUnit4Test {
shell("cmd overlay list " + APP_OVERLAY_PACKAGE_NAME).trim());
assertEquals("STATE_ENABLED",
shell("cmd overlay dump state " + APP_OVERLAY_PACKAGE_NAME).trim());
+
+ assertEquals("STATE_ENABLED",
+ shell("cmd overlay dump --user current state " + APP_OVERLAY_PACKAGE_NAME).trim());
}
private void delay() {
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
index 6303ecd53dbb..8710438d76b3 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -1064,10 +1064,12 @@ public final class OverlayManagerService extends SystemService {
return;
}
try {
- dumpState.setUserId(Integer.parseInt(args[opti]));
+ final int userId = UserHandle.parseUserArg(args[opti]);
+ final int realUserId = handleIncomingUser(userId, "dump");
+ dumpState.setUserId(realUserId);
opti++;
- } catch (NumberFormatException e) {
- pw.println("Error: user argument is not a number: " + args[opti]);
+ } catch (Exception e) {
+ pw.println("Error: " + e.getMessage());
return;
}
} else if ("--verbose".equals(opt)) {