Commit 89bedfda by Romain Vimont

Do not crash on app uninstall

Immediately after an app uninstall, the associated App will be updated
by a call to reset() in the AppObserver.onChange().

But before receiving this event, the activity and the fragments resume,
leading to a call to getInstalledStatus(…). At this stage, we don't know
that the app has been removed yet, but the package manager already
removed it. Therefore, PackageManager.getInstallerPackageName(…) throws
an IllegalArgumentException.

In that case, consider that the application has been uninstalled.

Should fix issue #167
#167
parent 4a5d732c
......@@ -184,7 +184,13 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A
return getString(R.string.inst);
}
// Installed the same version, but from someplace else.
final String installerPkgName = mPm.getInstallerPackageName(app.id);
final String installerPkgName;
try {
installerPkgName = mPm.getInstallerPackageName(app.id);
} catch (IllegalArgumentException e) {
Log.w(TAG, "Application " + app.id + " is not installed anymore");
return getString(R.string.not_inst);
}
if (installerPkgName != null && installerPkgName.length() > 0) {
final String installerLabel = InstalledAppProvider
.getApplicationLabel(mctx, installerPkgName);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment