Avoid NPE when installing app update.

PMS sends REMOVED followed quickly by ADDED.  Ignore when missing
package, since it may be coming back shortly.  Eventually we should
change this to watch EXTRA_REPLACING.

Bug: 7269896
Change-Id: I3b518f4faee34019c5c808824d5e46261f6d206a
This commit is contained in:
Jeff Sharkey
2012-10-03 16:06:41 -07:00
parent b0e25f71a8
commit 347188667b

View File

@@ -568,14 +568,19 @@ public class InstalledAppDetails extends Fragment
} }
} }
mAppEntry = mState.getEntry(packageName); mAppEntry = mState.getEntry(packageName);
// Get application info again to refresh changed properties of application if (mAppEntry != null) {
try { // Get application info again to refresh changed properties of application
mPackageInfo = mPm.getPackageInfo(mAppEntry.info.packageName, try {
PackageManager.GET_DISABLED_COMPONENTS | mPackageInfo = mPm.getPackageInfo(mAppEntry.info.packageName,
PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS |
PackageManager.GET_SIGNATURES); PackageManager.GET_UNINSTALLED_PACKAGES |
} catch (NameNotFoundException e) { PackageManager.GET_SIGNATURES);
Log.e(TAG, "Exception when retrieving package:" + mAppEntry.info.packageName, e); } catch (NameNotFoundException e) {
Log.e(TAG, "Exception when retrieving package:" + mAppEntry.info.packageName, e);
}
} else {
Log.w(TAG, "Missing AppEntry; maybe reinstalling?");
mPackageInfo = null;
} }
return packageName; return packageName;