Update keep

pull/594/head
jhengazuki 7 months ago
parent b1fb9f7f59
commit 2e3ec6eba3
  1. 26
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  2. 23
      app/src/main/java/com/fongmi/android/tv/bean/Part.java
  3. 22
      app/src/main/java/com/fongmi/android/tv/utils/Util.java
  4. 11
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -43,7 +43,6 @@ import com.fongmi.android.tv.bean.Flag;
import com.fongmi.android.tv.bean.History;
import com.fongmi.android.tv.bean.Keep;
import com.fongmi.android.tv.bean.Parse;
import com.fongmi.android.tv.bean.Part;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Site;
import com.fongmi.android.tv.bean.Sub;
@ -81,6 +80,7 @@ import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Sniffer;
import com.fongmi.android.tv.utils.Traffic;
import com.fongmi.android.tv.utils.Util;
import com.github.bassaer.library.MDColor;
import com.github.catvod.utils.Trans;
import com.permissionx.guolindev.PermissionX;
@ -459,13 +459,13 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
setText(mBinding.content, R.string.detail_content, item.getVodContent());
setText(mBinding.director, R.string.detail_director, item.getVodDirector());
mFlagAdapter.setItems(item.getVodFlags(), null);
setPartAdapter(Part.get(item.getVodName()));
mBinding.content.setMaxLines(getMaxLines());
mBinding.video.requestFocus();
App.removeCallbacks(mR4);
checkHistory(item);
checkFlag(item);
checkKeep();
checkKeepImg();
updateKeep();
}
private int getMaxLines() {
@ -679,7 +679,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
if (keep != null) keep.delete();
else createKeep();
RefreshEvent.keep();
checkKeep();
checkKeepImg();
}
private void onVideo() {
@ -928,9 +928,9 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
});
}
private void setPartAdapter(List<String> items) {
private void setPartAdapter() {
mPartAdapter.setItems(Util.getPart(mHistory.getVodName()), null);
mBinding.part.setVisibility(View.VISIBLE);
mPartAdapter.setItems(items, null);
setR2Callback();
}
@ -956,6 +956,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mHistory.setVodName(item.getVodName());
mHistory.setVodPic(item.getVodPic());
setScale(getScale());
setPartAdapter();
setArtwork();
}
@ -980,7 +981,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
ActionEvent.update();
}
private void checkKeep() {
private void checkKeepImg() {
mBinding.keep.setCompoundDrawablesWithIntrinsicBounds(Keep.find(getHistoryKey()) == null ? R.drawable.ic_detail_keep_off : R.drawable.ic_detail_keep_on, 0, 0, 0);
}
@ -995,6 +996,15 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
keep.save();
}
private void updateKeep() {
Keep keep = Keep.find(getHistoryKey());
if (keep != null) {
keep.setVodName(mHistory.getVodName());
keep.setVodPic(mHistory.getVodPic());
keep.save();
}
}
private void updateVod(Vod item) {
mHistory.setVodPic(item.getVodPic());
mHistory.setVodName(item.getVodName());
@ -1003,7 +1013,9 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
setText(mBinding.content, R.string.detail_content, item.getVodContent());
setText(mBinding.director, R.string.detail_director, item.getVodDirector());
mBinding.content.setMaxLines(getMaxLines());
setPartAdapter();
setArtwork();
updateKeep();
}
@Override

@ -1,23 +0,0 @@
package com.fongmi.android.tv.bean;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Part {
public static List<String> get(String source) {
List<String> items = new ArrayList<>();
items.add(source.trim());
if (source.contains(":")) {
for (String split : source.split(":")) items.add(split.trim().contains(" ") ? split.split(" ")[0].trim() : split.trim());
} else if (source.contains("第") && source.contains("季")) {
for (String split : source.split("第")) if (!split.isEmpty() && !split.contains("季")) items.add(split.trim().contains(" ") ? split.split(" ")[0].trim() : split.trim());
} else if (source.contains("(")) {
items.add(source.split("\\(")[0].trim());
} else if (source.contains(" ")) {
items.addAll(Arrays.asList(source.split(" ")));
}
return items;
}
}

@ -27,6 +27,7 @@ import com.github.catvod.utils.Shell;
import java.net.NetworkInterface;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Formatter;
import java.util.List;
@ -99,6 +100,27 @@ public class Util {
}
}
public static List<String> getPart(String text) {
List<String> items = new ArrayList<>();
String[] splits = new String[0];
items.add(text);
if (text.contains(":")) {
splits = text.split(":");
} else if (text.contains("第") && text.contains("季")) {
splits = Arrays.stream(text.split("第")).filter(s -> !s.isEmpty() && !s.contains("季")).toArray(String[]::new);
} else if (text.contains("(")) {
splits = new String[]{text.split("\\(")[0]};
} else if (text.contains(" ")) {
splits = text.split(" ");
}
for (String s : splits) {
s = s.trim();
if (s.contains(" ")) s = s.split(" ")[0].trim();
if (!s.isEmpty()) items.add(s);
}
return items;
}
public static String clean(String text) {
StringBuilder sb = new StringBuilder();
text = Html.fromHtml(text, Html.FROM_HTML_MODE_LEGACY).toString().replace("\u00A0", "").replace("\u3000", "");

@ -478,6 +478,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
checkHistory(item);
checkFlag(item);
checkKeepImg();
updateKeep();
}
private void setText(TextView view, int resId, String text) {
@ -1071,6 +1072,15 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
keep.save();
}
private void updateKeep() {
Keep keep = Keep.find(getHistoryKey());
if (keep != null) {
keep.setVodName(mHistory.getVodName());
keep.setVodPic(mHistory.getVodPic());
keep.save();
}
}
private void updateVod(Vod item) {
mHistory.setVodPic(item.getVodPic());
mHistory.setVodName(item.getVodName());
@ -1080,6 +1090,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
setText(mBinding.director, R.string.detail_director, item.getVodDirector());
mBinding.contentLayout.setVisibility(mBinding.content.getVisibility());
setArtwork();
updateKeep();
}
@Override

Loading…
Cancel
Save