summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Laís Minchillo <laisminchillo@google.com> 2018-08-03 17:00:25 +0100
committer Laís Minchillo <laisminchillo@google.com> 2018-08-03 17:04:46 +0100
commit2b992292fcbd15be0933dd64c0488a40b0c83d9d (patch)
tree27df3a82d5effe070c0b8d8e64f0df028eef9111
parent8930cd21db86b8edd5ac9d0ae0af3baa0e64c33c (diff)
Fix crash when calling set-webview-implementation with no argument
Fix a crash caused by a NPE when calling set-webview-implementation without providing a package as a parameter Bug: b/112181942 Test: manually checked that calling set-webview-implementation no longer triggers a crash Change-Id: Iba7c6e143d2cc78074f34ed751533287fe952ff9
-rw-r--r--services/core/java/com/android/server/webkit/WebViewUpdateServiceShellCommand.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateServiceShellCommand.java b/services/core/java/com/android/server/webkit/WebViewUpdateServiceShellCommand.java
index 39e28c74e0a5..3199ed47503e 100644
--- a/services/core/java/com/android/server/webkit/WebViewUpdateServiceShellCommand.java
+++ b/services/core/java/com/android/server/webkit/WebViewUpdateServiceShellCommand.java
@@ -66,6 +66,12 @@ class WebViewUpdateServiceShellCommand extends ShellCommand {
private int setWebViewImplementation() throws RemoteException {
final PrintWriter pw = getOutPrintWriter();
String shellChosenPackage = getNextArg();
+ if (shellChosenPackage == null) {
+ pw.println("Failed to switch, no PACKAGE provided.");
+ pw.println("");
+ helpSetWebViewImplementation();
+ return 1;
+ }
String newPackage = mInterface.changeProviderAndSetting(shellChosenPackage);
if (shellChosenPackage.equals(newPackage)) {
pw.println("Success");
@@ -85,6 +91,12 @@ class WebViewUpdateServiceShellCommand extends ShellCommand {
return 0;
}
+ public void helpSetWebViewImplementation() {
+ PrintWriter pw = getOutPrintWriter();
+ pw.println(" set-webview-implementation PACKAGE");
+ pw.println(" Set the WebView implementation to the specified package.");
+ }
+
@Override
public void onHelp() {
PrintWriter pw = getOutPrintWriter();
@@ -99,8 +111,7 @@ class WebViewUpdateServiceShellCommand extends ShellCommand {
pw.println(" disable-redundant-packages");
pw.println(" Disallow installing and enabling fallback packages when a more-preferred");
pw.println(" package is available.");
- pw.println(" set-webview-implementation PACKAGE");
- pw.println(" Set the WebView implementation to the specified package.");
+ helpSetWebViewImplementation();
pw.println(" enable-multiprocess");
pw.println(" Enable multi-process mode for WebView");
pw.println(" disable-multiprocess");