diff --git a/app/build.gradle b/app/build.gradle index 38539f271..d647370b7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { minSdk 21 //noinspection ExpiredTargetSdkVersion targetSdk 28 - versionCode 245 - versionName "0803" + versionCode 246 + versionName "2.4.6" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index ee21ab5af..6c0a4b5fe 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -319,6 +319,11 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen private Callback getCallback(String success) { return new Callback() { + @Override + public void success(String result) { + Notify.show(result); + } + @Override public void success() { checkAction(getIntent()); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java index a71bfd850..2f23b3c8f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java @@ -160,6 +160,11 @@ public class SettingActivity extends BaseActivity implements BackupCallback, Con private Callback getCallback() { return new Callback() { + @Override + public void success(String result) { + Notify.show(result); + } + @Override public void success() { setConfig(); diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java index 25472fc77..1a4dd0322 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java @@ -163,7 +163,9 @@ public class VodConfig { initParse(object); initOther(object); if (loadLive && object.has("lives")) initLive(object); + String notice = Json.safeString(object, "notice"); config.logo(Json.safeString(object, "logo")); + App.post(() -> callback.success(notice)); config.json(object.toString()).update(); App.post(callback::success); } catch (Throwable e) { diff --git a/app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java b/app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java index e0d699d18..47d6d6cd0 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java +++ b/app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java @@ -117,13 +117,13 @@ public class JarLoader { } public JSONObject jsonExt(String key, LinkedHashMap jxs, String url) throws Throwable { - Class clz = loaders.get("").loadClass("com.github.catvod.parser.Json" + key); + Class clz = loaders.get(recent).loadClass("com.github.catvod.parser.Json" + key); Method method = clz.getMethod("parse", LinkedHashMap.class, String.class); return (JSONObject) method.invoke(null, jxs, url); } public JSONObject jsonExtMix(String flag, String key, String name, LinkedHashMap> jxs, String url) throws Throwable { - Class clz = loaders.get("").loadClass("com.github.catvod.parser.Mix" + key); + Class clz = loaders.get(recent).loadClass("com.github.catvod.parser.Mix" + key); Method method = clz.getMethod("parse", LinkedHashMap.class, String.class, String.class, String.class); return (JSONObject) method.invoke(null, jxs, name, flag, url); } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Track.java b/app/src/main/java/com/fongmi/android/tv/bean/Track.java index f1a9ef373..5d7635d79 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Track.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Track.java @@ -106,7 +106,7 @@ public class Track { } public boolean isIjk(int player) { - return getPlayer() == player && player != Players.EXO; + return getPlayer() == player && (player == Players.IJK || player == Players.SYS); } public Track toggle() { diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index e67c8c99b..aa096b7af 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -91,7 +91,6 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, ParseCal private int decode; private int count; private int player; - private int error; private int retry; public static Players create(Activity activity) { @@ -237,7 +236,6 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, ParseCal removeTimeoutCheck(); stopParse(); count = 0; - error = 0; retry = 0; } @@ -553,9 +551,9 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, ParseCal if (isIjk() && ijkPlayer != null) ijkPlayer.setMediaSource(IjkUtil.getSource(this.headers = checkUa(headers), this.url = url), position); if (isExo() && exoPlayer != null) exoPlayer.setMediaItem(ExoUtil.getMediaItem(this.headers = checkUa(headers), UrlUtil.uri(this.url = url), this.format = format, this.drm = drm, checkSub(this.subs = subs), decode), position); if (isExo() && exoPlayer != null) exoPlayer.prepare(); - Logger.t(TAG).d(error + "," + url); App.post(runnable, timeout); PlayerEvent.prepare(); + Logger.t(TAG).d(url); } private void removeTimeoutCheck() { @@ -608,7 +606,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, ParseCal } private List checkSub(List subs) { - if (sub == null) return new ArrayList<>(); + if (sub == null) return subs; subs.add(0, sub); return subs; } @@ -711,7 +709,8 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, ParseCal @Override public void onPlayerError(@NonNull PlaybackException error) { setPlaybackState(PlaybackStateCompat.STATE_ERROR); - ErrorEvent.url(ExoUtil.getRetry(this.error = error.errorCode), error.errorCode); + Logger.t(TAG).e(error.errorCode + "," + url); + ErrorEvent.url(ExoUtil.getRetry(error.errorCode), error.errorCode); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/server/process/Action.java b/app/src/main/java/com/fongmi/android/tv/server/process/Action.java index 61ab1f2a2..3be8bcb05 100644 --- a/app/src/main/java/com/fongmi/android/tv/server/process/Action.java +++ b/app/src/main/java/com/fongmi/android/tv/server/process/Action.java @@ -334,6 +334,11 @@ public class Action implements Process { private Callback getCallback() { return new Callback() { + @Override + public void success(String result) { + Notify.show(result); + } + @Override public void success() { Notify.dismiss(); diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Util.java b/app/src/main/java/com/fongmi/android/tv/utils/Util.java index b024b94f0..fbdddd3bd 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Util.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Util.java @@ -158,7 +158,7 @@ public class Util { public static boolean isTvBox() { PackageManager pm = App.get().getPackageManager(); - if (Configuration.UI_MODE_TYPE_TELEVISION == ((UiModeManager) App.get().getSystemService(Context.UI_MODE_SERVICE)).getCurrentModeType()) { + if (!pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN) && !pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { return true; } if (pm.hasSystemFeature("amazon.hardware.fire_tv")) { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java index 3a69ed56f..8dc2ae994 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java @@ -109,6 +109,11 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt private Callback getCallback() { return new Callback() { + @Override + public void success(String result) { + Notify.show(result); + } + @Override public void success() { checkAction(getIntent()); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java index 84ecd8096..9679c761b 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java @@ -174,6 +174,11 @@ public class SettingFragment extends BaseFragment implements BackupCallback, Con private Callback getCallback() { return new Callback() { + @Override + public void success(String result) { + Notify.show(result); + } + @Override public void success() { setConfig();