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 a06c507dc..13a527273 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 @@ -507,12 +507,18 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick this.count = 0; } - private void setArtwork(String url) { - ImgUtil.load(url, new CustomTarget<>(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()) { + private void setArtwork() { + ImgUtil.load(mChannel.getLogo(), new CustomTarget<>(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()) { @Override public void onResourceReady(@NonNull Drawable resource, @Nullable Transition transition) { mBinding.exo.setDefaultArtwork(resource); } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + mBinding.exo.setDefaultArtwork(errorDrawable); + setMetadata(); + } }); } @@ -575,9 +581,9 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } private void setChannel(Channel item) { - setArtwork(item.getLogo()); App.post(mR0, 100); mChannel = item; + setArtwork(); showInfo(); } 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 ecb3f2dbf..b070aa328 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 @@ -27,8 +27,6 @@ import androidx.lifecycle.ViewModelProvider; import androidx.media3.common.C; import androidx.media3.common.Player; import androidx.recyclerview.widget.RecyclerView; -import androidx.transition.ChangeBounds; -import androidx.transition.TransitionManager; import androidx.viewbinding.ViewBinding; import com.bumptech.glide.request.transition.Transition; @@ -920,6 +918,12 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List mBinding.exo.setDefaultArtwork(resource); setMetadata(); } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + mBinding.exo.setDefaultArtwork(errorDrawable); + setMetadata(); + } }); } diff --git a/app/src/main/java/com/fongmi/android/tv/service/PlaybackService.java b/app/src/main/java/com/fongmi/android/tv/service/PlaybackService.java index 3fc45cb97..8a2dfd12d 100644 --- a/app/src/main/java/com/fongmi/android/tv/service/PlaybackService.java +++ b/app/src/main/java/com/fongmi/android/tv/service/PlaybackService.java @@ -129,7 +129,7 @@ public class PlaybackService extends Service { private void glide(NotificationCompat.Builder builder) { try { - cache.put(getArtUri(), Glide.with(this).asBitmap().load(ImgUtil.getUrl(getArtUri())).submit().get()); + cache.put(getArtUri(), Glide.with(this).asBitmap().load(ImgUtil.getUrl(getArtUri())).error(R.drawable.artwork).submit().get()); setLargeIcon(builder, cache.get(getArtUri())); Notify.show(builder.build()); } catch (Exception e) { diff --git a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java index c80ea7370..2e7cf6e22 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java @@ -40,7 +40,7 @@ public class ImgUtil { private static final Set failed = new HashSet<>(); public static void load(String url, CustomTarget target) { - Glide.with(App.get()).load(getUrl(url)).into(target); + Glide.with(App.get()).load(getUrl(url)).error(R.drawable.artwork).into(target); } public static void load(String text, String url, ImageView view) { diff --git a/app/src/main/res/drawable-nodpi/artwork.webp b/app/src/main/res/drawable-nodpi/artwork.webp new file mode 100644 index 000000000..3e0398d44 Binary files /dev/null and b/app/src/main/res/drawable-nodpi/artwork.webp differ 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 b7e6a9962..88f587c06 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 @@ -523,11 +523,18 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener this.count = 0; } - private void setArtwork(String url) { - ImgUtil.load(url, new CustomTarget<>(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()) { + private void setArtwork() { + ImgUtil.load(mChannel.getUrl(), new CustomTarget<>(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()) { @Override public void onResourceReady(@NonNull Drawable resource, @Nullable Transition transition) { mBinding.exo.setDefaultArtwork(resource); + setMetadata(); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + mBinding.exo.setDefaultArtwork(errorDrawable); + setMetadata(); } }); } @@ -550,8 +557,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener showEpg(item); } else { mGroup.setPosition(mChannelAdapter.setSelected(item.group(mGroup))); - setArtwork(item.getLogo()); mChannel = item; + setArtwork(); showInfo(); hideUI(); fetch(); 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 7ef17ef1a..8344c2fe1 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 @@ -997,6 +997,12 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mBinding.exo.setDefaultArtwork(resource); setMetadata(); } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + mBinding.exo.setDefaultArtwork(errorDrawable); + setMetadata(); + } }); }