131 lines
5.3 KiB
Java
131 lines
5.3 KiB
Java
package com.freedom.app2;
|
|
|
|
import android.os.Bundle;
|
|
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.HttpDnsConst;
|
|
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 io.reactivex.android.schedulers.AndroidSchedulers;
|
|
import io.reactivex.schedulers.Schedulers;
|
|
|
|
public class MainActivity extends AppCompatActivity {
|
|
|
|
private ApiServices apiServices;
|
|
private IMogoHttpDns httpDns;
|
|
|
|
private View send;
|
|
private View fresh;
|
|
private View fresh2;
|
|
private TextView content;
|
|
|
|
@Override
|
|
protected void onCreate( Bundle savedInstanceState ) {
|
|
super.onCreate( savedInstanceState );
|
|
setContentView( R.layout.activity_main );
|
|
|
|
send = findViewById( R.id.send );
|
|
fresh = findViewById( R.id.fresh );
|
|
fresh2 = findViewById( R.id.fresh2 );
|
|
content = findViewById( R.id.content );
|
|
|
|
httpDns = MogoHttpDnsHandler.getHttpDnsApi();
|
|
apiServices = MogoApisHandler.getInstance().getApis().getNetworkApi().create( ApiServices.class, "https://dnstest.zhidaozhixing.com" );
|
|
|
|
send.setOnClickListener( new View.OnClickListener() {
|
|
@Override
|
|
public void onClick( View v ) {
|
|
apiServices.requestHttpDns()
|
|
.observeOn( AndroidSchedulers.mainThread() )
|
|
.subscribeOn( Schedulers.io() )
|
|
.subscribe( new SubscribeImpl< ResponseBody >( RequestOptions.create( MainActivity.this ).loading( true ) ) {
|
|
@Override
|
|
public void onSuccess( ResponseBody o ) {
|
|
super.onSuccess( o );
|
|
try {
|
|
renderResponse( o );
|
|
} catch ( Exception e ) {
|
|
content.setText( Log.getStackTraceString( e ) );
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onError( Throwable e ) {
|
|
super.onError( e );
|
|
content.setText( Log.getStackTraceString( e ) );
|
|
}
|
|
} );
|
|
}
|
|
} );
|
|
|
|
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", HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_HTTP, 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() );
|
|
}
|
|
} );
|
|
}
|
|
} );
|
|
}
|
|
} );
|
|
}
|
|
} );
|
|
|
|
fresh2.setOnClickListener( new View.OnClickListener() {
|
|
@Override
|
|
public void onClick( View v ) {
|
|
WorkThreadHandler.getInstance().post( new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
httpDns.getHttpDnsIp( "dzt-city.zhidaozhixing.com", HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_HTTP, 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" );
|
|
String ip = httpDns.getCachedHttpDnsIps( "dnstest.zhidaozhixing.com", HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_HTTP );
|
|
sb.append( ip ).append( "\n" );
|
|
sb.append( "\nserverIp: \n" ).append( body.result.serverIp ).append( "\n" );
|
|
content.setText( sb.toString() );
|
|
}
|
|
}
|