diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index 0b0316c067d49..dcfc32adcb237 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -4100,6 +4100,7 @@ public class Activity extends ContextThemeWrapper * {@link #setImmersive}. * * @see android.content.pm.ActivityInfo#FLAG_IMMERSIVE + * @hide */ public boolean isImmersive() { try { @@ -4122,6 +4123,7 @@ public class Activity extends ContextThemeWrapper * * @see #isImmersive * @see android.content.pm.ActivityInfo#FLAG_IMMERSIVE + * @hide */ public void setImmersive(boolean i) { try { diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java index 244d126b89bb2..c812f36be7172 100644 --- a/core/java/android/content/pm/ApplicationInfo.java +++ b/core/java/android/content/pm/ApplicationInfo.java @@ -272,17 +272,6 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { */ public static final int FLAG_SUPPORTS_XLARGE_SCREENS = 1<<19; - /** - * Value for {@link #flags}: set to true if the application - * has reported that it is heavy-weight, and thus can not participate in - * the normal application lifecycle. - * - *

Comes from the - * {@link android.R.styleable#AndroidManifestApplication_heavyWeight android:heavyWeight} - * attribute of the <application> tag. - */ - public static final int FLAG_HEAVY_WEIGHT = 1<<20; - /** * Value for {@link #flags}: this is true if the application has set * its android:neverEncrypt to true, false otherwise. It is used to specify @@ -309,6 +298,19 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { */ public static final int FLAG_NATIVE_DEBUGGABLE = 1<<28; + /** + * Value for {@link #flags}: set to true if the application + * has reported that it is heavy-weight, and thus can not participate in + * the normal application lifecycle. + * + *

Comes from the + * {@link android.R.styleable#AndroidManifestApplication_heavyWeight android:heavyWeight} + * attribute of the <application> tag. + * + * {@hide} + */ + public static final int CANT_SAVE_STATE = 1<<27; + /** * Flags associated with the application. Any combination of * {@link #FLAG_SYSTEM}, {@link #FLAG_DEBUGGABLE}, {@link #FLAG_HAS_CODE}, diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 7c6e142c4f4f3..92a8a9977a14b 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -1607,15 +1607,17 @@ public class PackageParser { ai.enabled = sa.getBoolean( com.android.internal.R.styleable.AndroidManifestApplication_enabled, true); - if (sa.getBoolean( - com.android.internal.R.styleable.AndroidManifestApplication_heavyWeight, - false)) { - ai.flags |= ApplicationInfo.FLAG_HEAVY_WEIGHT; - - // A heavy-weight application can not be in a custom process. - // We can do direct compare because we intern all strings. - if (ai.processName != null && ai.processName != ai.packageName) { - outError[0] = "Heavy-weight applications can not use custom processes"; + if (false) { + if (sa.getBoolean( + com.android.internal.R.styleable.AndroidManifestApplication_cantSaveState, + false)) { + ai.flags |= ApplicationInfo.CANT_SAVE_STATE; + + // A heavy-weight application can not be in a custom process. + // We can do direct compare because we intern all strings. + if (ai.processName != null && ai.processName != ai.packageName) { + outError[0] = "cantSaveState applications can not use custom processes"; + } } } } @@ -1921,7 +1923,7 @@ public class PackageParser { sa.recycle(); - if (receiver && (owner.applicationInfo.flags&ApplicationInfo.FLAG_HEAVY_WEIGHT) != 0) { + if (receiver && (owner.applicationInfo.flags&ApplicationInfo.CANT_SAVE_STATE) != 0) { // A heavy-weight application can not have receives in its main process // We can do direct compare because we intern all strings. if (a.info.processName == owner.packageName) { @@ -2211,7 +2213,7 @@ public class PackageParser { sa.recycle(); - if ((owner.applicationInfo.flags&ApplicationInfo.FLAG_HEAVY_WEIGHT) != 0) { + if ((owner.applicationInfo.flags&ApplicationInfo.CANT_SAVE_STATE) != 0) { // A heavy-weight application can not have providers in its main process // We can do direct compare because we intern all strings. if (p.info.processName == owner.packageName) { @@ -2452,7 +2454,7 @@ public class PackageParser { sa.recycle(); - if ((owner.applicationInfo.flags&ApplicationInfo.FLAG_HEAVY_WEIGHT) != 0) { + if ((owner.applicationInfo.flags&ApplicationInfo.CANT_SAVE_STATE) != 0) { // A heavy-weight application can not have services in its main process // We can do direct compare because we intern all strings. if (s.info.processName == owner.packageName) { diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml index bc130f2cf6181..8cf65aea8fee4 100644 --- a/core/res/res/values/attrs_manifest.xml +++ b/core/res/res/values/attrs_manifest.xml @@ -749,15 +749,17 @@ - - + tries to launch a second such app, they will be prompted + to quit the first before doing so. While the + application is running, the user will be informed of this. + @hide --> +