Merge pull request #75 from power721/feature/filter-unselect

filter取消选中与bug修复
pull/77/head
Roinlong 3 years ago committed by GitHub
commit 2d5b4c8ee6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      app/src/main/java/com/github/tvbox/osc/bean/MovieSort.java
  2. 11
      app/src/main/java/com/github/tvbox/osc/ui/dialog/GridFilterDialog.java
  3. 6
      app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java
  4. 1
      app/src/main/java/com/github/tvbox/osc/viewmodel/SourceViewModel.java

@ -43,9 +43,12 @@ public class MovieSort implements Serializable {
}
public int filterSelectCount() {
if (filterSelect == null) {
return 0;
}
int count = 0;
for (String filter : filterSelect.values()) {
if (!filter.isEmpty()) {
if (filter != null && !filter.isEmpty()) {
count++;
}
}

@ -67,9 +67,10 @@ public class GridFilterDialog extends BaseDialog {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
if (sortData.filterSelect.get(key) == null || !sortData.filterSelect.get(key).equals(values.get(position))) {
selectChange = true;
String filterSelect = sortData.filterSelect.get(key);
if (filterSelect == null || !filterSelect.equals(keys.get(position))) {
sortData.filterSelect.put(key, keys.get(position));
selectChange = true;
if (pre != null) {
TextView val = pre.findViewById(R.id.filterValue);
val.getPaint().setFakeBoldText(false);
@ -79,6 +80,12 @@ public class GridFilterDialog extends BaseDialog {
val.getPaint().setFakeBoldText(true);
val.setTextColor(getContext().getResources().getColor(R.color.color_02F8E1));
pre = view;
} else {
sortData.filterSelect.remove(key);
TextView val = pre.findViewById(R.id.filterValue);
val.getPaint().setFakeBoldText(false);
val.setTextColor(getContext().getResources().getColor(R.color.color_FFFFFF));
pre = null;
}
}
});

@ -295,8 +295,10 @@ public class GridFragment extends BaseLazyFragment {
}
private void toggleFilterColor() {
int count = sortData.filterSelectCount();
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_FILTER_CHANGE, count));
if (sortData.filters != null && !sortData.filters.isEmpty()) {
int count = sortData.filterSelectCount();
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_FILTER_CHANGE, count));
}
}
public boolean isTop() {

@ -254,6 +254,7 @@ public class SourceViewModel extends ViewModel {
.params("ac", type == 0 ? "videolist" : "detail")
.params("t", sortData.id)
.params("pg", page)
.params(sortData.filterSelect)
.execute(new AbsCallback<String>() {
@Override

Loading…
Cancel
Save