diff --git a/shell/platform/android/io/flutter/embedding/engine/loader/ApplicationInfoLoader.java b/shell/platform/android/io/flutter/embedding/engine/loader/ApplicationInfoLoader.java index 011d90fead273..1d86ac964f6c7 100644 --- a/shell/platform/android/io/flutter/embedding/engine/loader/ApplicationInfoLoader.java +++ b/shell/platform/android/io/flutter/embedding/engine/loader/ApplicationInfoLoader.java @@ -9,7 +9,6 @@ import android.content.pm.PackageManager; import android.content.res.XmlResourceParser; import android.os.Bundle; -import android.security.NetworkSecurityPolicy; import androidx.annotation.NonNull; import java.io.IOException; import org.json.JSONArray; @@ -146,12 +145,6 @@ private static void parseDomain( @NonNull public static FlutterApplicationInfo load(@NonNull Context applicationContext) { ApplicationInfo appInfo = getApplicationInfo(applicationContext); - // Prior to API 23, cleartext traffic is allowed. - boolean clearTextPermitted = true; - if (android.os.Build.VERSION.SDK_INT >= 23) { - clearTextPermitted = NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted(); - } - return new FlutterApplicationInfo( getString(appInfo.metaData, PUBLIC_AOT_SHARED_LIBRARY_NAME), getString(appInfo.metaData, PUBLIC_VM_SNAPSHOT_DATA_KEY), @@ -159,7 +152,6 @@ public static FlutterApplicationInfo load(@NonNull Context applicationContext) { getString(appInfo.metaData, PUBLIC_FLUTTER_ASSETS_DIR_KEY), getNetworkPolicy(appInfo, applicationContext), appInfo.nativeLibraryDir, - clearTextPermitted, getBoolean(appInfo.metaData, PUBLIC_AUTOMATICALLY_REGISTER_PLUGINS_METADATA_KEY, true)); } } diff --git a/shell/platform/android/io/flutter/embedding/engine/loader/FlutterApplicationInfo.java b/shell/platform/android/io/flutter/embedding/engine/loader/FlutterApplicationInfo.java index 90f526aad5706..6cb542437d162 100644 --- a/shell/platform/android/io/flutter/embedding/engine/loader/FlutterApplicationInfo.java +++ b/shell/platform/android/io/flutter/embedding/engine/loader/FlutterApplicationInfo.java @@ -17,7 +17,6 @@ public final class FlutterApplicationInfo { public final String flutterAssetsDir; public final String domainNetworkPolicy; public final String nativeLibraryDir; - public final boolean clearTextPermitted; final boolean automaticallyRegisterPlugins; public FlutterApplicationInfo( @@ -27,7 +26,6 @@ public FlutterApplicationInfo( String flutterAssetsDir, String domainNetworkPolicy, String nativeLibraryDir, - boolean clearTextPermitted, boolean automaticallyRegisterPlugins) { this.aotSharedLibraryName = aotSharedLibraryName == null ? DEFAULT_AOT_SHARED_LIBRARY_NAME : aotSharedLibraryName; @@ -38,7 +36,6 @@ public FlutterApplicationInfo( flutterAssetsDir == null ? DEFAULT_FLUTTER_ASSETS_DIR : flutterAssetsDir; this.nativeLibraryDir = nativeLibraryDir; this.domainNetworkPolicy = domainNetworkPolicy == null ? "" : domainNetworkPolicy; - this.clearTextPermitted = clearTextPermitted; this.automaticallyRegisterPlugins = automaticallyRegisterPlugins; } } diff --git a/shell/platform/android/test/io/flutter/embedding/engine/loader/ApplicationInfoLoaderTest.java b/shell/platform/android/test/io/flutter/embedding/engine/loader/ApplicationInfoLoaderTest.java index f17adb78552e2..0556c73f9c069 100644 --- a/shell/platform/android/test/io/flutter/embedding/engine/loader/ApplicationInfoLoaderTest.java +++ b/shell/platform/android/test/io/flutter/embedding/engine/loader/ApplicationInfoLoaderTest.java @@ -19,7 +19,6 @@ import android.content.res.Resources; import android.content.res.XmlResourceParser; import android.os.Bundle; -import android.security.NetworkSecurityPolicy; import java.io.StringReader; import org.junit.Test; import org.junit.runner.RunWith; @@ -27,8 +26,6 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; -import org.robolectric.annotation.Implementation; -import org.robolectric.annotation.Implements; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserFactory; @@ -46,23 +43,6 @@ public void itGeneratesCorrectApplicationInfoWithDefaultManifest() { assertEquals("flutter_assets", info.flutterAssetsDir); assertEquals("", info.domainNetworkPolicy); assertNull(info.nativeLibraryDir); - assertEquals(true, info.clearTextPermitted); - } - - @Config(shadows = {ApplicationInfoLoaderTest.ShadowNetworkSecurityPolicy.class}) - @Test - public void itVotesAgainstClearTextIfSecurityPolicySaysSo() { - FlutterApplicationInfo info = ApplicationInfoLoader.load(RuntimeEnvironment.application); - assertNotNull(info); - assertEquals(false, info.clearTextPermitted); - } - - @Implements(NetworkSecurityPolicy.class) - public static class ShadowNetworkSecurityPolicy { - @Implementation - public boolean isCleartextTrafficPermitted() { - return false; - } } private Context generateMockContext(Bundle metadata, String networkPolicyXml) throws Exception {