pull/149/head
FongMi 3 years ago
parent 80b4e32580
commit b1f26fbeca
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/Updater.java
  2. 6
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 6
      app/src/main/java/com/fongmi/android/tv/api/Decoder.java
  4. 15
      app/src/main/java/com/fongmi/android/tv/api/LiveParser.java
  5. 7
      app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java
  6. 2
      app/src/mobile/java/com/fongmi/android/tv/Updater.java
  7. 7
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  8. 8
      catvod/src/main/java/com/github/catvod/net/OkHttp.java

@ -78,7 +78,7 @@ public class Updater implements Download.Callback {
private void doInBackground() {
try {
JSONObject object = new JSONObject(OkHttp.newCall(getJson()).execute().body().string());
JSONObject object = new JSONObject(OkHttp.string(getJson()));
String name = object.optString("name");
String desc = object.optString("desc");
int code = object.optInt("code");

@ -461,7 +461,11 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void checkDanmu(String danmu) {
mBinding.danmaku.release();
mBinding.danmaku.setVisibility(danmu.isEmpty() ? View.GONE : View.VISIBLE);
if (danmu.length() > 0) mBinding.danmaku.prepare(new Parser(danmu), mDanmakuContext);
App.execute(() -> {
String temp = danmu;
if (temp.startsWith("http")) temp = OkHttp.string(temp);
if (temp.length() > 0) mBinding.danmaku.prepare(new Parser(temp), mDanmakuContext);
});
}
private void setEmpty() {

@ -58,10 +58,10 @@ public class Decoder {
}
}
private static String getData(String url) throws Exception {
if (url.startsWith("http")) return OkHttp.newCall(url).execute().body().string();
private static String getData(String url) {
if (url.startsWith("http")) return OkHttp.string(url);
if (url.startsWith("file")) return Path.read(url);
throw new Exception();
return "";
}
private static String ecb(String data, String key) throws Exception {

@ -103,16 +103,11 @@ public class LiveParser {
}
private static String getText(String url) {
try {
if (url.startsWith("file")) return Path.read(url);
if (url.startsWith("http")) return OkHttp.newCall(url).execute().body().string();
if (url.endsWith(".txt") || url.endsWith(".m3u")) return getText(Utils.convert(LiveConfig.getUrl(), url));
if (url.length() > 0 && url.length() % 4 == 0) return getText(new String(Base64.decode(url, Base64.DEFAULT)));
return "";
} catch (Exception e) {
e.printStackTrace();
return "";
}
if (url.startsWith("file")) return Path.read(url);
if (url.startsWith("http")) return OkHttp.string(url);
if (url.endsWith(".txt") || url.endsWith(".m3u")) return getText(Utils.convert(LiveConfig.getUrl(), url));
if (url.length() > 0 && url.length() % 4 == 0) return getText(new String(Base64.decode(url, Base64.DEFAULT)));
return "";
}
private static class Setting {

@ -160,7 +160,6 @@ public class SiteViewModel extends ViewModel {
if (result.getFlag().isEmpty()) result.setFlag(flag);
result.setUrl(Source.get().fetch(result));
result.setHeader(site.getHeader());
checkDanmaku(result);
result.setKey(key);
return result;
} else if (site.getType() == 4) {
@ -173,7 +172,6 @@ public class SiteViewModel extends ViewModel {
if (result.getFlag().isEmpty()) result.setFlag(flag);
result.setUrl(Source.get().fetch(result));
result.setHeader(site.getHeader());
checkDanmaku(result);
return result;
} else if (site.isEmpty() && key.equals("push_agent")) {
Result result = new Result();
@ -274,11 +272,6 @@ public class SiteViewModel extends ViewModel {
}
}
private void checkDanmaku(Result result) throws Exception {
if (result.getDanmaku().isEmpty() || !result.getDanmaku().startsWith("http")) return;
result.setDanmaku(OkHttp.newCall(result.getDanmaku()).execute().body().string());
}
private void post(Site site, Result result) {
if (result.getList().isEmpty()) return;
for (Vod vod : result.getList()) vod.setSite(site);

@ -79,7 +79,7 @@ public class Updater implements Download.Callback {
private void doInBackground() {
try {
JSONObject object = new JSONObject(OkHttp.newCall(getJson()).execute().body().string());
JSONObject object = new JSONObject(OkHttp.string(getJson()));
String name = object.optString("name");
String desc = object.optString("desc");
int code = object.optInt("code");

@ -87,6 +87,7 @@ import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Sniffer;
import com.fongmi.android.tv.utils.Traffic;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Util;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.permissionx.guolindev.PermissionX;
@ -533,7 +534,11 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
private void checkDanmu(String danmu) {
mBinding.danmaku.release();
mBinding.danmaku.setVisibility(danmu.isEmpty() ? View.GONE : View.VISIBLE);
if (danmu.length() > 0) mBinding.danmaku.prepare(new Parser(danmu), mDanmakuContext);
App.execute(() -> {
String temp = danmu;
if (temp.startsWith("http")) temp = OkHttp.string(temp);
if (temp.length() > 0) mBinding.danmaku.prepare(new Parser(temp), mDanmakuContext);
});
}
@Override

@ -79,6 +79,14 @@ public class OkHttp {
return redirect ? client(timeout) : noRedirect(timeout);
}
public static String string(String url) {
try {
return url.startsWith("http") ? newCall(url).execute().body().string() : "";
} catch (Exception e) {
return "";
}
}
public static Call newCall(String url) {
Uri uri = Uri.parse(url);
if (uri.getUserInfo() != null) return newCall(url, Headers.of(HttpHeaders.AUTHORIZATION, Util.basic(uri)));

Loading…
Cancel
Save