From b3da22021daa9e41e1e3eb69eb80b6277fa83d92 Mon Sep 17 00:00:00 2001 From: okjack Date: Mon, 6 May 2024 20:54:54 +0800 Subject: [PATCH] [mobile] custom logo fix --- .../com/fongmi/android/tv/utils/ImgUtil.java | 2 +- .../android/tv/ui/fragment/VodFragment.java | 27 ++++++++++++++++--- app/src/mobile/res/layout/fragment_vod.xml | 2 +- 3 files changed, 26 insertions(+), 5 deletions(-) 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 0c94f1a0d..3b55c513b 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 @@ -125,8 +125,8 @@ public class ImgUtil { return new RequestListener<>() { @Override public boolean onLoadFailed(@Nullable GlideException e, Object model, @NonNull Target target, boolean isFirstResource) { - view.setScaleType(scaleType); view.setImageResource(R.drawable.ic_img_error); + view.setScaleType(scaleType); return true; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index 061d75d8c..8751f0860 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -3,6 +3,7 @@ package com.fongmi.android.tv.ui.fragment; import android.Manifest; import android.app.Activity; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; @@ -18,6 +19,10 @@ import androidx.viewbinding.ViewBinding; import androidx.viewpager.widget.ViewPager; 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.R; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.api.config.VodConfig; @@ -236,9 +241,25 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal } private void setLogo() { - String logo = VodConfig.get().getConfig().getLogo(); - if (TextUtils.isEmpty(logo)) mBinding.logo.setImageResource(R.drawable.ic_logo); - else Glide.with(this).load(logo).error(R.drawable.ic_logo).circleCrop().into(mBinding.logo); + Glide.with(this).load(VodConfig.get().getConfig().getLogo()).circleCrop().override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).error(R.drawable.ic_logo).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.getLayoutParams().width = ResUtil.dp2px(24); + mBinding.logo.getLayoutParams().height = ResUtil.dp2px(24); + return false; + } + + @Override + public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target target, @NonNull DataSource dataSource, boolean isFirstResource) { + mBinding.logo.getLayoutParams().width = ResUtil.dp2px(32); + mBinding.logo.getLayoutParams().height = ResUtil.dp2px(32); + return false; + } + }; } diff --git a/app/src/mobile/res/layout/fragment_vod.xml b/app/src/mobile/res/layout/fragment_vod.xml index 3f80abae9..66712c082 100644 --- a/app/src/mobile/res/layout/fragment_vod.xml +++ b/app/src/mobile/res/layout/fragment_vod.xml @@ -21,7 +21,7 @@ android:paddingStart="16dp" android:paddingTop="16dp" android:paddingEnd="16dp" - android:paddingBottom="16dp" + android:paddingBottom="4dp" app:layout_scrollFlags="scroll|enterAlways">