diff options
| author | 2016-02-25 15:34:23 +0000 | |
|---|---|---|
| committer | 2016-02-25 15:34:24 +0000 | |
| commit | ef417514e703c79b5d321fa483d36d479f55f3b3 (patch) | |
| tree | 385808604005c0a3a4bbd2478f8dd0a37c6924da | |
| parent | 596e1d3b7a7080b44a293095d81a61175ac60c49 (diff) | |
| parent | 1e5d80319593539790613d9abff2b6c7bf161c6d (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.java | 11 |
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 |