pull/586/head
FongMi 2 years ago
parent 85c9116419
commit 8627ba6efc
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 19
      app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java
  3. 1
      app/src/main/java/com/fongmi/android/tv/bean/Channel.java
  4. 5
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java

@ -254,6 +254,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
List<Group> items = new ArrayList<>();
items.add(Group.create(R.string.keep));
for (Group group : live.getGroups()) (group.isHidden() ? mHides : items).add(group);
LiveConfig.get().setKeep(items);
mGroupAdapter.setItems(items, null);
setPosition(LiveConfig.get().find(items));
}
@ -284,8 +285,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setPosition(int[] position) {
if (position[0] == -1) return;
if (mGroupAdapter.size() == 1) return;
if (position[0] >= mGroupAdapter.size()) return;
int size = mGroupAdapter.size();
if (size == 1 || position[0] >= size) return;
mGroup = (Group) mGroupAdapter.get(position[0]);
mBinding.group.setSelectedPosition(position[0]);
mGroup.setPosition(position[1]);

@ -164,7 +164,12 @@ public class LiveConfig {
parseConfig(object, null);
}
private void setKeep(List<Group> items) {
public void setKeep(Channel channel) {
if (home == null || channel.getGroup().isHidden() || channel.getUrls().isEmpty()) return;
Setting.putKeep(home.getName() + AppDatabase.SYMBOL + channel.getGroup().getName() + AppDatabase.SYMBOL + channel.getName() + AppDatabase.SYMBOL + channel.getCurrent());
}
public void setKeep(List<Group> items) {
List<String> key = new ArrayList<>();
for (Keep keep : Keep.getLive()) key.add(keep.getKey());
for (Group group : items) {
@ -177,7 +182,7 @@ public class LiveConfig {
}
}
private int[] getKeep(List<Group> items) {
public int[] find(List<Group> items) {
String[] splits = Setting.getKeep().split(AppDatabase.SYMBOL);
if (splits.length < 4 || !getHome().getName().equals(splits[0])) return new int[]{1, 0};
for (int i = 0; i < items.size(); i++) {
@ -191,16 +196,6 @@ public class LiveConfig {
return new int[]{1, 0};
}
public void setKeep(Channel channel) {
if (home == null || channel.getGroup().isHidden() || channel.getUrls().isEmpty()) return;
Setting.putKeep(home.getName() + AppDatabase.SYMBOL + channel.getGroup().getName() + AppDatabase.SYMBOL + channel.getName() + AppDatabase.SYMBOL + channel.getCurrent());
}
public int[] find(List<Group> items) {
setKeep(items);
return getKeep(items);
}
public int[] find(String number, List<Group> items) {
for (int i = 0; i < items.size(); i++) {
int j = items.get(i).find(Integer.parseInt(number));

@ -354,6 +354,7 @@ public class Channel {
setLogo(item.getLogo());
setName(item.getName());
setUrls(item.getUrls());
setData(item.getData());
setDrm(item.getDrm());
setEpg(item.getEpg());
setUa(item.getUa());

@ -278,6 +278,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
items.add(Group.create(R.string.keep));
for (Group group : live.getGroups()) (group.isHidden() ? mHides : items).add(group);
mGroupAdapter.addAll(items);
LiveConfig.get().setKeep(items);
setPosition(LiveConfig.get().find(items));
}
@ -307,8 +308,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
private void setPosition(int[] position) {
if (position[0] == -1) return;
if (mGroupAdapter.getItemCount() == 1) return;
if (position[0] >= mGroupAdapter.getItemCount()) return;
int size = mGroupAdapter.getItemCount();
if (size == 1 || position[0] >= size) return;
mGroup = mGroupAdapter.get(position[0]);
mGroup.setPosition(position[1]);
onItemClick(mGroup);

Loading…
Cancel
Save