summaryrefslogtreecommitdiffstats
path: root/core/java/android/content
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2014-04-23 21:38:50 -0700
committerCraig Mautner <cmautner@google.com>2014-04-24 08:41:29 -0700
commitffd14a13ce7425562777152256ea7760d95f254d (patch)
tree231e560ce7c51ef3aa300f73b931f23ebb239432 /core/java/android/content
parent7f7bdb2712d4988efa5e914c0b54271752b49407 (diff)
downloadframeworks_base-ffd14a13ce7425562777152256ea7760d95f254d.zip
frameworks_base-ffd14a13ce7425562777152256ea7760d95f254d.tar.gz
frameworks_base-ffd14a13ce7425562777152256ea7760d95f254d.tar.bz2
Add activity attribute allowEmbedded
Activitys without allowEmbedded=true may not be launched in an ActivityView. Fixes bug 13693121. Change-Id: I431d554300fc3504ab1bc7d73a58d5dad24f8639
Diffstat (limited to 'core/java/android/content')
-rw-r--r--core/java/android/content/pm/ActivityInfo.java9
-rw-r--r--core/java/android/content/pm/PackageParser.java6
2 files changed, 14 insertions, 1 deletions
diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java
index b8ac3bf..941b726 100644
--- a/core/java/android/content/pm/ActivityInfo.java
+++ b/core/java/android/content/pm/ActivityInfo.java
@@ -187,7 +187,7 @@ public class ActivityInfo extends ComponentInfo
/**
* @hide Bit in {@link #flags}: If set, this component will only be seen
* by the primary user. Only works with broadcast receivers. Set from the
- * {@link android.R.attr#primaryUserOnly} attribute.
+ * android.R.attr#primaryUserOnly attribute.
*/
public static final int FLAG_PRIMARY_USER_ONLY = 0x20000000;
/**
@@ -199,6 +199,13 @@ public class ActivityInfo extends ComponentInfo
*/
public static final int FLAG_SINGLE_USER = 0x40000000;
/**
+ * @hide Bit in {@link #flags}: If set, this activity may be launched into an
+ * owned ActivityContainer such as that within an ActivityView. If not set and
+ * this activity is launched into such a container a SecurityExcception will be
+ * thrown. Set from the {@link android.R.attr#allowEmbedded} attribute.
+ */
+ public static final int FLAG_ALLOW_EMBEDDED = 0x80000000;
+ /**
* Options that have been set in the activity declaration in the
* manifest.
* These include:
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 0ce1e44..d5de97a 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -2414,6 +2414,12 @@ public class PackageParser {
a.info.flags |= ActivityInfo.FLAG_IMMERSIVE;
}
+ if (sa.getBoolean(
+ com.android.internal.R.styleable.AndroidManifestActivity_allowEmbedded,
+ false)) {
+ a.info.flags |= ActivityInfo.FLAG_ALLOW_EMBEDDED;
+ }
+
if (!receiver) {
if (sa.getBoolean(
com.android.internal.R.styleable.AndroidManifestActivity_hardwareAccelerated,