143 lines
4.3 KiB
Java
143 lines
4.3 KiB
Java
package com.baidu.uaq.agent.android.util;
|
|
|
|
import android.content.Context;
|
|
import android.net.ConnectivityManager;
|
|
import android.net.NetworkInfo;
|
|
import android.os.Build;
|
|
import android.telephony.TelephonyManager;
|
|
import com.baidu.uaq.agent.android.logging.a;
|
|
import com.ubt.jimu.blockly.feature.sensor.SensorObserver;
|
|
import com.ubt.jimu.diy.model.CategoryModel;
|
|
import com.ubt.jimu.transport.model.TransportFile;
|
|
import java.text.MessageFormat;
|
|
|
|
/* compiled from: NetworkUtil.java */
|
|
/* loaded from: classes.dex */
|
|
public final class i {
|
|
private static final a a = com.baidu.uaq.agent.android.logging.b.a();
|
|
|
|
private static String a(int i) {
|
|
switch (i) {
|
|
case 1:
|
|
return "GPRS";
|
|
case 2:
|
|
return "EDGE";
|
|
case 3:
|
|
return "UMTS";
|
|
case 4:
|
|
return "CDMA";
|
|
case 5:
|
|
return "EVDO rev 0";
|
|
case 6:
|
|
return "EVDO rev A";
|
|
case 7:
|
|
return "1xRTT";
|
|
case 8:
|
|
return "HSDPA";
|
|
case 9:
|
|
return "HSUPA";
|
|
case 10:
|
|
return "HSPA";
|
|
case 11:
|
|
return "IDEN";
|
|
case 12:
|
|
return "EVDO rev B";
|
|
case 13:
|
|
return SensorObserver.Compareration.OP_LESS_THAN;
|
|
case 14:
|
|
return "HRPD";
|
|
case 15:
|
|
return "HSPAP";
|
|
default:
|
|
return CategoryModel.unknown;
|
|
}
|
|
}
|
|
|
|
public static String a(Context context) {
|
|
NetworkInfo e;
|
|
try {
|
|
e = e(context);
|
|
} catch (SecurityException unused) {
|
|
}
|
|
if (e == null || !a(e)) {
|
|
return TransportFile.TYPE_NONE;
|
|
}
|
|
if (b(e)) {
|
|
return f(context);
|
|
}
|
|
if (c(e)) {
|
|
return "wifi";
|
|
}
|
|
a.b(MessageFormat.format("Unknown network type: {0} [{1}]", e.getTypeName(), Integer.valueOf(e.getType())));
|
|
return CategoryModel.unknown;
|
|
}
|
|
|
|
public static String b(Context context) {
|
|
NetworkInfo e;
|
|
try {
|
|
e = e(context);
|
|
} catch (SecurityException unused) {
|
|
}
|
|
if (e == null || !a(e)) {
|
|
return TransportFile.TYPE_NONE;
|
|
}
|
|
if (c(e)) {
|
|
return "wifi";
|
|
}
|
|
if (b(e)) {
|
|
return a(e.getSubtype());
|
|
}
|
|
return CategoryModel.unknown;
|
|
}
|
|
|
|
public static boolean c(Context context) {
|
|
try {
|
|
NetworkInfo e = e(context);
|
|
return a(e) && e.getType() != 1;
|
|
} catch (SecurityException unused) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static boolean d(Context context) {
|
|
try {
|
|
NetworkInfo e = e(context);
|
|
return e != null && e.getType() == 1;
|
|
} catch (SecurityException unused) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static NetworkInfo e(Context context) throws SecurityException {
|
|
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity");
|
|
if (connectivityManager == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return connectivityManager.getActiveNetworkInfo();
|
|
} catch (SecurityException e) {
|
|
a.b("Cannot determine network state. Enable android.permission.ACCESS_NETWORK_STATE in your manifest.");
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
private static String f(Context context) {
|
|
String networkOperatorName = ((TelephonyManager) context.getSystemService("phone")).getNetworkOperatorName();
|
|
return (networkOperatorName.equals("Android") && (Build.PRODUCT.equals("google_sdk") || Build.PRODUCT.equals("sdk") || Build.PRODUCT.equals("sdk_x86") || Build.FINGERPRINT.startsWith("generic"))) ? "wifi" : networkOperatorName;
|
|
}
|
|
|
|
private static boolean c(NetworkInfo networkInfo) {
|
|
int type = networkInfo.getType();
|
|
return type == 1 || type == 9 || type == 6 || type == 7;
|
|
}
|
|
|
|
private static boolean b(NetworkInfo networkInfo) {
|
|
int type = networkInfo.getType();
|
|
return type == 0 || type == 2 || type == 3 || type == 4 || type == 5;
|
|
}
|
|
|
|
public static boolean a(NetworkInfo networkInfo) {
|
|
return networkInfo != null && networkInfo.isConnected();
|
|
}
|
|
}
|