summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2015-03-11 00:25:25 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-03-11 00:25:26 +0000
commit45214cae6b98967d4cbfba0a4cbb4710928b8dcb (patch)
tree9ff00c49746b57d6cd047cb1b5e15e6a62ea9cb5
parentada7b48ee23ceaec45f1df3845e31bba1518632e (diff)
parent72d0d86c65a6e02e17332cf9a55675e893087645 (diff)
downloadandroid_packages_apps_PackageInstaller-45214cae6b98967d4cbfba0a4cbb4710928b8dcb.tar.gz
android_packages_apps_PackageInstaller-45214cae6b98967d4cbfba0a4cbb4710928b8dcb.tar.bz2
android_packages_apps_PackageInstaller-45214cae6b98967d4cbfba0a4cbb4710928b8dcb.zip
Merge "Don't crash when cancelling an uninstall of a nonexistent package"
-rwxr-xr-xsrc/com/android/packageinstaller/UninstallerActivity.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/com/android/packageinstaller/UninstallerActivity.java b/src/com/android/packageinstaller/UninstallerActivity.java
index 96bc9937..e277d48f 100755
--- a/src/com/android/packageinstaller/UninstallerActivity.java
+++ b/src/com/android/packageinstaller/UninstallerActivity.java
@@ -141,6 +141,7 @@ public class UninstallerActivity extends Activity {
IBinder callback;
}
+ private String mPackageName;
private DialogInfo mDialogInfo;
@Override
@@ -156,8 +157,8 @@ public class UninstallerActivity extends Activity {
showAppNotFound();
return;
}
- final String packageName = packageUri.getEncodedSchemeSpecificPart();
- if (packageName == null) {
+ mPackageName = packageUri.getEncodedSchemeSpecificPart();
+ if (mPackageName == null) {
Log.e(TAG, "Invalid package name in URI: " + packageUri);
showAppNotFound();
return;
@@ -177,14 +178,14 @@ public class UninstallerActivity extends Activity {
mDialogInfo.callback = intent.getIBinderExtra(PackageInstaller.EXTRA_CALLBACK);
try {
- mDialogInfo.appInfo = pm.getApplicationInfo(packageName,
+ mDialogInfo.appInfo = pm.getApplicationInfo(mPackageName,
PackageManager.GET_UNINSTALLED_PACKAGES, mDialogInfo.user.getIdentifier());
} catch (RemoteException e) {
Log.e(TAG, "Unable to get packageName. Package manager is dead?");
}
if (mDialogInfo.appInfo == null) {
- Log.e(TAG, "Invalid packageName: " + packageName);
+ Log.e(TAG, "Invalid packageName: " + mPackageName);
showAppNotFound();
return;
}
@@ -194,7 +195,7 @@ public class UninstallerActivity extends Activity {
if (className != null) {
try {
mDialogInfo.activityInfo = pm.getActivityInfo(
- new ComponentName(packageName, className), 0,
+ new ComponentName(mPackageName, className), 0,
mDialogInfo.user.getIdentifier());
} catch (RemoteException e) {
Log.e(TAG, "Unable to get className. Package manager is dead?");
@@ -241,7 +242,7 @@ public class UninstallerActivity extends Activity {
final IPackageDeleteObserver2 observer = IPackageDeleteObserver2.Stub.asInterface(
mDialogInfo.callback);
try {
- observer.onPackageDeleted(mDialogInfo.appInfo.packageName,
+ observer.onPackageDeleted(mPackageName,
PackageManager.DELETE_FAILED_ABORTED, "Cancelled by user");
} catch (RemoteException ignored) {
}