Fix ip is zero problem

pull/21/head
FongMi 4 years ago
parent 4ae7c0120d
commit 87be5e0cf0
  1. 15
      app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java
  2. 37
      app/src/main/java/com/fongmi/android/tv/utils/Utils.java

@ -1,7 +1,9 @@
package com.fongmi.android.tv.api;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.bean.Live;
@ -12,7 +14,6 @@ import com.fongmi.android.tv.net.OKHttp;
import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.Json;
import com.fongmi.android.tv.utils.Prefers;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.crawler.Spider;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
@ -120,7 +121,7 @@ public class ApiConfig {
private String parseExt(String ext) {
if (ext.startsWith("http")) return ext;
else if (ext.startsWith("file")) return FileUtil.read(ext);
else if (ext.endsWith(".json")) return parseExt(Utils.convert(ext));
else if (ext.endsWith(".json")) return parseExt(convert(ext));
return ext;
}
@ -132,10 +133,18 @@ public class ApiConfig {
} else if (spider.startsWith("file")) {
loader.load(FileUtil.getLocal(spider));
} else if (!spider.isEmpty()) {
parseJar(Utils.convert(spider));
parseJar(convert(spider));
}
}
private String convert(String text) {
if (TextUtils.isEmpty(text)) return "";
if (text.startsWith(".")) text = text.substring(1);
if (text.startsWith("/")) text = text.substring(1);
Uri uri = Uri.parse(Prefers.getUrl());
return uri.toString().replace(uri.getLastPathSegment(), text);
}
public Spider getCSP(Site site) {
return loader.getSpider(site.getKey(), site.getApi(), site.getExt());
}

@ -4,11 +4,9 @@ import android.app.Activity;
import android.app.PictureInPictureParams;
import android.content.Context;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.provider.Settings;
import android.text.TextUtils;
import android.text.format.Formatter;
import android.util.Rational;
import android.view.View;
@ -16,6 +14,11 @@ import android.view.View;
import com.fongmi.android.tv.App;
import com.google.android.exoplayer2.util.Util;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import java.util.regex.Pattern;
public class Utils {
@ -44,7 +47,27 @@ public class Utils {
public static String getIP() {
WifiManager manager = (WifiManager) App.get().getApplicationContext().getSystemService(Context.WIFI_SERVICE);
return Formatter.formatIpAddress(manager.getConnectionInfo().getIpAddress());
int ipAddress = manager.getConnectionInfo().getIpAddress();
if (ipAddress != 0) return Formatter.formatIpAddress(manager.getConnectionInfo().getIpAddress());
try {
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface element = interfaces.nextElement();
String interfaceName = element.getDisplayName();
if (interfaceName.equals("eth0") || interfaceName.equals("wlan0")) {
Enumeration<InetAddress> addresses = element.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress address = addresses.nextElement();
if (!address.isLoopbackAddress() && address instanceof Inet4Address) {
return address.getHostAddress();
}
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return "0.0.0.0";
}
public static String getUUID() {
@ -61,11 +84,5 @@ public class Utils {
return false;
}
public static String convert(String text) {
if (TextUtils.isEmpty(text)) return "";
if (text.startsWith(".")) text = text.substring(1);
if (text.startsWith("/")) text = text.substring(1);
Uri uri = Uri.parse(Prefers.getUrl());
return uri.toString().replace(uri.getLastPathSegment(), text);
}
}

Loading…
Cancel
Save