Update to 1.6.5

pull/137/head
FongMi 3 years ago
parent 1db5f8db3a
commit 6e84aa0d19
  1. 4
      app/build.gradle
  2. 16
      app/src/main/java/com/fongmi/android/tv/player/parse/ParseJob.java
  3. 2
      forcetech/src/main/AndroidManifest.xml

@ -10,8 +10,8 @@ android {
applicationId "com.fongmi.android.tv" applicationId "com.fongmi.android.tv"
minSdk 21 minSdk 21
targetSdk 29 targetSdk 29
versionCode 64 versionCode 65
versionName "1.6.4" versionName "1.6.5"
ndk { abiFilters "armeabi-v7a" } ndk { abiFilters "armeabi-v7a" }
} }

@ -24,7 +24,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import okhttp3.Headers; import okhttp3.Headers;
import okhttp3.Response;
public class ParseJob implements ParseCallback { public class ParseJob implements ParseCallback {
@ -99,10 +98,12 @@ public class ParseJob implements ParseCallback {
} }
private void jsonParse(Parse item, String webUrl, boolean error) throws Exception { private void jsonParse(Parse item, String webUrl, boolean error) throws Exception {
Response response = OkHttp.newCall(item.getUrl() + webUrl, Headers.of(item.getHeaders())).execute(); String body = OkHttp.newCall(item.getUrl() + webUrl, Headers.of(item.getHeaders())).execute().body().string();
JsonObject object = JsonParser.parseString(response.body().string()).getAsJsonObject(); JsonObject object = JsonParser.parseString(body).getAsJsonObject();
object = object.has("data") ? object.getAsJsonObject("data") : object; object = object.has("data") ? object.getAsJsonObject("data") : object;
checkResult(getHeader(object), Json.safeString(object, "url"), item.getName(), error); boolean illegal = body.contains("不存在") || body.contains("已过期");
String url = illegal ? "" : Json.safeString(object, "url");
checkResult(getHeader(object), url, item.getName(), error);
} }
private void jsonExtend(String webUrl) throws Exception { private void jsonExtend(String webUrl) throws Exception {
@ -153,11 +154,8 @@ public class ParseJob implements ParseCallback {
private boolean isPass(Map<String, String> headers, String url) { private boolean isPass(Map<String, String> headers, String url) {
try { try {
Response response = OkHttp.newCall(url, Headers.of(headers)).execute(); int code = OkHttp.newCall(url, Headers.of(headers)).execute().code();
Map<String, List<String>> respHeader = response.headers().toMultimap(); return code == 200 && url.length() >= 40;
if (response.code() != 200 || url.length() < 40) return false;
if (respHeader.containsKey("content-length") && Integer.parseInt(respHeader.get("content-length").get(0)) < 10 * 1024) return false;
return true;
} catch (Exception e) { } catch (Exception e) {
return false; return false;
} }

@ -22,7 +22,7 @@
<service <service
android:name="com.forcetech.service.P5PService" android:name="com.forcetech.service.P5PService"
android:exported="false" android:exported="false"
android:process=":p9p" /> android:process=":p5p" />
<service <service
android:name="com.forcetech.service.P6PService" android:name="com.forcetech.service.P6PService"

Loading…
Cancel
Save