diff --git a/app/build.gradle b/app/build.gradle index f6e11e7aa..bae8b46ad 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { minSdk 21 targetSdk 28 versionCode 235 - versionName "0519" + versionName "0520" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] diff --git a/catvod/src/main/java/com/github/catvod/net/OkDns.java b/catvod/src/main/java/com/github/catvod/net/OkDns.java new file mode 100644 index 000000000..ad995882d --- /dev/null +++ b/catvod/src/main/java/com/github/catvod/net/OkDns.java @@ -0,0 +1,25 @@ +package com.github.catvod.net; + +import androidx.annotation.NonNull; + +import java.net.Inet4Address; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.List; + +import okhttp3.Dns; + +public class OkDns implements Dns { + + @NonNull + @Override + public List lookup(@NonNull String hostname) throws UnknownHostException { + List items = new ArrayList<>(); + for (InetAddress address : InetAddress.getAllByName(hostname)) { + if (address instanceof Inet4Address) items.add(0, address); + else items.add(address); + } + return items; + } +} diff --git a/catvod/src/main/java/com/github/catvod/net/OkHttp.java b/catvod/src/main/java/com/github/catvod/net/OkHttp.java index 5c65b4ad6..31c7fc258 100644 --- a/catvod/src/main/java/com/github/catvod/net/OkHttp.java +++ b/catvod/src/main/java/com/github/catvod/net/OkHttp.java @@ -56,7 +56,7 @@ public class OkHttp { } public static Dns dns() { - return get().dns != null ? get().dns : Dns.SYSTEM; + return get().dns != null ? get().dns : new OkDns(); } public void setDoh(Doh doh) {