diff --git a/app/build.gradle b/app/build.gradle index eab75c48b..854ecf126 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,12 +21,12 @@ android { leanback { dimension "mode" versionCode 205 - versionName "20230908" + versionName "20230908#2" } mobile { dimension "mode" versionCode 205 - versionName "20230908" + versionName "20230908#2" } java { dimension "api" diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 42d5378a3..b521cab2d 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -20,6 +20,7 @@ import androidx.media3.ui.PlayerView; import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; +import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; import com.fongmi.android.tv.App; import com.fongmi.android.tv.Constant; @@ -36,7 +37,6 @@ import com.fongmi.android.tv.databinding.ActivityLiveBinding; import com.fongmi.android.tv.event.ErrorEvent; import com.fongmi.android.tv.event.PlayerEvent; import com.fongmi.android.tv.impl.Callback; -import com.fongmi.android.tv.impl.CustomTarget; import com.fongmi.android.tv.impl.LiveCallback; import com.fongmi.android.tv.impl.PassCallback; import com.fongmi.android.tv.impl.SubtitleCallback; @@ -453,6 +453,10 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick getExo().setDefaultArtwork(error); getIjk().setDefaultArtwork(error); } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index fec372203..68d486ffb 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -28,6 +28,7 @@ import androidx.media3.ui.PlayerView; import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; +import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; import com.fongmi.android.tv.App; import com.fongmi.android.tv.Constant; @@ -50,7 +51,6 @@ import com.fongmi.android.tv.event.ErrorEvent; import com.fongmi.android.tv.event.PlayerEvent; import com.fongmi.android.tv.event.RefreshEvent; import com.fongmi.android.tv.impl.Callback; -import com.fongmi.android.tv.impl.CustomTarget; import com.fongmi.android.tv.model.SiteViewModel; import com.fongmi.android.tv.player.ExoUtil; import com.fongmi.android.tv.player.Players; @@ -876,6 +876,10 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List hideProgress(); hidePreview(); } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @@ -1102,7 +1106,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private boolean isPass(Site item) { if (isAutoMode() && !item.isChangeable()) return false; - if (isAutoMode() && item.getKey().equals(getKey())) return false; return item.isSearchable(); } diff --git a/app/src/main/java/com/fongmi/android/tv/Setting.java b/app/src/main/java/com/fongmi/android/tv/Setting.java index d8251d603..5502801d8 100644 --- a/app/src/main/java/com/fongmi/android/tv/Setting.java +++ b/app/src/main/java/com/fongmi/android/tv/Setting.java @@ -207,7 +207,7 @@ public class Setting { } public static int getBackground() { - return Prefers.getInt("background"); + return Prefers.getInt("background", 2); } public static void putBackground(int background) { diff --git a/app/src/main/java/com/fongmi/android/tv/impl/CustomTarget.java b/app/src/main/java/com/fongmi/android/tv/impl/CustomTarget.java deleted file mode 100644 index 46cfa21e8..000000000 --- a/app/src/main/java/com/fongmi/android/tv/impl/CustomTarget.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.fongmi.android.tv.impl; - -import android.graphics.drawable.Drawable; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import com.bumptech.glide.request.transition.Transition; - -public class CustomTarget extends com.bumptech.glide.request.target.CustomTarget { - - @Override - public void onResourceReady(@NonNull T resource, @Nullable Transition transition) { - } - - @Override - public void onLoadCleared(@Nullable Drawable placeholder) { - } -} diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 3cae5542c..6693f7fb1 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -15,12 +15,14 @@ import androidx.annotation.Dimension; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.app.ShareCompat; +import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import androidx.media3.common.C; import androidx.media3.common.Player; import androidx.media3.ui.PlayerView; import androidx.viewbinding.ViewBinding; +import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; import com.fongmi.android.tv.App; import com.fongmi.android.tv.Constant; @@ -39,7 +41,6 @@ import com.fongmi.android.tv.event.ActionEvent; import com.fongmi.android.tv.event.ErrorEvent; import com.fongmi.android.tv.event.PlayerEvent; import com.fongmi.android.tv.impl.Callback; -import com.fongmi.android.tv.impl.CustomTarget; import com.fongmi.android.tv.impl.LiveCallback; import com.fongmi.android.tv.impl.PassCallback; import com.fongmi.android.tv.impl.SubtitleCallback; @@ -85,6 +86,7 @@ import tv.danmaku.ijk.media.player.ui.IjkVideoView; public class LiveActivity extends BaseActivity implements CustomKeyDownLive.Listener, CastDialog.Listener, TrackDialog.Listener, Biometric.Callback, PassCallback, LiveCallback, GroupAdapter.OnClickListener, ChannelAdapter.OnClickListener, SubtitleCallback { private ActivityLiveBinding mBinding; + private Observer mObserveChannel; private ChannelAdapter mChannelAdapter; private SimpleDateFormat mFormatDate; private SimpleDateFormat mFormatTime; @@ -154,6 +156,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List mKeyDown = CustomKeyDownLive.create(this, mBinding.video); mClock = Clock.create(mBinding.widget.time); mPlayers = new Players().init(this); + mObserveChannel = this::start; mHides = new ArrayList<>(); mR1 = this::hideControl; mR2 = this::setTraffic; @@ -235,7 +238,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List private void setViewModel() { mViewModel = new ViewModelProvider(this).get(LiveViewModel.class); - mViewModel.channel.observe(this, result -> mPlayers.start(result, getHome().getTimeout())); + mViewModel.channel.observeForever(mObserveChannel); mViewModel.live.observe(this, live -> { hideProgress(); setGroup(live); @@ -493,6 +496,10 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List getIjk().setDefaultArtwork(error); setMetadata(); } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @@ -584,6 +591,10 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List setUrl(null); } + private void start(Channel result) { + mPlayers.start(result, getHome().getTimeout()); + } + private void checkPlayImg(boolean playing) { mPiP.update(this, playing); ActionEvent.update(); @@ -999,5 +1010,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List Source.get().stop(); PlaybackService.stop(); App.removeCallbacks(mR1, mR2, mR3); + mViewModel.channel.removeObserver(mObserveChannel); } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 750647303..ac718f13f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -33,6 +33,7 @@ import androidx.media3.ui.PlayerView; import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; +import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; import com.fongmi.android.tv.App; import com.fongmi.android.tv.Constant; @@ -55,7 +56,6 @@ import com.fongmi.android.tv.event.ActionEvent; import com.fongmi.android.tv.event.ErrorEvent; import com.fongmi.android.tv.event.PlayerEvent; import com.fongmi.android.tv.event.RefreshEvent; -import com.fongmi.android.tv.impl.CustomTarget; import com.fongmi.android.tv.impl.SubtitleCallback; import com.fongmi.android.tv.model.SiteViewModel; import com.fongmi.android.tv.player.ExoUtil; @@ -936,6 +936,10 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo hidePreview(); setMetadata(); } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @@ -1190,7 +1194,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private boolean isPass(Site item) { if (isAutoMode() && !item.isChangeable()) return false; - if (isAutoMode() && item.getKey().equals(getKey())) return false; return item.isSearchable(); }