|
|
|
|
@ -2,8 +2,10 @@ package com.fongmi.android.tv.api; |
|
|
|
|
|
|
|
|
|
import android.os.Handler; |
|
|
|
|
import android.os.Looper; |
|
|
|
|
import android.text.TextUtils; |
|
|
|
|
|
|
|
|
|
import com.fongmi.android.tv.R; |
|
|
|
|
import com.fongmi.android.tv.bean.Config; |
|
|
|
|
import com.fongmi.android.tv.bean.Live; |
|
|
|
|
import com.fongmi.android.tv.bean.Parse; |
|
|
|
|
import com.fongmi.android.tv.bean.Site; |
|
|
|
|
@ -16,6 +18,7 @@ import com.github.catvod.crawler.Spider; |
|
|
|
|
import com.google.gson.Gson; |
|
|
|
|
import com.google.gson.JsonElement; |
|
|
|
|
import com.google.gson.JsonObject; |
|
|
|
|
import com.google.gson.JsonParser; |
|
|
|
|
import com.google.gson.stream.JsonReader; |
|
|
|
|
|
|
|
|
|
import org.json.JSONObject; |
|
|
|
|
@ -91,7 +94,7 @@ public class ApiConfig { |
|
|
|
|
parseConfig(new Gson().fromJson(reader, JsonObject.class), callback); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
handler.post(() -> callback.error(R.string.error_config_get)); |
|
|
|
|
getCacheConfig(url, callback); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -100,16 +103,22 @@ public class ApiConfig { |
|
|
|
|
parseConfig(new Gson().fromJson(OKHttp.newCall(url).execute().body().string(), JsonObject.class), callback); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
handler.post(() -> callback.error(R.string.error_config_get)); |
|
|
|
|
getCacheConfig(url, callback); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void getCacheConfig(String url, Callback callback) { |
|
|
|
|
String json = Config.find(url).getJson(); |
|
|
|
|
if (!TextUtils.isEmpty(json)) parseConfig(JsonParser.parseString(json).getAsJsonObject(), callback); |
|
|
|
|
else handler.post(() -> callback.error(R.string.error_config_get)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void parseConfig(JsonObject object, Callback callback) { |
|
|
|
|
try { |
|
|
|
|
String spider = Json.safeString(object, "spider", ""); |
|
|
|
|
parseJson(object); |
|
|
|
|
parseJar(spider); |
|
|
|
|
handler.post(callback::success); |
|
|
|
|
handler.post(() -> callback.success(object.toString())); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
handler.post(() -> callback.error(R.string.error_config_parse)); |
|
|
|
|
|