Support parent vod_pic

pull/137/head
FongMi 3 years ago
parent f6f8829d3e
commit ce538ce5d6
  1. 31
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  3. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java
  4. 9
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java
  5. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java
  6. 34
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  7. 5
      app/src/main/java/com/fongmi/android/tv/bean/Vod.java
  8. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java
  9. 23
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  10. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java
  11. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/KeepActivity.java
  12. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  13. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java

@ -139,39 +139,40 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
public static void cast(Activity activity, History history) {
start(activity, history.getSiteKey(), history.getVodId(), history.getVodName(), null, true, true);
start(activity, history.getSiteKey(), history.getVodId(), history.getVodName(), history.getVodPic(), null, true, true);
}
public static void push(Activity activity, String url, boolean clear) {
start(activity, "push_agent", url, url, clear);
}
public static void start(Activity activity, String id, String name) {
start(activity, ApiConfig.get().getHome().getKey(), id, name);
public static void start(Activity activity, String id, String name, String pic) {
start(activity, ApiConfig.get().getHome().getKey(), id, name, pic);
}
public static void start(Activity activity, String key, String id, String name) {
start(activity, key, id, name, false);
public static void start(Activity activity, String key, String id, String name, String pic) {
start(activity, key, id, name, pic, null, false);
}
public static void start(Activity activity, String key, String id, String name, String mark) {
start(activity, key, id, name, mark, false);
public static void start(Activity activity, String key, String id, String name, String pic, String mark) {
start(activity, key, id, name, pic, mark, false);
}
public static void start(Activity activity, String key, String id, String name, boolean clear) {
start(activity, key, id, name, null, clear, false);
start(activity, key, id, name, null, null, clear, false);
}
public static void start(Activity activity, String key, String id, String name, String mark, boolean clear) {
start(activity, key, id, name, mark, clear, false);
public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean clear) {
start(activity, key, id, name, pic, mark, clear, false);
}
public static void start(Activity activity, String key, String id, String name, String mark, boolean clear, boolean cast) {
public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean clear, boolean cast) {
Intent intent = new Intent(activity, DetailActivity.class);
if (clear) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("cast", cast);
intent.putExtra("name", name);
intent.putExtra("mark", mark);
intent.putExtra("name", name);
intent.putExtra("pic", pic);
intent.putExtra("key", key);
intent.putExtra("id", id);
activity.startActivityForResult(intent, 1000);
@ -185,6 +186,10 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
return getIntent().getStringExtra("name");
}
private String getPic() {
return getIntent().getStringExtra("pic");
}
private String getMark() {
return getIntent().getStringExtra("mark");
}
@ -452,7 +457,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private void setDetail(Vod item) {
mBinding.progressLayout.showContent();
mBinding.video.setTag(item.getVodPic());
mBinding.video.setTag(item.getVodPic(getPic()));
mBinding.name.setText(item.getVodName(getName()));
setText(mBinding.remark, 0, item.getVodRemarks());
setText(mBinding.year, R.string.detail_year, item.getVodYear());

@ -283,7 +283,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override
public void onItemClick(Vod item) {
DetailActivity.start(this, item.getVodId(), item.getVodName());
DetailActivity.start(this, item.getVodId(), item.getVodName(), item.getVodPic());
}
@Override
@ -294,7 +294,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override
public void onItemClick(History item) {
DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName());
DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
}
@Override

@ -57,7 +57,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
ApiConfig.load(config, new Callback() {
@Override
public void success() {
DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName());
DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
RefreshEvent.history();
RefreshEvent.video();
}
@ -78,7 +78,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
public void onItemClick(Keep item) {
Config config = Config.find(item.getCid());
if (item.getCid() != ApiConfig.getCid()) loadConfig(config, item);
else DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName());
else DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
}
@Override

@ -100,9 +100,9 @@ public class VodActivity extends BaseActivity implements TypePresenter.OnClickLi
}
private List<Class> getTypes(Result result) {
List<Class> types = new ArrayList<>();
for (String cate : getSite().getCategories()) for (Class type : result.getTypes()) if (Trans.s2t(cate).equals(type.getTypeName())) types.add(type);
return types;
List<Class> items = new ArrayList<>();
for (String cate : getSite().getCategories()) for (Class item : result.getTypes()) if (Trans.s2t(cate).equals(item.getTypeName())) items.add(item);
return items;
}
private void setTypes() {
@ -176,8 +176,7 @@ public class VodActivity extends BaseActivity implements TypePresenter.OnClickLi
@Override
public Fragment getItem(int position) {
Class type = (Class) mAdapter.get(position);
String filter = App.gson().toJson(type.getFilters());
return VodFragment.newInstance(getKey(), type.getTypeId(), filter, type.getTypeFlag().equals("1"));
return VodFragment.newInstance(getKey(), type.getTypeId(), type.getFilters(), type.getExtend(), type.getTypeFlag().equals("1"));
}
@Override

@ -118,7 +118,7 @@ public class CollectFragment extends BaseFragment implements CustomScroller.Call
public void onItemClick(Vod item) {
getActivity().setResult(Activity.RESULT_OK);
if (item.isFolder()) VodActivity.start(getActivity(), item.getSiteKey(), Result.folder(item));
else DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName());
else DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
}
@Override

@ -40,6 +40,7 @@ import com.fongmi.android.tv.ui.presenter.VodPresenter;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.common.collect.Lists;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -57,12 +58,13 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback
private boolean mOpen;
private Page mPage;
public static VodFragment newInstance(String key, String typeId, String filter, boolean folder) {
public static VodFragment newInstance(String key, String typeId, List<Filter> filter, HashMap<String, String> extend, boolean folder) {
Bundle args = new Bundle();
args.putString("key", key);
args.putString("typeId", typeId);
args.putString("filter", filter);
args.putBoolean("folder", folder);
args.putSerializable("extend", extend);
args.putParcelableArrayList("filter", new ArrayList<>(filter));
VodFragment fragment = new VodFragment();
fragment.setArguments(args);
return fragment;
@ -76,8 +78,13 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback
return mPages.isEmpty() ? getArguments().getString("typeId") : getLastPage().getVodId();
}
private String getFilter() {
return getArguments().getString("filter");
private ArrayList<Filter> getFilter() {
return getArguments().getParcelableArrayList("filter");
}
private HashMap<String, String> getExtend() {
Serializable extend = getArguments().getSerializable("extend");
return extend == null ? new HashMap<>() : (HashMap<String, String>) extend;
}
private boolean isFolder() {
@ -104,10 +111,10 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback
@Override
protected void initView() {
mPages = new ArrayList<>();
mExtends = new HashMap<>();
mExtends = getExtend();
mFilters = getFilter();
setRecyclerView();
setViewModel();
setFilters();
}
@Override
@ -140,17 +147,6 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback
});
}
private void setFilters() {
mFilters = Filter.arrayFrom(getFilter());
for (Filter filter : mFilters) {
if (filter.getInit() == null) continue;
Value value = new Value(filter.getInit());
int index = filter.getValue().indexOf(value);
filter.getValue().get(index).setActivated(true);
mExtends.put(filter.getKey(), filter.getInit());
}
}
private void setClick(ArrayObjectAdapter adapter, String key, Value item) {
for (int i = 0; i < adapter.size(); i++) ((Value) adapter.get(i)).setActivated(item);
adapter.notifyArrayItemRangeChanged(0, adapter.size());
@ -268,8 +264,8 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback
mBinding.recycler.setMoveTop(false);
getVideo(item.getVodId(), "1");
} else {
if (!isFolder()) DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName());
else DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodName());
if (!isFolder()) DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic());
else DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic(), item.getVodName());
}
}

@ -217,6 +217,11 @@ public class Vod implements Parcelable {
return getStyle() == null ? style : getStyle();
}
public String getVodPic(String pic) {
if (getVodPic().isEmpty()) setVodPic(pic);
return getVodPic();
}
public String getVodName(String name) {
if (getVodName().isEmpty()) setVodName(name);
return getVodName();

@ -271,7 +271,7 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call
@Override
public void onItemClick(Vod item) {
if (item.isFolder()) VodActivity.start(this, item.getSiteKey(), Result.folder(item));
else DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName());
else DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
}
@Override

@ -152,21 +152,26 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust
}
public static void cast(Activity activity, History history) {
start(activity, history.getSiteKey(), history.getVodId(), history.getVodName());
start(activity, history.getSiteKey(), history.getVodId(), history.getVodName(), history.getVodPic());
}
public static void push(Activity activity, String url) {
start(activity, "push_agent", url, url);
start(activity, "push_agent", url, url, null);
}
public static void start(Activity activity, String key, String id, String name) {
start(activity, key, id, name, null);
start(activity, key, id, name, null, null);
}
public static void start(Activity activity, String key, String id, String name, String mark) {
public static void start(Activity activity, String key, String id, String name, String pic) {
start(activity, key, id, name, pic, null);
}
public static void start(Activity activity, String key, String id, String name, String pic, String mark) {
Intent intent = new Intent(activity, DetailActivity.class);
intent.putExtra("name", name);
intent.putExtra("mark", mark);
intent.putExtra("name", name);
intent.putExtra("pic", pic);
intent.putExtra("key", key);
intent.putExtra("id", id);
activity.startActivity(intent);
@ -176,6 +181,10 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust
return getIntent().getStringExtra("name");
}
private String getPic() {
return getIntent().getStringExtra("pic");
}
private String getMark() {
return getIntent().getStringExtra("mark");
}
@ -433,7 +442,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust
private void setDetail(Vod item) {
mBinding.progressLayout.showContent();
mBinding.video.setTag(item.getVodPic());
mBinding.video.setTag(item.getVodPic(getPic()));
mBinding.name.setText(item.getVodName(getName()));
setText(mBinding.remark, 0, item.getVodRemarks());
setText(mBinding.site, R.string.detail_site, getSite().getName());
@ -1406,7 +1415,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust
if (isInPictureInPictureMode) {
mReceiver.register(this);
enterFullscreen();
setSubtitle(12);
setSubtitle(10);
hideControl();
hideSheet();
} else {

@ -81,7 +81,7 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl
@Override
public void onItemClick(History item) {
DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName());
DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
}
@Override

@ -82,7 +82,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
ApiConfig.load(config, new Callback() {
@Override
public void success() {
DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName());
DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
RefreshEvent.config();
RefreshEvent.video();
}
@ -103,7 +103,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
public void onItemClick(Keep item) {
Config config = Config.find(item.getCid());
if (item.getCid() != ApiConfig.getCid()) loadConfig(config, item);
else DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName());
else DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
}
@Override

@ -883,12 +883,14 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
super.onPictureInPictureModeChanged(isInPictureInPictureMode);
if (isInPictureInPictureMode) {
mReceiver.register(this);
setSubtitle(10);
hideControl();
hideInfo();
hideUI();
} else {
hideInfo();
mReceiver.unregister(this);
setSubtitle(Setting.getSubtitle());
if (isStop()) finish();
}
}

@ -213,8 +213,8 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
mPages.add(Page.get(item.getVodId(), findPosition()));
getVideo(item.getVodId(), "1");
} else {
if (!isFolder()) DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName());
else DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodName());
if (!isFolder()) DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic());
else DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic(), item.getVodName());
}
}

Loading…
Cancel
Save