From 5fa8644bb32028f43b77ab0c6465a81b6a58ea2b Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 20 Nov 2020 09:53:08 +0800 Subject: [PATCH] =?UTF-8?q?httpdns=20=E7=BC=93=E5=AD=98=E7=AD=96=E7=95=A5?= =?UTF-8?q?=EF=BC=8C=E7=89=B9=E6=AE=8A=E6=8E=A5=E5=8F=A3=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=20httpdns=20=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/freedom/app2/MainActivity.java | 43 ++++- app2/src/main/res/layout/activity_main.xml | 22 ++- foudations/httpdns-base/build.gradle | 2 +- .../java/com/mogo/httpdns/HttpDnsConst.java | 4 + .../com/mogo/httpdns/IHttpDnsCallback.java | 18 ++ .../com/mogo/httpdns/IHttpDnsTtlCallback.java | 17 ++ .../java/com/mogo/httpdns/IMogoHttpDns.java | 43 ++++- .../com/mogo/httpdns/MogoHttpDnsHandler.java | 29 ++++ .../com/mogo/httpdns/noop/HttpDnsNoop.java | 22 ++- .../beacon-android-release-3.1.2-cover.jar | Bin 224761 -> 0 bytes .../mogo/httpdns/tencent/HttpDnsIpsCache.java | 157 +++++++++++++++++- .../mogo/httpdns/tencent/TencentHttpDns.java | 76 ++++++--- .../com/mogo/commons/AbsMogoApplication.java | 3 +- .../com/mogo/utils/network/OkHttpFactory.java | 8 +- .../src/main/AndroidManifest.xml | 1 + 15 files changed, 392 insertions(+), 53 deletions(-) create mode 100644 foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsCallback.java create mode 100644 foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsTtlCallback.java create mode 100644 foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java delete mode 100755 foudations/httpdns-tencent/libs/beacon-android-release-3.1.2-cover.jar diff --git a/app2/src/main/java/com/freedom/app2/MainActivity.java b/app2/src/main/java/com/freedom/app2/MainActivity.java index b9156edf50..1fb3e53686 100644 --- a/app2/src/main/java/com/freedom/app2/MainActivity.java +++ b/app2/src/main/java/com/freedom/app2/MainActivity.java @@ -5,16 +5,19 @@ import android.util.Log; import android.view.View; import android.widget.TextView; +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.network.SubscribeImpl; +import com.mogo.httpdns.IHttpDnsCallback; import com.mogo.httpdns.IMogoHttpDns; +import com.mogo.httpdns.MogoHttpDnsHandler; import com.mogo.module.common.MogoApisHandler; +import com.mogo.utils.UiThreadHandler; +import com.mogo.utils.WorkThreadHandler; import com.mogo.utils.network.RequestOptions; -import java.util.Collection; - import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; @@ -24,6 +27,7 @@ public class MainActivity extends AppCompatActivity { private IMogoHttpDns httpDns; private View send; + private View fresh; private TextView content; @Override @@ -32,9 +36,10 @@ public class MainActivity extends AppCompatActivity { setContentView( R.layout.activity_main ); send = findViewById( R.id.send ); + fresh = findViewById( R.id.fresh ); content = findViewById( R.id.content ); - httpDns = ARouter.getInstance().navigation( IMogoHttpDns.class ); + httpDns = MogoHttpDnsHandler.getHttpDnsApi(); apiServices = MogoApisHandler.getInstance().getApis().getNetworkApi().create( ApiServices.class, "https://dnstest.zhidaozhixing.com" ); send.setOnClickListener( new View.OnClickListener() { @@ -62,16 +67,36 @@ public class MainActivity extends AppCompatActivity { } ); } } ); + + fresh.setOnClickListener( new View.OnClickListener() { + @Override + public void onClick( View v ) { + WorkThreadHandler.getInstance().post( new Runnable() { + @Override + public void run() { + httpDns.getHttpDnsIp( "dnstest.zhidaozhixing.com", false, new IHttpDnsCallback() { + @Override + public void onParsed( @Nullable String ip ) { + StringBuilder sb = new StringBuilder( "httpDns ip:\n" ); + sb.append( ip ).append( "\n" ); + UiThreadHandler.post( new Runnable() { + @Override + public void run() { + content.setText( sb.toString() ); + } + } ); + } + } ); + } + } ); + } + } ); } private void renderResponse( ResponseBody body ) { StringBuilder sb = new StringBuilder( "httpDns ip:\n" ); - Collection< String > ips = httpDns.getHttpDnsIps( "dnstest.zhidaozhixing.com" ); - if ( ips != null && !ips.isEmpty() ) { - for ( String ip : ips ) { - sb.append( ip ).append( "\n" ); - } - } + String ip = httpDns.getCachedHttpDnsIps( "dnstest.zhidaozhixing.com" ); + sb.append( ip ).append( "\n" ); sb.append( "\nserverIp: \n" ).append( body.result.serverIp ).append( "\n" ); content.setText( sb.toString() ); } diff --git a/app2/src/main/res/layout/activity_main.xml b/app2/src/main/res/layout/activity_main.xml index 7bdaa89884..5a3dcec1f9 100644 --- a/app2/src/main/res/layout/activity_main.xml +++ b/app2/src/main/res/layout/activity_main.xml @@ -6,12 +6,24 @@ android:layout_height="match_parent" android:orientation="vertical"> -