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 @@