Use the application's usesCleartextTraffic flag

When no config is specified use the application's usesCleartextTraffic
flag when building the default config.

Change-Id: I07378f88da47b49f63e9089fca7f1e99efede272
This commit is contained in:
Chad Brubaker
2015-12-11 12:35:11 -08:00
parent 224318aa13
commit 8d28e4f07f

View File

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