OSDN Git Service

Fix a crash in InstalledAppDetails
authorAmith Yamasani <yamasani@google.com>
Wed, 19 Sep 2012 17:58:32 +0000 (10:58 -0700)
committerAmith Yamasani <yamasani@google.com>
Wed, 19 Sep 2012 17:58:32 +0000 (10:58 -0700)
Initialize mPackageInfo in onCreate

Bug: 7194755
Change-Id: Ic82351591bd38c4c161bbb23c4033038d1d7fa85

src/com/android/settings/applications/InstalledAppDetails.java

index 2284b91..97d7b75 100644 (file)
@@ -564,6 +564,16 @@ public class InstalledAppDetails extends Fragment
             }
         }
         mAppEntry = mState.getEntry(packageName);
+        // Get application info again to refresh changed properties of application
+        try {
+            mPackageInfo = mPm.getPackageInfo(mAppEntry.info.packageName,
+                    PackageManager.GET_DISABLED_COMPONENTS |
+                    PackageManager.GET_UNINSTALLED_PACKAGES |
+                    PackageManager.GET_SIGNATURES);
+        } catch (NameNotFoundException e) {
+            Log.e(TAG, "Exception when retrieving package:" + mAppEntry.info.packageName, e);
+        }
+
         return packageName;
     }
 
@@ -576,18 +586,11 @@ public class InstalledAppDetails extends Fragment
         if (mAppEntry == null) {
             return false; // onCreate must have failed, make sure to exit
         }
-        
-        // Get application info again to refresh changed properties of application
-        try {
-            mPackageInfo = mPm.getPackageInfo(mAppEntry.info.packageName,
-                    PackageManager.GET_DISABLED_COMPONENTS |
-                    PackageManager.GET_UNINSTALLED_PACKAGES |
-                    PackageManager.GET_SIGNATURES);
-        } catch (NameNotFoundException e) {
-            Log.e(TAG, "Exception when retrieving package:" + mAppEntry.info.packageName, e);
+
+        if (mPackageInfo == null) {
             return false; // onCreate must have failed, make sure to exit
         }
-        
+
         // Get list of preferred activities
         List<ComponentName> prefActList = new ArrayList<ComponentName>();