ContentSuggestionsService - add shell commands to disable default.
Bug: 126227834
Test: manual
Change-Id: If5ecd2d45c3b9d056d48f2254318aa515b9bceff
diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java
index e34f1ea..08cc69d 100644
--- a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java
+++ b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java
@@ -43,29 +43,13 @@
}
final PrintWriter pw = getOutPrintWriter();
switch (cmd) {
- case "set": {
- final String what = getNextArgRequired();
- switch (what) {
- case "temporary-service": {
- final int userId = Integer.parseInt(getNextArgRequired());
- String serviceName = getNextArg();
- if (serviceName == null) {
- mService.resetTemporaryService(userId);
- return 0;
- }
- final int duration = Integer.parseInt(getNextArgRequired());
- mService.setTemporaryService(userId, serviceName, duration);
- pw.println("ContentSuggestionsService temporarily set to " + serviceName
- + " for " + duration + "ms");
- break;
- }
- }
- }
- break;
+ case "set":
+ return requestSet(pw);
+ case "get":
+ return requestGet(pw);
default:
return handleDefaultCommands(cmd);
}
- return 0;
}
@Override
@@ -76,9 +60,72 @@
pw.println(" Prints this help text.");
pw.println("");
pw.println(" set temporary-service USER_ID [COMPONENT_NAME DURATION]");
- pw.println(" Temporarily (for DURATION ms) changes the service implemtation.");
+ pw.println(" Temporarily (for DURATION ms) changes the service implementation.");
pw.println(" To reset, call with just the USER_ID argument.");
pw.println("");
+ pw.println(" set default-service-enabled USER_ID [true|false]");
+ pw.println(" Enable / disable the default service for the user.");
+ pw.println("");
+ pw.println(" get default-service-enabled USER_ID");
+ pw.println(" Checks whether the default service is enabled for the user.");
+ pw.println("");
}
}
+
+ private int requestSet(PrintWriter pw) {
+ final String what = getNextArgRequired();
+
+ switch(what) {
+ case "temporary-service":
+ return setTemporaryService(pw);
+ case "default-service-enabled":
+ return setDefaultServiceEnabled();
+ default:
+ pw.println("Invalid set: " + what);
+ return -1;
+ }
+ }
+
+ private int requestGet(PrintWriter pw) {
+ final String what = getNextArgRequired();
+ switch(what) {
+ case "default-service-enabled":
+ return getDefaultServiceEnabled(pw);
+ default:
+ pw.println("Invalid get: " + what);
+ return -1;
+ }
+ }
+
+ private int setTemporaryService(PrintWriter pw) {
+ final int userId = Integer.parseInt(getNextArgRequired());
+ String serviceName = getNextArg();
+ if (serviceName == null) {
+ mService.resetTemporaryService(userId);
+ return 0;
+ }
+ final int duration = Integer.parseInt(getNextArgRequired());
+ mService.setTemporaryService(userId, serviceName, duration);
+ pw.println("ContentSuggestionsService temporarily set to " + serviceName
+ + " for " + duration + "ms");
+ return 0;
+ }
+
+ private int setDefaultServiceEnabled() {
+ final int userId = getNextIntArgRequired();
+ final boolean enabled = Boolean.parseBoolean(getNextArg());
+ mService.setDefaultServiceEnabled(userId, enabled);
+ return 0;
+ }
+
+ private int getDefaultServiceEnabled(PrintWriter pw) {
+ final int userId = getNextIntArgRequired();
+ final boolean enabled = mService.isDefaultServiceEnabled(userId);
+ pw.println(enabled);
+ return 0;
+ }
+
+ private int getNextIntArgRequired() {
+ return Integer.parseInt(getNextArgRequired());
+ }
}