正在查看: Clean Center v0.5.5 应用的 NetworkUtil.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Clean Center v0.5.5 应用的 NetworkUtil.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.lambda.adlib.utils;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;
import kotlin.Metadata;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Ref;
import kotlin.text.Regex;
import org.json.mediationsdk.logger.IronSourceError;
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\bÆ\u0002\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J\u000e\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0007J\u000e\u0010\b\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0007¨\u0006\t"}, d2 = {"Lcom/lambda/adlib/utils/NetworkUtil;", "", "<init>", "()V", "isNetworkAvailable", "", "context", "Landroid/content/Context;", "isNetWorkAvailablePing", "adlib_release"}, k = 1, mv = {2, 1, 0}, xi = 48)
public final class NetworkUtil {
public static final NetworkUtil INSTANCE = new NetworkUtil();
private NetworkUtil() {
}
public final int isNetworkAvailable(Context context) {
NetworkCapabilities networkCapabilities;
Intrinsics.checkNotNullParameter(context, "context");
Object systemService = context.getSystemService("connectivity");
Intrinsics.checkNotNull(systemService, "null cannot be cast to non-null type android.net.ConnectivityManager");
ConnectivityManager connectivityManager = (ConnectivityManager) systemService;
Network activeNetwork = connectivityManager.getActiveNetwork();
if (activeNetwork == null || (networkCapabilities = connectivityManager.getNetworkCapabilities(activeNetwork)) == null) {
return 0;
}
return (networkCapabilities.hasTransport(1) || networkCapabilities.hasTransport(0) || networkCapabilities.hasTransport(3)) ? 1 : 0;
}
public final int isNetWorkAvailablePing(Context context) {
List emptyList;
Intrinsics.checkNotNullParameter(context, "context");
try {
List split = new Regex(" ").split("ping -c 3 www.google.com", 0);
if (!split.isEmpty()) {
ListIterator listIterator = split.listIterator(split.size());
while (listIterator.hasPrevious()) {
if (((String) listIterator.previous()).length() != 0) {
emptyList = CollectionsKt.take(split, listIterator.nextIndex() + 1);
break;
}
}
}
emptyList = CollectionsKt.emptyList();
String[] strArr = (String[]) emptyList.toArray(new String[0]);
final Process start = new ProcessBuilder((String[]) Arrays.copyOf(strArr, strArr.length)).start();
final Ref.IntRef intRef = new Ref.IntRef();
Thread thread = new Thread(new Runnable() {
@Override
public final void run() {
NetworkUtil.isNetWorkAvailablePing$lambda$1(intRef, start);
}
});
thread.start();
thread.join(IronSourceError.ERROR_CAPPING_VALIDATION_FAILED);
if (!thread.isAlive()) {
return intRef.element == 0 ? 1 : 0;
}
start.destroy();
return 0;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
public static final void isNetWorkAvailablePing$lambda$1(Ref.IntRef intRef, Process process) {
try {
intRef.element = process.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}