diff options
author | 2018-08-03 17:00:25 +0100 | |
---|---|---|
committer | 2018-08-03 17:04:46 +0100 | |
commit | 2b992292fcbd15be0933dd64c0488a40b0c83d9d (patch) | |
tree | 27df3a82d5effe070c0b8d8e64f0df028eef9111 | |
parent | 8930cd21db86b8edd5ac9d0ae0af3baa0e64c33c (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.java | 15 |
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"); |