OSDN Git Service

Regenerate ApplicationInfo if package suspend state is changed.
authorRubin Xu <rubinxu@google.com>
Wed, 20 Apr 2016 16:09:38 +0000 (17:09 +0100)
committerRubin Xu <rubinxu@google.com>
Wed, 20 Apr 2016 16:09:38 +0000 (17:09 +0100)
Bug: 28184597
Change-Id: Ie3d50630b8946299128d599f77dce31150bc7a6c

core/java/android/content/pm/PackageParser.java

index bb8bca4..bfdd20c 100644 (file)
@@ -85,6 +85,7 @@ import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
 import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE;
 import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
+import static android.content.pm.ApplicationInfo.FLAG_SUSPENDED;
 import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES;
 import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST;
 import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME;
@@ -5279,6 +5280,10 @@ public class PackageParser {
                 return true;
             }
         }
+        boolean suspended = (p.applicationInfo.flags & FLAG_SUSPENDED) != 0;
+        if (state.suspended != suspended) {
+            return true;
+        }
         if (!state.installed || state.hidden) {
             return true;
         }