summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/webkit/SystemImpl.java9
-rw-r--r--services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java2
2 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/webkit/SystemImpl.java b/services/core/java/com/android/server/webkit/SystemImpl.java
index 9486cfdb87a0..ed935ced0037 100644
--- a/services/core/java/com/android/server/webkit/SystemImpl.java
+++ b/services/core/java/com/android/server/webkit/SystemImpl.java
@@ -19,6 +19,7 @@ package com.android.server.webkit;
import android.app.ActivityManagerNative;
import android.app.AppGlobals;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageDeleteObserver;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -187,7 +188,8 @@ public class SystemImpl implements SystemInterface {
enablePackageForAllUsers(context, packageName, false);
try {
PackageManager pm = AppGlobals.getInitialApplication().getPackageManager();
- if (pm.getApplicationInfo(packageName, 0).isUpdatedSystemApp()) {
+ ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, 0);
+ if (applicationInfo != null && applicationInfo.isUpdatedSystemApp()) {
pm.deletePackage(packageName, new IPackageDeleteObserver.Stub() {
public void packageDeleted(String packageName, int returnCode) {
enablePackageForAllUsers(context, packageName, false);
@@ -214,8 +216,9 @@ public class SystemImpl implements SystemInterface {
enable ? PackageManager.COMPONENT_ENABLED_STATE_DEFAULT :
PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, 0,
userId, null);
- } catch (RemoteException e) {
- Log.w(TAG, "Tried to disable " + packageName + " for user " + userId + ": " + e);
+ } catch (RemoteException | IllegalArgumentException e) {
+ Log.w(TAG, "Tried to " + (enable ? "enable " : "disable ") + packageName
+ + " for user " + userId + ": " + e);
}
}
diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
index 32b195b4c71b..cd976e753a0a 100644
--- a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
+++ b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
@@ -160,6 +160,8 @@ public class WebViewUpdateServiceImpl {
isFallbackEnabled = isEnabledPackage(
mSystemInterface.getPackageInfoForProvider(fallbackProvider));
} catch (NameNotFoundException e) {
+ // No fallback package installed -> early out.
+ return;
}
if (existsValidNonFallbackProvider