pull/102/head
FongMi 3 years ago
parent 11bbf7f094
commit 4a888215cd
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java
  3. 6
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  4. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  5. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java
  6. 14
      app/src/leanback/res/layout/adapter_parse.xml
  7. 3
      app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java
  8. 10
      app/src/main/java/com/fongmi/android/tv/bean/Parse.java
  9. 15
      app/src/main/java/com/fongmi/android/tv/bean/Site.java

@ -133,7 +133,7 @@ public class HomeActivity extends BaseActivity implements VodPresenter.OnClickLi
List<ListRow> rows = new ArrayList<>();
for (List<Vod> items : Lists.partition(result.getList(), 5)) {
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new VodPresenter(this));
adapter.addAll(0, items);
adapter.setItems(items, null);
rows.add(new ListRow(adapter));
}
mAdapter.addAll(mAdapter.size(), rows);

@ -178,7 +178,7 @@ public class SearchActivity extends BaseActivity implements VodPresenter.OnClick
private void addVideo(Result result) {
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new VodPresenter(this));
adapter.addAll(0, result.getList());
adapter.setItems(result.getList(), null);
mAdapter.add(result.getList().get(0).getSite().getName());
mAdapter.add(new ListRow(adapter));
mBinding.progressLayout.showContent();

@ -116,10 +116,10 @@ public class SettingActivity extends BaseActivity implements ConfigDialog.Callba
}
public void setSite(ArrayObjectAdapter adapter, Site item) {
ApiConfig.get().setHome(item);
mBinding.home.setText(item.getName());
for (int i = 0; i < adapter.size(); i++) ((Site) adapter.get(i)).setHome(item);
for (int i = 0; i < adapter.size(); i++) ((Site) adapter.get(i)).setActivated(item);
adapter.notifyArrayItemRangeChanged(0, adapter.size());
mBinding.home.setText(item.getName());
ApiConfig.get().setHome(item);
RefreshEvent.video();
Notify.dismiss();
}

@ -134,7 +134,7 @@ public class VodFragment extends Fragment implements CustomScroller.Callback, Vo
List<ListRow> rows = new ArrayList<>();
for (List<Vod> part : Lists.partition(items, 5)) {
mLast = new ArrayObjectAdapter(new VodPresenter(this));
mLast.addAll(0, part);
mLast.setItems(part, null);
rows.add(new ListRow(mLast));
}
mAdapter.addAll(mAdapter.size(), rows);
@ -146,7 +146,7 @@ public class VodFragment extends Fragment implements CustomScroller.Callback, Vo
FilterPresenter presenter = new FilterPresenter(filter.getKey());
ArrayObjectAdapter adapter = new ArrayObjectAdapter(presenter);
presenter.setOnClickListener((key, item) -> setClick(adapter, key, item));
adapter.addAll(0, filter.getValue());
adapter.setItems(filter.getValue(), null);
rows.add(new ListRow(adapter));
}
mAdapter.addAll(0, rows);

@ -31,7 +31,7 @@ public class SitePresenter extends Presenter {
Site item = (Site) object;
ViewHolder holder = (ViewHolder) viewHolder;
setOnClickListener(holder, view -> mListener.onItemClick(item));
holder.binding.text.setText((item.isHome() ? "√ " : "").concat(item.getName()));
holder.binding.text.setText((item.isActivated() ? "√ " : "").concat(item.getName()));
}
@Override

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/selector_text"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="解析" />

@ -203,7 +203,7 @@ public class ApiConfig {
public void setHome(Site home) {
this.home = home;
this.home.setHome(true);
this.home.setActivated(true);
Prefers.putHome(home.getKey());
}
@ -213,6 +213,7 @@ public class ApiConfig {
public void setParse(Parse parse) {
this.parse = parse;
this.parse.setActivated(true);
Prefers.putParse(parse.getName());
}

@ -22,6 +22,8 @@ public class Parse {
@SerializedName("ext")
private Ext ext;
private boolean activated;
public static Parse objectFrom(JsonElement element) {
return new Gson().fromJson(element, Parse.class);
}
@ -67,6 +69,14 @@ public class Parse {
return ext == null ? new Ext() : ext;
}
public boolean isActivated() {
return activated;
}
public void setActivated(boolean activated) {
this.activated = activated;
}
public boolean hasHeader() {
return getExt().getHeader() != null;
}

@ -32,7 +32,7 @@ public class Site {
@SerializedName("categories")
private List<String> categories;
private boolean home;
private boolean activated;
public static Site objectFrom(JsonElement element) {
return new Gson().fromJson(element, Site.class);
@ -92,16 +92,17 @@ public class Site {
return categories == null ? Collections.emptyList() : categories;
}
public boolean isHome() {
return home;
public boolean isActivated() {
return activated;
}
public void setHome(boolean home) {
this.home = home;
public void setActivated(boolean activated) {
this.activated = activated;
}
public void setHome(Site item) {
this.home = item.equals(this);
public void setActivated(Site item) {
this.activated = item.equals(this);
}
@Override

Loading…
Cancel
Save