summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Gustav Sennton <gsennton@google.com> 2016-02-25 15:34:23 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-02-25 15:34:24 +0000
commitef417514e703c79b5d321fa483d36d479f55f3b3 (patch)
tree385808604005c0a3a4bbd2478f8dd0a37c6924da
parent596e1d3b7a7080b44a293095d81a61175ac60c49 (diff)
parent1e5d80319593539790613d9abff2b6c7bf161c6d (diff)
Merge "Trigger the webview update logic when receiving PACKAGE_CHANGED intents." into nyc-dev
-rw-r--r--services/core/java/com/android/server/webkit/WebViewUpdateService.java11
1 files changed, 4 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateService.java b/services/core/java/com/android/server/webkit/WebViewUpdateService.java
index bc5d73fed4c8..9c770e1fdd27 100644
--- a/services/core/java/com/android/server/webkit/WebViewUpdateService.java
+++ b/services/core/java/com/android/server/webkit/WebViewUpdateService.java
@@ -125,16 +125,12 @@ public class WebViewUpdateService extends SystemService {
updateFallbackState(context, intent);
- // TODO(gsennton) for now don't update WebView on PACKAGE_CHANGED as this will
- // change the current behaviour even more, instead do this in a follow-up.
- if (intent.getAction().equals(Intent.ACTION_PACKAGE_CHANGED)) return;
-
for (WebViewProviderInfo provider : WebViewFactory.getWebViewPackages()) {
String webviewPackage = "package:" + provider.packageName;
if (webviewPackage.equals(intent.getDataString())) {
boolean updateWebView = false;
- boolean removedOldPackage = false;
+ boolean removedOrChangedOldPackage = false;
String oldProviderName = null;
PackageInfo newPackage = null;
synchronized(WebViewUpdateService.this) {
@@ -152,7 +148,7 @@ public class WebViewUpdateService extends SystemService {
|| mCurrentWebViewPackage == null;
// We removed the old package if we received an intent to remove
// or replace the old package.
- removedOldPackage =
+ removedOrChangedOldPackage =
provider.packageName.equals(oldProviderName);
if (updateWebView) {
onWebViewProviderChanged(newPackage);
@@ -162,7 +158,8 @@ public class WebViewUpdateService extends SystemService {
"relro with " + e);
}
}
- if(updateWebView && !removedOldPackage && oldProviderName != null) {
+ if(updateWebView && !removedOrChangedOldPackage
+ && oldProviderName != null) {
// If the provider change is the result of adding or replacing a
// package that was not the previous provider then we must kill
// packages dependent on the old package ourselves. The framework