diff options
-rw-r--r-- | core/java/android/security/net/config/ManifestConfigSource.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/core/java/android/security/net/config/ManifestConfigSource.java b/core/java/android/security/net/config/ManifestConfigSource.java index bf1fb8a5a721..0e137cddc148 100644 --- a/core/java/android/security/net/config/ManifestConfigSource.java +++ b/core/java/android/security/net/config/ManifestConfigSource.java @@ -79,7 +79,9 @@ public class ManifestConfigSource implements ConfigSource { if (DBG) { Log.d(LOG_TAG, "No Network Security Config specified, using platform default"); } - source = new DefaultConfigSource(); + boolean usesCleartextTraffic = + (info.flags & ApplicationInfo.FLAG_USES_CLEARTEXT_TRAFFIC) != 0; + source = new DefaultConfigSource(usesCleartextTraffic); } mConfigSource = source; return mConfigSource; @@ -87,9 +89,18 @@ public class ManifestConfigSource implements ConfigSource { } private static final class DefaultConfigSource implements ConfigSource { + + private final NetworkSecurityConfig mDefaultConfig; + + public DefaultConfigSource(boolean usesCleartextTraffic) { + mDefaultConfig = NetworkSecurityConfig.getDefaultBuilder() + .setCleartextTrafficPermitted(usesCleartextTraffic) + .build(); + } + @Override public NetworkSecurityConfig getDefaultConfig() { - return NetworkSecurityConfig.DEFAULT; + return mDefaultConfig; } @Override |