pull/586/head
FongMi 2 years ago
parent 0ea763bc66
commit 3e0bccd7bc
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 4
      app/src/main/java/com/fongmi/android/tv/api/LiveParser.java
  3. 14
      app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java
  4. 2
      app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java
  5. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java

@ -527,7 +527,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onItemClick(Channel item) {
if (item.getData().getList().size() > 0 && item.isSelected() && mChannel.equals(item) && mChannel.getGroup().equals(mGroup)) {
if (item.getData().getList().size() > 0 && item.isSelected() && mChannel != null && mChannel.equals(item) && mChannel.getGroup().equals(mGroup)) {
showEpg(item);
} else {
mGroup.setPosition(mBinding.channel.getSelectedPosition());

@ -4,8 +4,6 @@ import android.util.Base64;
import androidx.media3.common.MimeTypes;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.config.LiveConfig;
import com.fongmi.android.tv.bean.Catchup;
import com.fongmi.android.tv.bean.Channel;
import com.fongmi.android.tv.bean.ClearKey;
@ -44,8 +42,6 @@ public class LiveParser {
if (live.getType() == 0) text(live, getText(live));
if (live.getType() == 1) json(live, getText(live));
if (live.getType() == 2) proxy(live, getText(live));
live.getGroups().add(0, Group.create(R.string.keep));
LiveConfig.get().setKeep(live.getGroups());
}
public static void text(Live live, String text) {

@ -164,12 +164,13 @@ public class LiveConfig {
parseConfig(object, null);
}
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(Live live) {
if (live.getGroups().isEmpty() || live.getGroups().get(0).isKeep()) return;
live.getGroups().add(0, Group.create(R.string.keep));
setKeep(live.getGroups());
}
public void setKeep(List<Group> items) {
private void setKeep(List<Group> items) {
List<String> key = new ArrayList<>();
for (Keep keep : Keep.getLive()) key.add(keep.getKey());
for (Group group : items) {
@ -182,6 +183,11 @@ public class LiveConfig {
}
}
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) {
String[] splits = Setting.getKeep().split(AppDatabase.SYMBOL);
if (splits.length < 4 || !getHome().getName().equals(splits[0])) return new int[]{1, 0};

@ -6,6 +6,7 @@ import androidx.lifecycle.ViewModel;
import com.fongmi.android.tv.Constant;
import com.fongmi.android.tv.api.EpgParser;
import com.fongmi.android.tv.api.LiveParser;
import com.fongmi.android.tv.api.config.LiveConfig;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.bean.Channel;
import com.fongmi.android.tv.bean.Epg;
@ -97,6 +98,7 @@ public class LiveViewModel extends ViewModel {
private void verify(Live item) {
Iterator<Group> iterator = item.getGroups().iterator();
while (iterator.hasNext()) if (iterator.next().isEmpty()) iterator.remove();
LiveConfig.get().setKeep(item);
}
private void execute(int type, Callable<?> callable) {

@ -569,7 +569,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
@Override
public void onItemClick(Channel item) {
if (item.getData().getList().size() > 0 && item.isSelected() && mChannel.equals(item) && mChannel.getGroup().equals(mGroup)) {
if (item.getData().getList().size() > 0 && item.isSelected() && mChannel != null && mChannel.equals(item) && mChannel.getGroup().equals(mGroup)) {
showEpg(item);
} else {
mGroup.setPosition(mChannelAdapter.setSelected(item.group(mGroup)));

Loading…
Cancel
Save