diff options
-rw-r--r-- | services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java | 89 |
1 files changed, 68 insertions, 21 deletions
diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java index e34f1eadcd02..08cc69d8f505 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 @@ public class ContentSuggestionsManagerServiceShellCommand extends ShellCommand { } 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 @@ public class ContentSuggestionsManagerServiceShellCommand extends ShellCommand { 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()); + } } |