summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/WebViewProviderInfo.java
diff options
context:
space:
mode:
authorGustav Sennton <gsennton@google.com>2016-02-18 12:19:13 +0000
committerGustav Sennton <gsennton@google.com>2016-02-23 14:17:14 +0000
commitc83e3fa35a5736a1778d241abd18dffa5953f416 (patch)
treebb82389c7998fbe949acb58e49ae171314ea245f /core/java/android/webkit/WebViewProviderInfo.java
parentcf7518f78af84aaafc7cd38ff69eec357a5b3055 (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.java12
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;