filter support reverse

pull/171/head
FongMi 2 years ago
parent c529eb2fce
commit 9f9643d257
  1. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  2. 4
      app/src/main/java/com/fongmi/android/tv/bean/Value.java
  3. 4
      app/src/main/java/com/fongmi/android/tv/impl/FilterCallback.java
  4. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ValueAdapter.java
  5. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java
  6. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java

@ -150,7 +150,8 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback
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());
mExtends.put(key, item.getV());
if (item.isActivated()) mExtends.put(key, item.getV());
else mExtends.remove(key);
onRefresh();
}

@ -49,7 +49,9 @@ public class Value implements Parcelable {
}
public void setActivated(Value item) {
this.activated = item.equals(this);
boolean equal = item.equals(this);
if (activated && equal) activated = false;
else activated = equal;
}
public void trans() {

@ -1,6 +1,8 @@
package com.fongmi.android.tv.impl;
import com.fongmi.android.tv.bean.Value;
public interface FilterCallback {
void setFilter(String key, String value);
void setFilter(String key, Value value);
}

@ -47,7 +47,7 @@ public class ValueAdapter extends RecyclerView.Adapter<ValueAdapter.ViewHolder>
private void onItemClick(Value value) {
for (Value item : mItems) item.setActivated(value);
notifyItemRangeChanged(0, getItemCount());
mListener.setFilter(mKey, value.getV());
mListener.setFilter(mKey, value);
}
static class ViewHolder extends RecyclerView.ViewHolder {

@ -18,6 +18,7 @@ import com.fongmi.android.tv.bean.Page;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Site;
import com.fongmi.android.tv.bean.Style;
import com.fongmi.android.tv.bean.Value;
import com.fongmi.android.tv.bean.Vod;
import com.fongmi.android.tv.databinding.FragmentTypeBinding;
import com.fongmi.android.tv.model.SiteViewModel;
@ -191,8 +192,9 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
}
}
public void setFilter(String key, String value) {
mExtends.put(key, value);
public void setFilter(String key, Value value) {
if (value.isActivated()) mExtends.put(key, value.getV());
else mExtends.remove(key);
onRefresh();
}

@ -22,6 +22,7 @@ import com.fongmi.android.tv.bean.Class;
import com.fongmi.android.tv.bean.Hot;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Site;
import com.fongmi.android.tv.bean.Value;
import com.fongmi.android.tv.databinding.FragmentVodBinding;
import com.fongmi.android.tv.event.CastEvent;
import com.fongmi.android.tv.event.RefreshEvent;
@ -266,7 +267,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
}
@Override
public void setFilter(String key, String value) {
public void setFilter(String key, Value value) {
((TypeFragment) getFragment()).setFilter(key, value);
}

Loading…
Cancel
Save