diff options
| author | Gustav Sennton <gsennton@google.com> | 2016-02-18 12:19:13 +0000 |
|---|---|---|
| committer | Gustav Sennton <gsennton@google.com> | 2016-02-23 14:17:14 +0000 |
| commit | c83e3fa35a5736a1778d241abd18dffa5953f416 (patch) | |
| tree | bb82389c7998fbe949acb58e49ae171314ea245f /core/java/android/webkit/WebViewProviderInfo.java | |
| parent | cf7518f78af84aaafc7cd38ff69eec357a5b3055 (diff) | |
Add fallback packages to be enabled iff no webview packages are valid
This patch makes it possible to declare a WebView package as a fallback
which means that the package will be enabled iff there exist no other
valid and enabled (and available-by-default) webview packages.
The enabled-state of a fallback package is updated at boot and if a
webview package is changed (it it's been up/downgraded or has had its
enabled-state changed).
This patch also adds 'webviewupdate' shell commands for enabling and
disabling this mechanism.
Bug: 26375524, 26375860
Change-Id: I151915e5d6d932697dab10aeb593687e6b9c817e
Diffstat (limited to 'core/java/android/webkit/WebViewProviderInfo.java')
| -rw-r--r-- | core/java/android/webkit/WebViewProviderInfo.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/core/java/android/webkit/WebViewProviderInfo.java b/core/java/android/webkit/WebViewProviderInfo.java index 94e8b70ce38c..64c2caa58fd5 100644 --- a/core/java/android/webkit/WebViewProviderInfo.java +++ b/core/java/android/webkit/WebViewProviderInfo.java @@ -40,11 +40,12 @@ public class WebViewProviderInfo implements Parcelable { public WebViewPackageNotFoundException(Exception e) { super(e); } } - public WebViewProviderInfo(String packageName, String description, String availableByDefault, - String[] signatures) { + public WebViewProviderInfo(String packageName, String description, boolean availableByDefault, + boolean isFallback, String[] signatures) { this.packageName = packageName; this.description = description; - this.availableByDefault = availableByDefault.equals("true"); + this.availableByDefault = availableByDefault; + this.isFallback = isFallback; this.signatures = signatures; } @@ -114,6 +115,10 @@ public class WebViewProviderInfo implements Parcelable { return availableByDefault; } + public boolean isFallbackPackage() { + return isFallback; + } + private void updatePackageInfo() { try { PackageManager pm = AppGlobals.getInitialApplication().getPackageManager(); @@ -165,6 +170,7 @@ public class WebViewProviderInfo implements Parcelable { public String packageName; public String description; private boolean availableByDefault; + private boolean isFallback; private String[] signatures; |
