diff options
| author | Alex Klyubin <klyubin@google.com> | 2015-03-19 16:21:40 +0000 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2015-03-19 16:21:40 +0000 |
| commit | d71f548f4803f0696af7de9a2989673cfd83800f (patch) | |
| tree | fc5b0cac430e9e7b3b81989e7cb1ecf0fc9f48e1 | |
| parent | 7a2df74b1124746fa5400d3ed5e6e3680c8f3601 (diff) | |
| parent | 4177b8cbbfa239d68a9283124638d9399a5dd0de (diff) | |
| download | frameworks_base-d71f548f4803f0696af7de9a2989673cfd83800f.zip frameworks_base-d71f548f4803f0696af7de9a2989673cfd83800f.tar.gz frameworks_base-d71f548f4803f0696af7de9a2989673cfd83800f.tar.bz2 | |
am 4177b8cb: Merge "Add app-level usesCleartextTraffic manifest attribute."
* commit '4177b8cbbfa239d68a9283124638d9399a5dd0de':
Add app-level usesCleartextTraffic manifest attribute.
| -rw-r--r-- | core/java/android/content/pm/ApplicationInfo.java | 12 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageParser.java | 6 | ||||
| -rw-r--r-- | core/res/res/values/attrs_manifest.xml | 17 |
3 files changed, 35 insertions, 0 deletions
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java index e1a2aa9..05c19db 100644 --- a/core/java/android/content/pm/ApplicationInfo.java +++ b/core/java/android/content/pm/ApplicationInfo.java @@ -334,6 +334,18 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { public static final int FLAG_FULL_BACKUP_ONLY = 1<<26; /** + * Value for {@link #flags}: {@code true} if the application may use cleartext network traffic + * (e.g., HTTP rather than HTTPS; WebSockets rather than WebSockets Secure; XMPP, IMAP, STMP + * without STARTTLS or TLS). If {@code false}, the app declares that it does not intend to use + * cleartext network traffic, in which case platform components (e.g., HTTP stacks, + * {@code WebView}, {@code MediaPlayer}) will refuse app's requests to use cleartext traffic. + * Third-party libraries are encouraged to honor this flag as well. + * + * @hide + */ + public static final int FLAG_USES_CLEARTEXT_TRAFFIC = 1<<27; + + /** * Value for {@link #flags}: true if code from this application will need to be * loaded into other applications' processes. On devices that support multiple * instruction sets, this implies the code might be loaded into a process that's diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 4d9445d..4952ba1 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -2550,6 +2550,12 @@ public class PackageParser { } if (sa.getBoolean( + com.android.internal.R.styleable.AndroidManifestApplication_usesCleartextTraffic, + true)) { + ai.flags |= ApplicationInfo.FLAG_USES_CLEARTEXT_TRAFFIC; + } + + if (sa.getBoolean( com.android.internal.R.styleable.AndroidManifestApplication_supportsRtl, false /* default is no RTL support*/)) { ai.flags |= ApplicationInfo.FLAG_SUPPORTS_RTL; diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml index 0c3fb9a..ea592cf 100644 --- a/core/res/res/values/attrs_manifest.xml +++ b/core/res/res/values/attrs_manifest.xml @@ -389,6 +389,15 @@ with the same {@link android.R.attr#taskAffinity} as it has. --> <attr name="allowTaskReparenting" format="boolean" /> + <!-- Declare that this application may use cleartext traffic (e.g., HTTP rather than HTTPS; + WebSockets rather than WebSockets Secure; XMPP, IMAP, STMP without STARTTLS or TLS). + Defaults to true. If set to false {@code false}, the app declares that it does not + intend to use cleartext network traffic, in which case platform components (e.g., + HTTP stacks, {@code WebView}, {@code MediaPlayer}) will refuse app's requests to use + cleartext traffic. Third-party libraries are encouraged to honor this flag as well. + @hide --> + <attr name="usesCleartextTraffic" format="boolean" /> + <!-- Declare that code from this application will need to be loaded into other applications' processes. On devices that support multiple instruction sets, this implies the code might be loaded into a process that's using any of the devices @@ -1133,6 +1142,14 @@ "com.google". --> <attr name="requiredAccountType" format="string"/> <attr name="isGame" /> + <!-- Declare that this application may use cleartext traffic (e.g., HTTP rather than HTTPS; + WebSockets rather than WebSockets Secure; XMPP, IMAP, STMP without STARTTLS or TLS). + Defaults to true. If set to false {@code false}, the app declares that it does not + intend to use cleartext network traffic, in which case platform components (e.g., + HTTP stacks, {@code WebView}, {@code MediaPlayer}) will refuse app's requests to use + cleartext traffic. Third-party libraries are encouraged to honor this flag as well. + @hide --> + <attr name="usesCleartextTraffic" /> <attr name="multiArch" /> </declare-styleable> |
