翰林优商.apk(点击下载) / NetworkMonitor.java


package com.kwai.video.hodor;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.util.Pair;
import androidx.core.app.ActivityCompat;
import com.kuaishou.weapon.p0.h;
import com.kwai.video.hodor.util.Timber;

public class NetworkMonitor {
    private static final int HodorMobileType_MOBILE_2G = 1;
    private static final int HodorMobileType_MOBILE_3G = 2;
    private static final int HodorMobileType_MOBILE_4G = 3;
    private static final int HodorMobileType_MOBILE_5G = 4;
    private static final int HodorMobileType_UNKNOWN = 0;

    private static String emptyStringIfNull(String str) {
        return str == null ? "" : str;
    }

    /* JADX WARNING: Removed duplicated region for block: B:16:0x0041  */
    /* JADX WARNING: Removed duplicated region for block: B:25:0x0070  */
    public static Pair<Integer, String> getMobileType(Context context) {
        int i;
        try {
            TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService("phone");
            if (telephonyManager != null) {
                try {
                    if (Build.VERSION.SDK_INT < 30 || ActivityCompat.checkSelfPermission(context, h.c) == 0) {
                        i = telephonyManager.getNetworkType();
                        Timber.d("[NetworkMonitor.getMobileType]mobileType:%d", Integer.valueOf(i));
                        if (i != 20) {
                            return Pair.create(4, "5G");
                        }
                        switch (i) {
                            case 1:
                            case 2:
                            case 4:
                            case 7:
                            case 11:
                                return Pair.create(1, "2G");
                            case 3:
                            case 5:
                            case 6:
                            case 8:
                            case 9:
                            case 10:
                            case 12:
                            case 14:
                            case 15:
                                return Pair.create(2, "3G");
                            case 13:
                                return Pair.create(3, "4G");
                            default:
                                return Pair.create(0, "UNKNOWN");
                        }
                    }
                } catch (RuntimeException e) {
                    Timber.w("[NetworkMonitor.getMobileType]fail, exception:%s", Log.getStackTraceString(e));
                }
            }
            i = 0;
            Timber.d("[NetworkMonitor.getMobileType]mobileType:%d", Integer.valueOf(i));
            if (i != 20) {
            }
        } catch (Exception unused) {
            return Pair.create(0, "UNKNOWN");
        }
    }

    public static void initNetworkChangeReceiver(Context context) {
        if (context != null) {
            context.getApplicationContext().registerReceiver(new BroadcastReceiver() {
                /* class com.kwai.video.hodor.NetworkMonitor.AnonymousClass1 */

                public final void onReceive(Context context, Intent intent) {
                    NetworkMonitor.onNetworkChange(context, intent);
                }
            }, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
        } else {
            Timber.e("initNetworkChangeReceiver fail, context is null", new Object[0]);
        }
    }

    public static void onNetworkChange(Context context, Intent intent) {
        try {
            ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity");
            Pair<Integer, String> mobileType = getMobileType(context);
            if (connectivityManager != null) {
                NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
                if (activeNetworkInfo == null) {
                    Timber.w("[onNetworkChange], get ConnectivityManager ok, get getActiveNetworkInfo fail, current supportMobileType:%s", mobileType.second);
                    onNetworkInvalidated();
                    return;
                }
                Object[] objArr = new Object[6];
                objArr[0] = Boolean.valueOf(activeNetworkInfo.isConnected());
                objArr[1] = Boolean.valueOf(activeNetworkInfo.getType() == 1);
                objArr[2] = activeNetworkInfo.getTypeName();
                objArr[3] = activeNetworkInfo.getState().toString();
                objArr[4] = activeNetworkInfo.getExtraInfo();
                objArr[5] = mobileType.second;
                Timber.d("[onNetworkChange], get ConnectivityManager ok, get getActiveNetworkInfo ok, isConnected:%b, isWifi:%b, netTypeName:%s, connectionState:%s, getExtraInfo:%s, supportMobileType:%s", objArr);
                onNewActiveNetwork(activeNetworkInfo.isConnected(), activeNetworkInfo.getType() == 1, emptyStringIfNull(activeNetworkInfo.getTypeName()), emptyStringIfNull(activeNetworkInfo.getState().toString()), emptyStringIfNull(activeNetworkInfo.getExtraInfo()), ((Integer) mobileType.first).intValue());
                return;
            }
            onNetworkInvalidated();
            Timber.e("[onNetworkChange], get ConnectivityManager fail, current supportMobileType:%s", mobileType.second);
        } catch (Exception unused) {
            onNetworkInvalidated();
            Timber.e("[onNetworkChange], get ConnectivityManager fail, current supportMobileType", new Object[0]);
        }
    }

    private static native void onNetworkInvalidated();

    private static native void onNewActiveNetwork(boolean z, boolean z2, String str, String str2, String str3, int i);
}