pull/605/head
jhengazuji 5 months ago
parent 0f50adff9c
commit d93e781eed
  1. 9
      app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java
  2. 3
      app/src/main/java/com/fongmi/android/tv/bean/Sub.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java
  4. 5
      app/src/main/java/com/fongmi/android/tv/player/extractor/TVBus.java
  5. 6
      app/src/main/java/com/fongmi/android/tv/utils/UrlUtil.java
  6. 4
      catvod/src/main/java/com/github/catvod/net/OkHttp.java

@ -28,7 +28,6 @@ import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.google.gson.JsonObject;
import java.io.File;
import java.io.InterruptedIOException;
import java.util.ArrayList;
import java.util.Collections;
@ -155,11 +154,9 @@ public class LiveConfig {
private String parseName(String url) {
Uri uri = Uri.parse(url);
if ("file".equals(uri.getScheme())) return new File(url).getName();
if (uri.getLastPathSegment() != null) return uri.getLastPathSegment();
if (uri.getQuery() != null) return uri.getQuery();
if (uri.getHost() != null) return uri.getHost();
return url;
String path = UrlUtil.path(uri);
String host = UrlUtil.host(uri);
return !path.isEmpty() ? path : !host.isEmpty() ? host : url;
}
private void checkJson(JsonObject object, Callback callback) {

@ -28,10 +28,9 @@ public class Sub {
private int flag;
public static Sub from(String path) {
Uri uri = Uri.parse(path);
Sub sub = new Sub();
sub.url = path;
sub.name = uri.getLastPathSegment();
sub.name = UrlUtil.path(path);
sub.flag = C.SELECTION_FLAG_FORCED;
sub.format = ExoUtil.getMimeType(sub.name);
return sub;

@ -32,7 +32,7 @@ public class JianPian implements Source.Extractor {
stop();
check();
start(url);
return "http://127.0.0.1:" + p2p.port + "/" + URLEncoder.encode(Uri.parse(path).getLastPathSegment(), "GBK");
return "http://127.0.0.1:" + p2p.port + "/" + URLEncoder.encode(UrlUtil.path(path), "GBK");
}
private void check() {

@ -1,7 +1,6 @@
package com.fongmi.android.tv.player.extractor;
import android.net.Uri;
import android.text.TextUtils;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
@ -48,8 +47,8 @@ public class TVBus implements Source.Extractor, Listener {
}
private String getPath(String url) {
String name = Uri.parse(url).getLastPathSegment();
if (TextUtils.isEmpty(name)) name = "tvcore.so";
String name = UrlUtil.path(url);
if (name.isEmpty()) name = "tvcore.so";
File file = new File(Path.so(), name);
if (file.length() < 10240) Path.write(file, OkHttp.bytes(url));
return file.getAbsolutePath();

@ -30,8 +30,12 @@ public class UrlUtil {
return host == null ? "" : host.toLowerCase().trim();
}
public static String path(String url) {
return url == null ? "" : path(Uri.parse(url));
}
public static String path(Uri uri) {
String path = uri.getPath();
String path = uri.getLastPathSegment();
return path == null ? "" : path.trim();
}

@ -103,6 +103,10 @@ public class OkHttp {
return client().newBuilder().connectTimeout(timeout, TimeUnit.MILLISECONDS).readTimeout(timeout, TimeUnit.MILLISECONDS).writeTimeout(timeout, TimeUnit.MILLISECONDS).build();
}
public static OkHttpClient noRedirect() {
return noRedirect(TIMEOUT);
}
public static OkHttpClient noRedirect(long timeout) {
return client().newBuilder().connectTimeout(timeout, TimeUnit.MILLISECONDS).readTimeout(timeout, TimeUnit.MILLISECONDS).writeTimeout(timeout, TimeUnit.MILLISECONDS).followRedirects(false).followSslRedirects(false).build();
}

Loading…
Cancel
Save