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 f64f9f43a..ab4f2a1d1 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 @@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.activity; import android.Manifest; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.view.KeyEvent; import android.view.View; @@ -22,6 +23,10 @@ import androidx.viewpager.widget.ViewPager; import com.android.cast.dlna.dmr.DLNARendererService; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.Target; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; import com.fongmi.android.tv.Setting; @@ -477,6 +482,26 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen this.loading = loading; } + private void setLogo() { + Glide.with(this).load(VodConfig.get().getConfig().getLogo()).circleCrop().override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).listener(getListener()).into(mBinding.logo); + } + + private RequestListener getListener() { + return new RequestListener<>() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, Object model, @NonNull Target target, boolean isFirstResource) { + mBinding.logo.setVisibility(View.GONE); + return false; + } + + @Override + public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target target, @NonNull DataSource dataSource, boolean isFirstResource) { + mBinding.logo.setVisibility(View.VISIBLE); + return false; + } + }; + } + private void setFocus() { setLoading(false); if (!mBinding.title.isFocusable()) App.post(() -> mBinding.title.setFocusable(true), 500); @@ -486,12 +511,6 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen } } - private void setLogo() { - String logo = VodConfig.get().getConfig().getLogo(); - mBinding.logo.setVisibility(TextUtils.isEmpty(logo) ? View.GONE : View.VISIBLE); - Glide.with(this).load(logo).error(R.drawable.ic_logo).circleCrop().into(mBinding.logo); - } - @Override public boolean dispatchKeyEvent(KeyEvent event) { boolean isHomeFragment = mBinding.pager.getCurrentItem() == 0; diff --git a/app/src/leanback/res/layout/activity_home.xml b/app/src/leanback/res/layout/activity_home.xml index 878b2b8f9..54c6af5df 100644 --- a/app/src/leanback/res/layout/activity_home.xml +++ b/app/src/leanback/res/layout/activity_home.xml @@ -25,14 +25,15 @@