diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java index 6d454e13d..2494f7b48 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java @@ -7,11 +7,9 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -import com.bumptech.glide.Glide; -import com.fongmi.android.tv.App; -import com.fongmi.android.tv.R; import com.fongmi.android.tv.bean.Keep; import com.fongmi.android.tv.databinding.AdapterVodBinding; +import com.fongmi.android.tv.utils.ImgUtil; import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; @@ -92,7 +90,7 @@ public class KeepAdapter extends RecyclerView.Adapter { holder.binding.site.setVisibility(View.VISIBLE); holder.binding.site.setText(item.getSiteName()); holder.binding.delete.setVisibility(!delete ? View.GONE : View.VISIBLE); - Glide.with(App.get()).load(item.getVodPic()).error(R.drawable.ic_img_error).placeholder(R.drawable.ic_img_loading).into(holder.binding.image); + ImgUtil.loadKeep(item.getVodPic(), holder.binding.image); } private void setClickListener(View root, Keep item) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java index 141f9cb81..f7f1f4fad 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java @@ -7,12 +7,11 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; -import com.bumptech.glide.Glide; -import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.bean.History; import com.fongmi.android.tv.databinding.AdapterVodBinding; +import com.fongmi.android.tv.utils.ImgUtil; import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; @@ -70,7 +69,7 @@ public class HistoryPresenter extends Presenter { holder.binding.remark.setText(ResUtil.getString(R.string.vod_last, item.getVodRemarks())); holder.binding.remark.setVisibility(delete ? View.GONE : View.VISIBLE); holder.binding.delete.setVisibility(!delete ? View.GONE : View.VISIBLE); - Glide.with(App.get()).load(item.getVodPic()).error(R.drawable.ic_img_error).placeholder(R.drawable.ic_img_loading).into(holder.binding.image); + ImgUtil.loadHistory(item.getVodPic(), holder.binding.image); } private void setClickListener(View root, History item) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java index e6907df33..08996b4d5 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java @@ -55,9 +55,9 @@ public class VodPresenter extends Presenter { holder.binding.site.setVisibility(item.getSiteVisible()); holder.binding.year.setVisibility(item.getYearVisible()); holder.binding.remark.setVisibility(item.getRemarkVisible()); - ImgUtil.load(item.getVodPic(), holder.binding.image); setOnClickListener(holder, view -> mListener.onItemClick(item)); holder.view.setOnLongClickListener(v -> mListener.onLongClick(item)); + ImgUtil.load(item.getVodPic(), holder.binding.image); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Channel.java b/app/src/main/java/com/fongmi/android/tv/bean/Channel.java index 8d2deeaf2..20187f4b3 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Channel.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Channel.java @@ -5,9 +5,8 @@ import android.text.TextUtils; import android.view.View; import android.widget.ImageView; -import com.bumptech.glide.Glide; -import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; +import com.fongmi.android.tv.utils.ImgUtil; import com.fongmi.android.tv.utils.ResUtil; import com.google.gson.Gson; import com.google.gson.JsonElement; @@ -161,7 +160,7 @@ public class Channel { } public void loadLogo(ImageView view) { - if (!getLogo().isEmpty()) Glide.with(App.get()).load(getLogo()).placeholder(R.drawable.ic_img_loading).error(R.drawable.ic_img_error).into(view); + if (!getLogo().isEmpty()) ImgUtil.loadLive(getLogo(), view); } public void addUrls(String... urls) { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Group.java b/app/src/main/java/com/fongmi/android/tv/bean/Group.java index a31005cd5..d1fb6013d 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Group.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Group.java @@ -6,9 +6,8 @@ import android.widget.ImageView; import androidx.annotation.StringRes; -import com.bumptech.glide.Glide; -import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; +import com.fongmi.android.tv.utils.ImgUtil; import com.fongmi.android.tv.utils.ResUtil; import com.google.gson.annotations.SerializedName; @@ -104,7 +103,7 @@ public class Group { } public void loadLogo(ImageView view) { - if (!getLogo().isEmpty()) Glide.with(App.get()).load(getLogo()).into(view); + if (!getLogo().isEmpty()) ImgUtil.loadLive(getLogo(), view); } public int find(int number) { 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 fb887b924..92796d4ee 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 @@ -29,6 +29,18 @@ public class ImgUtil { else Glide.with(App.get()).asBitmap().load(getUrl(url)).skipMemoryCache(true).dontAnimate().sizeMultiplier(Prefers.getThumbnail()).signature(new ObjectKey(url + "_" + Prefers.getQuality())).placeholder(R.drawable.ic_img_loading).listener(getListener(view)).into(view); } + public static void loadKeep(String url, ImageView view) { + Glide.with(App.get()).load(url).error(R.drawable.ic_img_error).placeholder(R.drawable.ic_img_loading).into(view); + } + + public static void loadHistory(String url, ImageView view) { + Glide.with(App.get()).load(url).error(R.drawable.ic_img_error).placeholder(R.drawable.ic_img_loading).into(view); + } + + public static void loadLive(String url, ImageView view) { + Glide.with(App.get()).asBitmap().load(url).error(R.drawable.ic_img_error).placeholder(R.drawable.ic_img_loading).dontAnimate().into(view); + } + public static GlideUrl getUrl(String url) { LazyHeaders.Builder builder = new LazyHeaders.Builder(); if (url.contains("@Cookie=")) builder.addHeader("Cookie", url.split("@Cookie=")[1].split("@")[0]);