Remove group logo

pull/178/head
FongMi 2 years ago
parent f0c7a9f3ce
commit 9bb4691887
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/GroupPresenter.java
  3. 2
      app/src/leanback/res/layout/activity_live.xml
  4. 2
      app/src/main/java/com/fongmi/android/tv/api/LiveParser.java
  5. 21
      app/src/main/java/com/fongmi/android/tv/bean/Group.java
  6. 5
      app/src/main/java/com/fongmi/android/tv/bean/Live.java
  7. 12
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  8. 1
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java
  9. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java
  10. 2
      app/src/mobile/res/layout/activity_live.xml
  11. 8
      app/src/mobile/res/layout/adapter_group.xml

@ -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);

@ -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));
}

@ -78,7 +78,7 @@
<com.fongmi.android.tv.ui.custom.CustomLiveListView
android:id="@+id/channel"
android:layout_width="260dp"
android:layout_width="280dp"
android:layout_height="match_parent"
tools:itemCount="5"
tools:listitem="@layout/adapter_channel" />

@ -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);
}
}

@ -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> 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);

@ -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;
}

@ -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() {

@ -80,7 +80,6 @@ public class GroupAdapter extends RecyclerView.Adapter<GroupAdapter.ViewHolder>
@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));

@ -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) {

@ -80,7 +80,7 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/channel"
android:layout_width="260dp"
android:layout_width="280dp"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"

@ -13,14 +13,6 @@
android:paddingEnd="12dp"
android:paddingBottom="6dp">
<ImageView
android:id="@+id/logo"
android:layout_width="33dp"
android:layout_height="33dp"
android:layout_marginEnd="12dp"
android:scaleType="fitCenter"
android:visibility="gone" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"

Loading…
Cancel
Save