Merge "[ActivityManager] Avoid system server crash due to package removed"
This commit is contained in:
@@ -168,11 +168,21 @@ public class ApplicationErrorReport implements Parcelable {
|
|||||||
PackageManager pm = context.getPackageManager();
|
PackageManager pm = context.getPackageManager();
|
||||||
|
|
||||||
// look for receiver in the installer package
|
// look for receiver in the installer package
|
||||||
String candidate = pm.getInstallerPackageName(packageName);
|
String candidate = null;
|
||||||
ComponentName result = getErrorReportReceiver(pm, packageName, candidate);
|
ComponentName result = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
candidate = pm.getInstallerPackageName(packageName);
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
// the package could already removed
|
||||||
|
}
|
||||||
|
|
||||||
|
if (candidate != null) {
|
||||||
|
result = getErrorReportReceiver(pm, packageName, candidate);
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// if the error app is on the system image, look for system apps
|
// if the error app is on the system image, look for system apps
|
||||||
// error receiver
|
// error receiver
|
||||||
|
|||||||
Reference in New Issue
Block a user