From 9bb4691887d579cc5863b2d25154df0ff52c184a Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 9 Dec 2023 15:52:12 +0800 Subject: [PATCH] Remove group logo --- .../android/tv/ui/activity/LiveActivity.java | 2 +- .../tv/ui/presenter/GroupPresenter.java | 1 - app/src/leanback/res/layout/activity_live.xml | 2 +- .../com/fongmi/android/tv/api/LiveParser.java | 2 +- .../com/fongmi/android/tv/bean/Group.java | 21 ------------------- .../java/com/fongmi/android/tv/bean/Live.java | 5 ----- .../android/tv/ui/activity/LiveActivity.java | 12 ++++++++--- .../android/tv/ui/adapter/GroupAdapter.java | 1 - .../android/tv/ui/base/BaseActivity.java | 6 +++++- app/src/mobile/res/layout/activity_live.xml | 2 +- app/src/mobile/res/layout/adapter_group.xml | 8 ------- 11 files changed, 18 insertions(+), 44 deletions(-) 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 1483e4963..332c1ed83 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 @@ -271,7 +271,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } private void setWidth(Live live) { - int base = ResUtil.dp2px(live.hasLogo() ? 98 : 50); + int base = ResUtil.dp2px(50); for (Group group : live.getGroups()) live.setWidth(Math.max(live.getWidth(), ResUtil.getTextWidth(group.getName(), 16))); mBinding.group.getLayoutParams().width = live.getWidth() == 0 ? 0 : Math.min(live.getWidth() + base, ResUtil.dp2px(200)); mBinding.divide.setVisibility(live.getWidth() == 0 ? View.GONE : View.VISIBLE); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/GroupPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/GroupPresenter.java index 121a5e4bb..ab0b420e0 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/GroupPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/GroupPresenter.java @@ -30,7 +30,6 @@ public class GroupPresenter extends Presenter { public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object object) { Group item = (Group) object; ViewHolder holder = (ViewHolder) viewHolder; - item.loadLogo(holder.binding.logo); holder.binding.name.setText(item.getName()); setOnClickListener(holder, view -> mListener.onItemClick(item)); } diff --git a/app/src/leanback/res/layout/activity_live.xml b/app/src/leanback/res/layout/activity_live.xml index 1ba03996b..8efaf333a 100644 --- a/app/src/leanback/res/layout/activity_live.xml +++ b/app/src/leanback/res/layout/activity_live.xml @@ -78,7 +78,7 @@ diff --git a/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java b/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java index 7202cbfb0..7e8023126 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java +++ b/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java @@ -49,7 +49,7 @@ public class LiveParser { private static void json(Live live, String text) { live.getGroups().addAll(Group.arrayFrom(text)); for (Group group : live.getGroups()) { - for (Channel channel : group.live(live).getChannel()) { + for (Channel channel : group.getChannel()) { channel.live(live); } } 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 1072e2c86..53168682d 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 @@ -1,13 +1,11 @@ package com.fongmi.android.tv.bean; import android.text.TextUtils; -import android.widget.ImageView; import androidx.annotation.StringRes; 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; import com.google.gson.reflect.TypeToken; @@ -21,8 +19,6 @@ public class Group { @SerializedName("channel") private List channel; - @SerializedName("logo") - private String logo; @SerializedName("name") private String name; @SerializedName("pass") @@ -74,14 +70,6 @@ public class Group { this.channel = channel; } - public String getLogo() { - return TextUtils.isEmpty(logo) ? "" : logo; - } - - public void setLogo(String logo) { - this.logo = logo; - } - public String getName() { return TextUtils.isEmpty(name) ? "" : name; } @@ -130,10 +118,6 @@ public class Group { return isKeep(); } - public void loadLogo(ImageView view) { - ImgUtil.loadLive(getLogo(), view); - } - public int find(int number) { return getChannel().lastIndexOf(Channel.create(number)); } @@ -148,11 +132,6 @@ public class Group { else getChannel().get(index).getUrls().addAll(channel.getUrls()); } - public Group live(Live live) { - if (!getLogo().startsWith("http")) setLogo(live.getLogo().replace("{name}", getName()).replace("{logo}", getLogo())); - return this; - } - public Channel find(Channel channel) { int index = getChannel().indexOf(channel); if (index != -1) return getChannel().get(index); diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Live.java b/app/src/main/java/com/fongmi/android/tv/bean/Live.java index 2ac355afd..1a6e82ef9 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Live.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Live.java @@ -199,11 +199,6 @@ public class Live { return item; } - public boolean hasLogo() { - for (Group group : getGroups()) if (group.getLogo().length() > 0) return true; - return false; - } - public int getBootIcon() { return isBoot() ? R.drawable.ic_live_boot : R.drawable.ic_live_block; } 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 247e714a2..c66573380 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 @@ -155,6 +155,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List mKeyDown = CustomKeyDownLive.create(this, mBinding.video); mClock = Clock.create(mBinding.widget.time); setPadding(mBinding.control.getRoot()); + setPadding(mBinding.recycler, true); mPlayers = new Players().init(this); mObserveEpg = this::setEpg; mObserveUrl = this::start; @@ -295,7 +296,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List } private void setWidth(Live live) { - int base = ResUtil.dp2px(live.hasLogo() ? 90 : 45); + int base = ResUtil.dp2px(45); for (Group group : live.getGroups()) live.setWidth(Math.max(live.getWidth(), ResUtil.getTextWidth(group.getName(), 14))); mBinding.group.getLayoutParams().width = live.getWidth() == 0 ? 0 : Math.min(live.getWidth() + base, ResUtil.dp2px(200)); mBinding.divide.setVisibility(live.getWidth() == 0 ? View.GONE : View.VISIBLE); @@ -900,8 +901,13 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List public void setRotate(boolean rotate) { this.rotate = rotate; - if (rotate) noPadding(mBinding.control.getRoot()); - if (!rotate) setPadding(mBinding.control.getRoot()); + if (rotate) { + noPadding(mBinding.recycler); + noPadding(mBinding.control.getRoot()); + } else { + setPadding(mBinding.recycler, true); + setPadding(mBinding.control.getRoot()); + } } public boolean isStop() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java index 01d6d424a..39f348aff 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java @@ -80,7 +80,6 @@ public class GroupAdapter extends RecyclerView.Adapter @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { Group item = mItems.get(position); - item.loadLogo(holder.binding.logo); holder.binding.name.setText(item.getName()); holder.binding.getRoot().setSelected(item.isSelected()); holder.binding.getRoot().setOnClickListener(view -> mListener.onItemClick(item)); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java index 0feac23c6..5d4f67345 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java @@ -68,6 +68,10 @@ public abstract class BaseActivity extends AppCompatActivity { } protected void setPadding(ViewGroup layout) { + setPadding(layout, false); + } + + protected void setPadding(ViewGroup layout, boolean leftOnly) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) return; DisplayCutout cutout = ResUtil.getDisplay(this).getCutout(); if (cutout == null) return; @@ -76,7 +80,7 @@ public abstract class BaseActivity extends AppCompatActivity { int right = cutout.getSafeInsetRight(); int bottom = cutout.getSafeInsetBottom(); int padding = left | right | top | bottom; - layout.setPadding(padding, 0, padding, 0); + layout.setPadding(padding, 0, leftOnly ? 0 : padding, 0); } protected void noPadding(ViewGroup layout) { diff --git a/app/src/mobile/res/layout/activity_live.xml b/app/src/mobile/res/layout/activity_live.xml index e93c2e864..bc82cf86e 100644 --- a/app/src/mobile/res/layout/activity_live.xml +++ b/app/src/mobile/res/layout/activity_live.xml @@ -80,7 +80,7 @@ - -