diff --git a/app/src/main/java/com/fongmi/android/tv/App.java b/app/src/main/java/com/fongmi/android/tv/App.java index 81be183e2..1a1f4c344 100644 --- a/app/src/main/java/com/fongmi/android/tv/App.java +++ b/app/src/main/java/com/fongmi/android/tv/App.java @@ -34,7 +34,7 @@ public class App extends Application { return instance; } - public static Activity getActivity() { + public static Activity activity() { return get().activity; } @@ -70,32 +70,32 @@ public class App extends Application { registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) { - if (activity != getActivity()) setActivity(activity); + if (activity != activity()) setActivity(activity); } @Override public void onActivityStarted(@NonNull Activity activity) { - if (activity != getActivity()) setActivity(activity); + if (activity != activity()) setActivity(activity); } @Override public void onActivityResumed(@NonNull Activity activity) { - if (activity != getActivity()) setActivity(activity); + if (activity != activity()) setActivity(activity); } @Override public void onActivityPaused(@NonNull Activity activity) { - if (activity == getActivity()) setActivity(null); + if (activity == activity()) setActivity(null); } @Override public void onActivityStopped(@NonNull Activity activity) { - if (activity == getActivity()) setActivity(null); + if (activity == activity()) setActivity(null); } @Override public void onActivityDestroyed(@NonNull Activity activity) { - if (activity == getActivity()) setActivity(null); + if (activity == activity()) setActivity(null); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java index 95335cf92..8836060eb 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java @@ -9,6 +9,7 @@ import com.fongmi.android.tv.bean.Keep; import com.fongmi.android.tv.bean.Live; import com.fongmi.android.tv.db.AppDatabase; import com.fongmi.android.tv.net.Callback; +import com.fongmi.android.tv.ui.activity.LiveActivity; import com.fongmi.android.tv.utils.Json; import com.fongmi.android.tv.utils.Prefers; import com.google.gson.JsonElement; @@ -103,6 +104,7 @@ public class LiveConfig { if (!object.has("lives")) return; for (JsonElement element : Json.safeListElement(object, "lives")) parse(Live.objectFrom(element).check()); if (home == null) setHome(lives.isEmpty() ? new Live() : lives.get(0)); + if (home.isBoot()) App.post(() -> LiveActivity.start(App.activity())); } private void parse(Live live) { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Live.java b/app/src/main/java/com/fongmi/android/tv/bean/Live.java index fff61227e..7cd202b94 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Live.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Live.java @@ -14,6 +14,8 @@ public class Live { @SerializedName("type") private int type; + @SerializedName("boot") + private boolean boot; @SerializedName("name") private String name; @SerializedName("group") @@ -56,6 +58,10 @@ public class Live { return type; } + public boolean isBoot() { + return boot; + } + public String getName() { return TextUtils.isEmpty(name) ? "" : name; }