okjack
FongMi 2 years ago
parent 4e91f783de
commit 6758bb6ef9
  1. 4
      app/src/leanback/java/com/fongmi/android/tv/receiver/BootReceiver.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  3. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  4. 15
      app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java
  5. 13
      app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java
  6. 3
      app/src/main/java/com/fongmi/android/tv/api/WallConfig.java
  7. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  8. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java

@ -8,14 +8,12 @@ import com.android.cast.dlna.dmr.DLNARendererService;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.impl.Callback;
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
DLNARendererService.Companion.start(App.get(), R.drawable.ic_logo);
LiveConfig.load(Config.live(), new Callback());
LiveConfig.get().init().load();
}
}

@ -157,7 +157,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
private void initConfig() {
if (isLoading()) return;
WallConfig.get().init();
LiveConfig.get().init();
LiveConfig.get().init().load();
ApiConfig.get().init().load(getCallback());
setLoading(true);
}

@ -30,7 +30,6 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Channel;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.bean.Epg;
import com.fongmi.android.tv.bean.Group;
import com.fongmi.android.tv.bean.Keep;
@ -232,7 +231,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void checkLive() {
if (isEmpty()) {
LiveConfig.load(Config.live(), getCallback());
LiveConfig.get().init().load(getCallback());
} else {
getLive();
}

@ -40,6 +40,7 @@ public class ApiConfig {
private JarLoader jarLoader;
private PyLoader pyLoader;
private JsLoader jsLoader;
private boolean loadLive;
private Config config;
private Parse parse;
private String wall;
@ -92,6 +93,7 @@ public class ApiConfig {
this.jarLoader = new JarLoader();
this.pyLoader = new PyLoader();
this.jsLoader = new JsLoader();
this.loadLive = false;
return this;
}
@ -113,6 +115,7 @@ public class ApiConfig {
this.jarLoader.clear();
this.pyLoader.clear();
this.jsLoader.clear();
this.loadLive = true;
return this;
}
@ -126,7 +129,6 @@ public class ApiConfig {
} catch (Throwable e) {
if (TextUtils.isEmpty(config.getUrl())) App.post(() -> callback.error(""));
else loadCache(callback, e);
LiveConfig.get().load();
e.printStackTrace();
}
}
@ -156,9 +158,9 @@ public class ApiConfig {
private void parseConfig(JsonObject object, Callback callback) {
try {
initSite(object);
initLive(object);
initParse(object);
initOther(object);
if (loadLive && object.has("lives")) initLive(object);
jarLoader.parseJar("", Json.safeString(object, "spider"));
config.json(object.toString()).update();
App.post(callback::success);
@ -184,12 +186,9 @@ public class ApiConfig {
}
private void initLive(JsonObject object) {
Config temp = null;
boolean live = object.has("lives");
boolean same = LiveConfig.get().isSame(config.getUrl());
if (live) temp = Config.find(config, 1).update();
if (live && same) LiveConfig.get().clear().config(temp).parse(object);
else LiveConfig.get().load();
Config temp = Config.find(config, 1);
boolean sync = LiveConfig.get().needSync(config.getUrl());
if (sync) LiveConfig.get().clear().config(temp).parse(object);
}
private void initParse(JsonObject object) {

@ -27,7 +27,7 @@ public class LiveConfig {
private List<Live> lives;
private Config config;
private boolean same;
private boolean sync;
private Live home;
private static class Loader {
@ -72,14 +72,13 @@ public class LiveConfig {
public LiveConfig init() {
this.home = null;
this.config = Config.live();
return this;
return config(Config.live());
}
public LiveConfig config(Config config) {
this.config = config;
if (config.getUrl() == null) return this;
this.same = config.getUrl().equals(ApiConfig.getUrl());
this.sync = config.getUrl().equals(ApiConfig.getUrl());
return this;
}
@ -93,7 +92,7 @@ public class LiveConfig {
if (isEmpty()) load(new Callback());
}
private void load(Callback callback) {
public void load(Callback callback) {
new Thread(() -> loadConfig(callback)).start();
}
@ -207,8 +206,8 @@ public class LiveConfig {
return new int[]{-1, -1};
}
public boolean isSame(String url) {
return same || TextUtils.isEmpty(config.getUrl()) || url.equals(config.getUrl());
public boolean needSync(String url) {
return sync || TextUtils.isEmpty(config.getUrl()) || url.equals(config.getUrl());
}
public List<Live> getLives() {

@ -51,8 +51,7 @@ public class WallConfig {
}
public WallConfig init() {
this.config = Config.wall();
return this;
return config(Config.wall());
}
public WallConfig config(Config config) {

@ -31,7 +31,6 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Channel;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.bean.Epg;
import com.fongmi.android.tv.bean.Group;
import com.fongmi.android.tv.bean.Keep;
@ -256,7 +255,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
private void checkLive() {
if (isEmpty()) {
LiveConfig.load(Config.live(), getCallback());
LiveConfig.get().init().load(getCallback());
} else {
getLive();
}

@ -103,7 +103,7 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
private void initConfig() {
WallConfig.get().init();
LiveConfig.get().init();
LiveConfig.get().init().load();
ApiConfig.get().init().load(getCallback());
}

Loading…
Cancel
Save