Ostrich VPN v1.19.0222版本的 MD5 值为:1b442e5f3dd93fd660d88d6f4b94ace3

以下内容为反编译后的 IpInfoActivity.java 源代码,内容仅作参考


package com.best.free.vpn.proxy.ui.activity;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import androidx.core.app.NotificationCompat;
import androidx.lifecycle.ViewModel;
import com.best.free.vpn.proxy.R;
import com.best.free.vpn.proxy.base.BaseActivity;
import com.best.free.vpn.proxy.configs.GeoBean;
import com.best.free.vpn.proxy.configs.LocationInfoBean;
import com.best.free.vpn.proxy.configs.LocationInfoIpApiBean;
import com.best.free.vpn.proxy.configs.LocationInfoIpinfoBean;
import com.best.free.vpn.proxy.configs.LocationInfoOstrichNetBean;
import com.best.free.vpn.proxy.databinding.ActivityIpInfoBinding;
import com.best.free.vpn.proxy.databinding.AdLayoutAdmobSmallBinding;
import com.best.free.vpn.proxy.http.HttpURL;
import com.best.free.vpn.proxy.http.HttpUtil;
import com.best.free.vpn.proxy.http.ObservableInterface;
import com.best.free.vpn.proxy.http.RxTransformerUtil;
import com.best.free.vpn.proxy.util.CommonUtil;
import com.best.free.vpn.proxy.util.LogKt;
import com.best.free.vpn.proxy.util.NetworkUtil;
import com.google.android.gms.common.internal.ImagesContract;
import io.reactivex.Observable;
import io.reactivex.functions.Consumer;
import java.util.Arrays;
import java.util.List;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.StringCompanionObject;
import kotlin.text.StringsKt;

@Metadata(d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0007\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\u0018\u0000 \u001b2\u000e\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\u00030\u00012\u00020\u0004:\u0001\u001bB\u0005¢\u0006\u0002\u0010\u0005J\b\u0010\b\u001a\u00020\tH\u0014J\b\u0010\n\u001a\u00020\u000bH\u0014J\b\u0010\f\u001a\u00020\u000bH\u0002J\b\u0010\r\u001a\u00020\u000bH\u0002J\b\u0010\u000e\u001a\u00020\u000bH\u0002J\b\u0010\u000f\u001a\u00020\u000bH\u0003J\b\u0010\u0010\u001a\u00020\u000bH\u0003J\u0012\u0010\u0011\u001a\u00020\u000b2\b\b\u0002\u0010\u0012\u001a\u00020\u0013H\u0003J\b\u0010\u0014\u001a\u00020\u000bH\u0014J\u001c\u0010\u0015\u001a\u00020\u00162\b\u0010\u0017\u001a\u0004\u0018\u00010\u00182\b\u0010\u0019\u001a\u0004\u0018\u00010\u001aH\u0016R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082.¢\u0006\u0002\n\u0000¨\u0006\u001c"}, d2 = {"Lcom/best/free/vpn/proxy/ui/activity/IpInfoActivity;", "Lcom/best/free/vpn/proxy/base/BaseActivity;", "Landroidx/lifecycle/ViewModel;", "Lcom/best/free/vpn/proxy/databinding/ActivityIpInfoBinding;", "Landroid/view/View$OnTouchListener;", "()V", "bindingAdLayout", "Lcom/best/free/vpn/proxy/databinding/AdLayoutAdmobSmallBinding;", "getLayoutId", "", "initView", "", "initWebView", "loadAD", "loadLocationInfo", "loadLocationInfoIpApi", "loadLocationInfoIpinfo", "loadLocationInfoOstrichnet", ImagesContract.URL, "", "onDestroy", "onTouch", "", "v", "Landroid/view/View;", NotificationCompat.CATEGORY_EVENT, "Landroid/view/MotionEvent;", "Companion", "vpnkt-v1.19.0(222)_release"}, k = 1, mv = {1, 9, 0}, xi = 48)
public final class IpInfoActivity extends BaseActivity<ViewModel, ActivityIpInfoBinding> implements View.OnTouchListener {

    public static final Companion INSTANCE = new Companion(null);
    private AdLayoutAdmobSmallBinding bindingAdLayout;

    @Override
    protected int getLayoutId() {
        return R.layout.activity_ip_info;
    }

    @Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u000e\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006¨\u0006\u0007"}, d2 = {"Lcom/best/free/vpn/proxy/ui/activity/IpInfoActivity$Companion;", "", "()V", "launch", "", "context", "Landroid/content/Context;", "vpnkt-v1.19.0(222)_release"}, k = 1, mv = {1, 9, 0}, xi = 48)
    public static final class Companion {
        public Companion(DefaultConstructorMarker defaultConstructorMarker) {
            this();
        }

        private Companion() {
        }

        public final void launch(Context context) {
            Intrinsics.checkNotNullParameter(context, "context");
            context.startActivity(new Intent(context, (Class<?>) IpInfoActivity.class));
        }
    }

    @Override
    protected void initView() {
        AdLayoutAdmobSmallBinding inflate = AdLayoutAdmobSmallBinding.inflate(getLayoutInflater());
        Intrinsics.checkNotNullExpressionValue(inflate, "inflate(...)");
        this.bindingAdLayout = inflate;
        setSupportActionBar(getMDataBinding().toolbar);
        getMDataBinding().toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                IpInfoActivity.initView$lambda$0(IpInfoActivity.this, view);
            }
        });
        initWebView();
        loadLocationInfo();
    }

    public static final void initView$lambda$0(IpInfoActivity this$0, View view) {
        Intrinsics.checkNotNullParameter(this$0, "this$0");
        this$0.finish();
    }

    private final void loadAD() {
    }

    private final void initWebView() {
        WebView webView = getMDataBinding().webView;
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setDefaultTextEncodingName("UTF-8");
        webView.setScrollbarFadingEnabled(true);
        webView.setWebChromeClient(new WebChromeClient());
        webView.setWebViewClient(new WebViewClient());
        getMDataBinding().webView.setOnTouchListener(this);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        WebView webView = getMDataBinding().webView;
        webView.removeAllViews();
        webView.destroy();
    }

    private final void loadLocationInfo() {
        IpInfoActivity ipInfoActivity = this;
        if (!NetworkUtil.INSTANCE.isNetworkAvailable(ipInfoActivity) || !NetworkUtil.INSTANCE.isNetworkConnect(ipInfoActivity)) {
            String tag = getTAG();
            Intrinsics.checkNotNullExpressionValue(tag, "<get-TAG>(...)");
            LogKt.logE(tag, "Network is unavailable");
        } else {
            String string = getString(R.string.ip_info_loading);
            Intrinsics.checkNotNullExpressionValue(string, "getString(...)");
            getMDataBinding().setLocationBean(new LocationInfoBean(string, new float[2], new GeoBean("", null, null, null, 14, null)));
            loadLocationInfoIpinfo();
        }
    }

    private final void loadLocationInfoIpinfo() {
        ObservableInterface observableInterface = HttpUtil.INSTANCE.getInterface("https://ipinfo.io/");
        if (observableInterface != null) {
            Observable<R> compose = observableInterface.getLocationInfoIpinfo().compose(RxTransformerUtil.INSTANCE.observableIO2Main());
            final Function1<LocationInfoIpinfoBean, Unit> function1 = new Function1<LocationInfoIpinfoBean, Unit>() {
                {
                    super(1);
                }

                @Override
                public Unit invoke(LocationInfoIpinfoBean locationInfoIpinfoBean) {
                    invoke2(locationInfoIpinfoBean);
                    return Unit.INSTANCE;
                }

                public final void invoke2(LocationInfoIpinfoBean locationInfoIpinfoBean) {
                    String llString;
                    Float valueOf = Float.valueOf(0.0f);
                    if (locationInfoIpinfoBean != null && (llString = locationInfoIpinfoBean.getLlString()) != null && llString.length() != 0) {
                        List split$default = StringsKt.split$default((CharSequence) locationInfoIpinfoBean.getLlString(), new String[]{","}, false, 0, 6, (Object) null);
                        float parseFloat = split$default.size() >= 2 ? Float.parseFloat((String) split$default.get(0)) : 0.0f;
                        float parseFloat2 = split$default.size() >= 2 ? Float.parseFloat((String) split$default.get(1)) : 0.0f;
                        String ip = locationInfoIpinfoBean.getIp();
                        if (ip == null) {
                            ip = "";
                        }
                        float[] fArr = {parseFloat, parseFloat2};
                        String city = locationInfoIpinfoBean.getCity();
                        if (city == null) {
                            city = "";
                        }
                        String countryCode = locationInfoIpinfoBean.getCountryCode();
                        if (countryCode == null) {
                            countryCode = "";
                        }
                        String region = locationInfoIpinfoBean.getRegion();
                        String str = region == null ? "" : region;
                        String postal = locationInfoIpinfoBean.getPostal();
                        IpInfoActivity.this.getMDataBinding().setLocationBean(new LocationInfoBean(ip, fArr, new GeoBean(city, countryCode, str, postal != null ? postal : "")));
                        IpInfoActivity.this.getMDataBinding().ivCountryFlag.setImageDrawable(CommonUtil.INSTANCE.getDrawable(IpInfoActivity.this, locationInfoIpinfoBean.getCountryCode()));
                        WebView webView = IpInfoActivity.this.getMDataBinding().webView;
                        StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE;
                        String string = IpInfoActivity.this.getString(R.string.google_map_url);
                        Intrinsics.checkNotNullExpressionValue(string, "getString(...)");
                        String format = String.format(string, Arrays.copyOf(new Object[]{Float.valueOf(parseFloat), Float.valueOf(parseFloat2)}, 2));
                        Intrinsics.checkNotNullExpressionValue(format, "format(format, *args)");
                        webView.loadUrl(format);
                        return;
                    }
                    WebView webView2 = IpInfoActivity.this.getMDataBinding().webView;
                    StringCompanionObject stringCompanionObject2 = StringCompanionObject.INSTANCE;
                    String string2 = IpInfoActivity.this.getString(R.string.google_map_url);
                    Intrinsics.checkNotNullExpressionValue(string2, "getString(...)");
                    String format2 = String.format(string2, Arrays.copyOf(new Object[]{valueOf, valueOf}, 2));
                    Intrinsics.checkNotNullExpressionValue(format2, "format(format, *args)");
                    webView2.loadUrl(format2);
                }
            };
            Consumer consumer = new Consumer() {
                @Override
                public final void accept(Object obj) {
                    IpInfoActivity.loadLocationInfoIpinfo$lambda$5$lambda$3(Function1.this, obj);
                }
            };
            final Function1<Throwable, Unit> function12 = new Function1<Throwable, Unit>() {
                {
                    super(1);
                }

                @Override
                public Unit invoke(Throwable th) {
                    invoke2(th);
                    return Unit.INSTANCE;
                }

                public final void invoke2(Throwable th) {
                    th.printStackTrace();
                    IpInfoActivity.this.loadLocationInfoIpApi();
                }
            };
            compose.subscribe(consumer, new Consumer() {
                @Override
                public final void accept(Object obj) {
                    IpInfoActivity.loadLocationInfoIpinfo$lambda$5$lambda$4(Function1.this, obj);
                }
            });
        }
    }

    public static final void loadLocationInfoIpinfo$lambda$5$lambda$3(Function1 tmp0, Object obj) {
        Intrinsics.checkNotNullParameter(tmp0, "$tmp0");
        tmp0.invoke(obj);
    }

    public static final void loadLocationInfoIpinfo$lambda$5$lambda$4(Function1 tmp0, Object obj) {
        Intrinsics.checkNotNullParameter(tmp0, "$tmp0");
        tmp0.invoke(obj);
    }

    public final void loadLocationInfoIpApi() {
        ObservableInterface observableInterface = HttpUtil.INSTANCE.getInterface("http://ip-api.com");
        if (observableInterface != null) {
            Observable<R> compose = observableInterface.getLocationInfoIpApi().compose(RxTransformerUtil.INSTANCE.observableIO2Main());
            final Function1<LocationInfoIpApiBean, Unit> function1 = new Function1<LocationInfoIpApiBean, Unit>() {
                {
                    super(1);
                }

                @Override
                public Unit invoke(LocationInfoIpApiBean locationInfoIpApiBean) {
                    invoke2(locationInfoIpApiBean);
                    return Unit.INSTANCE;
                }

                public final void invoke2(LocationInfoIpApiBean locationInfoIpApiBean) {
                    if (locationInfoIpApiBean != null) {
                        String ip = locationInfoIpApiBean.getIp();
                        if (ip == null) {
                            ip = "";
                        }
                        float[] fArr = {locationInfoIpApiBean.getLat(), locationInfoIpApiBean.getLon()};
                        String city = locationInfoIpApiBean.getCity();
                        if (city == null) {
                            city = "";
                        }
                        String countryCode = locationInfoIpApiBean.getCountryCode();
                        if (countryCode == null) {
                            countryCode = "";
                        }
                        String region = locationInfoIpApiBean.getRegion();
                        if (region == null) {
                            region = "";
                        }
                        String postal = locationInfoIpApiBean.getPostal();
                        if (postal == null) {
                            postal = "";
                        }
                        IpInfoActivity.this.getMDataBinding().setLocationBean(new LocationInfoBean(ip, fArr, new GeoBean(city, countryCode, region, postal)));
                        ImageView imageView = IpInfoActivity.this.getMDataBinding().ivCountryFlag;
                        CommonUtil commonUtil = CommonUtil.INSTANCE;
                        IpInfoActivity ipInfoActivity = IpInfoActivity.this;
                        String countryCode2 = locationInfoIpApiBean.getCountryCode();
                        imageView.setImageDrawable(commonUtil.getDrawable(ipInfoActivity, countryCode2 != null ? countryCode2 : ""));
                        WebView webView = IpInfoActivity.this.getMDataBinding().webView;
                        StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE;
                        String string = IpInfoActivity.this.getString(R.string.google_map_url);
                        Intrinsics.checkNotNullExpressionValue(string, "getString(...)");
                        String format = String.format(string, Arrays.copyOf(new Object[]{Float.valueOf(locationInfoIpApiBean.getLat()), Float.valueOf(locationInfoIpApiBean.getLon())}, 2));
                        Intrinsics.checkNotNullExpressionValue(format, "format(format, *args)");
                        webView.loadUrl(format);
                        return;
                    }
                    WebView webView2 = IpInfoActivity.this.getMDataBinding().webView;
                    StringCompanionObject stringCompanionObject2 = StringCompanionObject.INSTANCE;
                    String string2 = IpInfoActivity.this.getString(R.string.google_map_url);
                    Intrinsics.checkNotNullExpressionValue(string2, "getString(...)");
                    String format2 = String.format(string2, Arrays.copyOf(new Object[]{Float.valueOf(0.0f), Float.valueOf(0.0f)}, 2));
                    Intrinsics.checkNotNullExpressionValue(format2, "format(format, *args)");
                    webView2.loadUrl(format2);
                }
            };
            Consumer consumer = new Consumer() {
                @Override
                public final void accept(Object obj) {
                    IpInfoActivity.loadLocationInfoIpApi$lambda$8$lambda$6(Function1.this, obj);
                }
            };
            final Function1<Throwable, Unit> function12 = new Function1<Throwable, Unit>() {
                {
                    super(1);
                }

                @Override
                public Unit invoke(Throwable th) {
                    invoke2(th);
                    return Unit.INSTANCE;
                }

                public final void invoke2(Throwable th) {
                    th.printStackTrace();
                    IpInfoActivity.loadLocationInfoOstrichnet$default(IpInfoActivity.this, null, 1, null);
                }
            };
            compose.subscribe(consumer, new Consumer() {
                @Override
                public final void accept(Object obj) {
                    IpInfoActivity.loadLocationInfoIpApi$lambda$8$lambda$7(Function1.this, obj);
                }
            });
        }
    }

    public static final void loadLocationInfoIpApi$lambda$8$lambda$6(Function1 tmp0, Object obj) {
        Intrinsics.checkNotNullParameter(tmp0, "$tmp0");
        tmp0.invoke(obj);
    }

    public static final void loadLocationInfoIpApi$lambda$8$lambda$7(Function1 tmp0, Object obj) {
        Intrinsics.checkNotNullParameter(tmp0, "$tmp0");
        tmp0.invoke(obj);
    }

    public static void loadLocationInfoOstrichnet$default(IpInfoActivity ipInfoActivity, String str, int i, Object obj) {
        if ((i & 1) != 0) {
            str = "";
        }
        ipInfoActivity.loadLocationInfoOstrichnet(str);
    }

    private final void loadLocationInfoOstrichnet(String url) {
        HttpUtil httpUtil = HttpUtil.INSTANCE;
        if (url.length() == 0) {
            url = HttpURL.BASE_URL;
        }
        ObservableInterface observableInterface = httpUtil.getInterface(url);
        if (observableInterface != null) {
            Observable<R> compose = observableInterface.getLocationInfo().compose(RxTransformerUtil.INSTANCE.observableIO2Main());
            final Function1<LocationInfoOstrichNetBean, Unit> function1 = new Function1<LocationInfoOstrichNetBean, Unit>() {
                {
                    super(1);
                }

                @Override
                public Unit invoke(LocationInfoOstrichNetBean locationInfoOstrichNetBean) {
                    invoke2(locationInfoOstrichNetBean);
                    return Unit.INSTANCE;
                }

                public final void invoke2(LocationInfoOstrichNetBean locationInfoOstrichNetBean) {
                    if (locationInfoOstrichNetBean != null) {
                        String ip = locationInfoOstrichNetBean.getIp();
                        if (ip == null) {
                            ip = "";
                        }
                        IpInfoActivity.this.getMDataBinding().setLocationBean(new LocationInfoBean(ip, locationInfoOstrichNetBean.getGeo().getLl(), new GeoBean(locationInfoOstrichNetBean.getGeo().getCity(), locationInfoOstrichNetBean.getGeo().getCountry(), locationInfoOstrichNetBean.getGeo().getRegion(), locationInfoOstrichNetBean.getGeo().getTimezone())));
                        IpInfoActivity.this.getMDataBinding().ivCountryFlag.setImageDrawable(CommonUtil.INSTANCE.getDrawable(IpInfoActivity.this, locationInfoOstrichNetBean.getGeo().getCountry()));
                        WebView webView = IpInfoActivity.this.getMDataBinding().webView;
                        StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE;
                        String string = IpInfoActivity.this.getString(R.string.google_map_url);
                        Intrinsics.checkNotNullExpressionValue(string, "getString(...)");
                        String format = String.format(string, Arrays.copyOf(new Object[]{Float.valueOf(locationInfoOstrichNetBean.getGeo().getLl()[0]), Float.valueOf(locationInfoOstrichNetBean.getGeo().getLl()[1])}, 2));
                        Intrinsics.checkNotNullExpressionValue(format, "format(format, *args)");
                        webView.loadUrl(format);
                        return;
                    }
                    WebView webView2 = IpInfoActivity.this.getMDataBinding().webView;
                    StringCompanionObject stringCompanionObject2 = StringCompanionObject.INSTANCE;
                    String string2 = IpInfoActivity.this.getString(R.string.google_map_url);
                    Intrinsics.checkNotNullExpressionValue(string2, "getString(...)");
                    String format2 = String.format(string2, Arrays.copyOf(new Object[]{Float.valueOf(0.0f), Float.valueOf(0.0f)}, 2));
                    Intrinsics.checkNotNullExpressionValue(format2, "format(format, *args)");
                    webView2.loadUrl(format2);
                }
            };
            Consumer consumer = new Consumer() {
                @Override
                public final void accept(Object obj) {
                    IpInfoActivity.loadLocationInfoOstrichnet$lambda$11$lambda$9(Function1.this, obj);
                }
            };
            final Function1<Throwable, Unit> function12 = new Function1<Throwable, Unit>() {
                {
                    super(1);
                }

                @Override
                public Unit invoke(Throwable th) {
                    invoke2(th);
                    return Unit.INSTANCE;
                }

                public final void invoke2(Throwable th) {
                    th.printStackTrace();
                    String string = IpInfoActivity.this.getString(R.string.ip_info_failed);
                    Intrinsics.checkNotNullExpressionValue(string, "getString(...)");
                    String string2 = IpInfoActivity.this.getString(R.string.ip_info_failed);
                    Intrinsics.checkNotNullExpressionValue(string2, "getString(...)");
                    IpInfoActivity.this.getMDataBinding().setLocationBean(new LocationInfoBean(string, new float[2], new GeoBean(string2, null, null, null, 14, null)));
                }
            };
            compose.subscribe(consumer, new Consumer() {
                @Override
                public final void accept(Object obj) {
                    IpInfoActivity.loadLocationInfoOstrichnet$lambda$11$lambda$10(Function1.this, obj);
                }
            });
        }
    }

    public static final void loadLocationInfoOstrichnet$lambda$11$lambda$9(Function1 tmp0, Object obj) {
        Intrinsics.checkNotNullParameter(tmp0, "$tmp0");
        tmp0.invoke(obj);
    }

    public static final void loadLocationInfoOstrichnet$lambda$11$lambda$10(Function1 tmp0, Object obj) {
        Intrinsics.checkNotNullParameter(tmp0, "$tmp0");
        tmp0.invoke(obj);
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (v == null || v.getId() != R.id.webView || event == null || event.getAction() != 0) {
            return false;
        }
        try {
            Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("geo:" + ((Object) getMDataBinding().tvLat.getText()) + "," + ((Object) getMDataBinding().tvLng.getText())));
            intent.setPackage("com.google.android.apps.maps");
            startActivity(intent);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
}