FOTA v.0.9.2.7版本的 MD5 值为:2305fdf4520259063967289da5df0dc6
以下内容为反编译后的 FactoryConnectFragment.java 源代码,内容仅作参考
package com.incall.apps.softmanager.mvvm.view;
import android.widget.Toast;
import com.incall.apps.softmanager.R;
import com.incall.apps.softmanager.base.BaseFragment;
import com.incall.apps.softmanager.base.DataBindingConfig;
import com.incall.apps.softmanager.util.AppExecutors;
import com.incall.apps.softmanager.util.log.LogUtil;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class FactoryConnectFragment extends BaseFragment {
private static final String TAG = "FactoryConnectFragment";
public static class IPDefine {
public static final String C2_M_MCU = "172.16.13.28";
public static final String C2_M_OS = "172.16.13.26";
public static final String EDC_MCU = "172.16.13.53";
public static final String EDC_QNX = "172.16.13.51";
public static final String TBOX = "172.16.13.54";
public static final String VIU_FL = "172.16.13.22";
public static final String VIU_FR = "172.16.13.21";
public static final String VIU_R = "172.16.13.23";
}
@Override
protected void initViewModel() {
}
@Override
protected DataBindingConfig getDataBindingConfig() {
return new DataBindingConfig(R.layout.fragment_factory_connect, null).addBindingParam(3, new ClickProxy());
}
public class ClickProxy {
public ClickProxy() {
}
public void pingIp(final String ip) {
AppExecutors.getInstance().io().execute(new Runnable() {
@Override
public void run() {
LogUtil.i(FactoryConnectFragment.TAG, "pingIp: ip = " + ip);
final boolean success = FactoryConnectFragment.isNetworkOnline(ip);
AppExecutors.getInstance().main().execute(new Runnable() {
@Override
public void run() {
if (success) {
Toast.makeText(FactoryConnectFragment.this.mActivity, ip + "可以ping通", 0).show();
} else {
Toast.makeText(FactoryConnectFragment.this.mActivity, ip + "无法ping通", 0).show();
}
}
});
}
});
}
}
public static boolean isNetworkOnline(String ip) {
Runtime runtime = Runtime.getRuntime();
Process ipProcess = null;
try {
try {
ipProcess = runtime.exec("ping -c 1 -w 4 " + ip);
InputStream input = ipProcess.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(input));
StringBuffer stringBuffer = new StringBuffer();
while (true) {
String content = in.readLine();
if (content == null) {
break;
}
stringBuffer.append(content);
}
int exitValue = ipProcess.waitFor();
if (exitValue == 0) {
if (ipProcess != null) {
ipProcess.destroy();
}
runtime.gc();
return true;
} else if (stringBuffer.indexOf("100% packet loss") != -1) {
if (ipProcess != null) {
ipProcess.destroy();
}
runtime.gc();
return false;
} else {
if (ipProcess != null) {
ipProcess.destroy();
}
runtime.gc();
return true;
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
if (ipProcess != null) {
ipProcess.destroy();
}
runtime.gc();
return false;
}
} catch (Throwable th) {
if (ipProcess != null) {
ipProcess.destroy();
}
runtime.gc();
throw th;
}
}
}