Merge branch 'dev' into release

pull/137/head
FongMi 2 years ago
commit e22a3db924
  1. 8
      app/build.gradle
  2. 4
      app/src/leanback/java/com/fongmi/android/tv/Product.java
  3. 4
      app/src/leanback/res/layout/adapter_vod_full.xml
  4. 22
      app/src/main/java/com/fongmi/android/tv/App.java
  5. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  6. 9
      app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java
  7. 3
      app/src/main/java/com/fongmi/android/tv/bean/Core.java
  8. 2
      app/src/main/java/com/fongmi/android/tv/player/Source.java
  9. 6
      app/src/main/java/com/fongmi/android/tv/player/extractor/TVBus.java
  10. 3
      app/src/mobile/java/com/fongmi/android/tv/Product.java
  11. 9
      app/src/mobile/res/layout/adapter_vod_full.xml

@ -20,13 +20,13 @@ android {
productFlavors {
leanback {
dimension "mode"
versionCode 203
versionName "20230809#1"
versionCode 204
versionName "2.0.4"
}
mobile {
dimension "mode"
versionCode 203
versionName "20230809#1"
versionCode 204
versionName "2.0.4"
}
java {
dimension "api"

@ -20,10 +20,6 @@ public class Product {
return getColumn();
}
public static void bootLive() {
LiveActivity.start(App.activity());
}
public static int[] getSpec(Vod.Style style) {
int column = getColumn(style);
int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (column - 1));

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
@ -16,4 +16,4 @@
app:shapeAppearanceOverlay="@style/Vod.Grid"
tools:src="@drawable/ic_img_loading" />
</RelativeLayout>
</FrameLayout>

@ -78,12 +78,21 @@ public class App extends Application {
for (Runnable r : runnable) get().handler.removeCallbacks(r);
}
public void setHook(boolean hook) {
this.hook = hook;
}
private void setActivity(Activity activity) {
this.activity = activity;
}
public void setHook(boolean hook) {
this.hook = hook;
private LogAdapter getLogAdapter() {
return new AndroidLogAdapter(PrettyFormatStrategy.newBuilder().showThreadInfo(false).tag("").build()) {
@Override
public boolean isLoggable(int priority, String tag) {
return true;
}
};
}
@Override
@ -147,13 +156,4 @@ public class App extends Application {
if (!hook) return getBaseContext().getPackageName();
return LiveConfig.get().getHome().getCore().getPkg();
}
private LogAdapter getLogAdapter() {
return new AndroidLogAdapter(PrettyFormatStrategy.newBuilder().showThreadInfo(false).tag("").build()) {
@Override
public boolean isLoggable(int priority, String tag) {
return true;
}
};
}
}

@ -126,6 +126,14 @@ public class Setting {
Prefers.put("scale_live", scale);
}
public static boolean isBootLive() {
return Prefers.getBoolean("boot_live");
}
public static void putBootLive(boolean boot) {
Prefers.put("boot_live", boot);
}
public static boolean isInvert() {
return Prefers.getBoolean("invert");
}

@ -3,7 +3,6 @@ package com.fongmi.android.tv.api;
import android.text.TextUtils;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.bean.Channel;
@ -14,6 +13,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.impl.Callback;
import com.fongmi.android.tv.ui.activity.LiveActivity;
import com.fongmi.android.tv.utils.Notify;
import com.github.catvod.utils.Json;
import com.google.gson.JsonElement;
@ -141,10 +141,15 @@ 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(Product::bootLive);
if (home.isBoot() || Setting.isBootLive()) App.post(this::bootLive);
if (callback != null) App.post(callback::success);
}
private void bootLive() {
LiveActivity.start(App.activity());
Setting.putBootLive(false);
}
public void parse(JsonObject object) {
parseConfig(object, null);
}

@ -5,6 +5,7 @@ import android.text.TextUtils;
import androidx.annotation.Nullable;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.utils.Utils;
import com.google.gson.annotations.SerializedName;
@ -60,7 +61,7 @@ public class Core {
}
public PackageManager getPackageManager() {
return null;
return App.get().getPackageManager();
}
@Override

@ -38,7 +38,7 @@ public class Source {
public String fetch(String url) throws Exception {
String host = Util.host(url);
String scheme = Util.scheme(url);
for (Extractor extractor : extractors) if (extractor.match(scheme, host)) return extractor.fetch(url);
for (Extractor extractor : extractors) if (extractor.match(scheme, host)) return extractor.fetch(url.trim());
return url;
}

@ -1,10 +1,10 @@
package com.fongmi.android.tv.player.extractor;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Core;
import com.fongmi.android.tv.player.Source;
import com.fongmi.android.tv.utils.Notify;
import com.google.gson.JsonObject;
import com.tvbus.engine.Listener;
import com.tvbus.engine.TVCore;
@ -51,8 +51,8 @@ public class TVBus implements Source.Extractor, Listener {
}
private void change() {
App.post(() -> Notify.show("內核已切換,正在重新啟動。"));
App.post(() -> System.exit(0), 1000);
App.post(() -> System.exit(0), 250);
Setting.putBootLive(true);
}
@Override

@ -19,9 +19,6 @@ public class Product {
return style.isLand() ? getColumn() - 1 : getColumn();
}
public static void bootLive() {
}
public static int[] getSpec(Context context) {
return getSpec(context, Vod.Style.rect());
}

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp">
android:layout_marginStart="-8dp"
android:layout_marginEnd="-8dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/image"
@ -13,7 +13,6 @@
android:adjustViewBounds="true"
android:background="@color/black_20"
android:scaleType="center"
app:shapeAppearanceOverlay="@style/Vod.Grid"
tools:src="@drawable/ic_img_loading" />
</RelativeLayout>
</FrameLayout>
Loading…
Cancel
Save