pull/605/head
jhengazuki 5 months ago
parent 9e598cf345
commit d0fc192fce
  1. 14
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java
  2. 14
      app/src/main/java/com/fongmi/android/tv/bean/Channel.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/bean/Class.java
  4. 2
      app/src/main/java/com/fongmi/android/tv/bean/Device.java
  5. 2
      app/src/main/java/com/fongmi/android/tv/bean/Episode.java
  6. 2
      app/src/main/java/com/fongmi/android/tv/bean/Flag.java
  7. 2
      app/src/main/java/com/fongmi/android/tv/bean/History.java
  8. 2
      app/src/main/java/com/fongmi/android/tv/bean/Keep.java
  9. 2
      app/src/main/java/com/fongmi/android/tv/bean/Parse.java
  10. 2
      app/src/main/java/com/fongmi/android/tv/bean/Value.java
  11. 4
      app/src/main/java/com/fongmi/android/tv/bean/Vod.java
  12. 10
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java

@ -150,17 +150,13 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
}
private void getVideo() {
mLast = null;
checkFilter();
mScroller.reset();
getVideo(getTypeId(), "1");
}
private void getVideo(String typeId, String page) {
boolean first = "1".equals(page);
if (first) mLast = null;
int filterSize = filterVisible ? mFilters.size() : 0;
boolean clear = first && mAdapter.size() > filterSize;
if (first && mAdapter.size() == filterSize) showProgress();
if (clear) mAdapter.removeItems(filterSize, mAdapter.size() - filterSize);
mViewModel.categoryContent(getKey(), typeId, page, true, mExtends);
}
@ -235,6 +231,12 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
else hideFilter();
}
private void checkFilter() {
int filterCount = filterVisible ? mFilters.size() : 0;
if (mAdapter.size() == filterCount) showProgress();
else mAdapter.removeItems(filterCount, mAdapter.size() - filterCount);
}
public void onRefresh() {
getVideo();
}

@ -20,7 +20,6 @@ import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
public class Channel {
@ -394,13 +393,18 @@ public class Channel {
public boolean equals(@Nullable Object obj) {
if (this == obj) return true;
if (!(obj instanceof Channel it)) return false;
if (!getName().isEmpty()) return getName().equals(it.getName());
if (!getNumber().isEmpty()) return getNumber().equals(it.getNumber());
return getName().equals(it.getName()) && getNumber().equals(it.getNumber());
String name1 = getName(), name2 = it.getName();
String number1 = getNumber(), number2 = it.getNumber();
if (!name1.isEmpty() && !name2.isEmpty()) return name1.equals(name2);
if (!number1.isEmpty() && !number2.isEmpty()) return number1.equals(number2);
return false;
}
@Override
public int hashCode() {
return Objects.hash(getName(), getNumber());
String name = getName(), number = getNumber();
if (!name.isEmpty()) return name.hashCode();
if (!number.isEmpty()) return number.hashCode();
return 0;
}
}

@ -152,7 +152,7 @@ public class Class implements Parcelable, Diffable<Class> {
@Override
public int hashCode() {
return Objects.hashCode(getTypeId());
return getTypeId().hashCode();
}
@Override

@ -173,7 +173,7 @@ public class Device implements Diffable<Device> {
@Override
public int hashCode() {
return Objects.hashCode(getUuid());
return getUuid().hashCode();
}
@NonNull

@ -123,7 +123,7 @@ public class Episode implements Parcelable, Diffable<Episode> {
@Override
public int hashCode() {
return Objects.hashCode(getName());
return getName().hashCode();
}
@Override

@ -138,7 +138,7 @@ public class Flag implements Parcelable, Diffable<Flag> {
@Override
public int hashCode() {
return Objects.hashCode(getFlag());
return getFlag().hashCode();
}
@NonNull

@ -366,7 +366,7 @@ public class History implements Diffable<History> {
@Override
public int hashCode() {
return Objects.hashCode(getKey());
return getKey().hashCode();
}
@NonNull

@ -181,7 +181,7 @@ public class Keep implements Diffable<Keep> {
@Override
public int hashCode() {
return Objects.hashCode(getKey());
return getKey().hashCode();
}
@Override

@ -142,7 +142,7 @@ public class Parse implements Diffable<Parse> {
@Override
public int hashCode() {
return Objects.hashCode(getName());
return getName().hashCode();
}
@Override

@ -72,7 +72,7 @@ public class Value implements Parcelable, Diffable<Value> {
@Override
public int hashCode() {
return Objects.hashCode(getV());
return getV().hashCode();
}
@Override

@ -307,12 +307,12 @@ public class Vod implements Parcelable, Diffable<Vod> {
public boolean equals(@Nullable Object obj) {
if (this == obj) return true;
if (!(obj instanceof Vod it)) return false;
return getVodId().equals(it.getVodId());
return !getVodId().isEmpty() && !it.getVodId().isEmpty() ? getVodId().equals(it.getVodId()) : getVodName().equals(it.getVodName());
}
@Override
public int hashCode() {
return Objects.hash(getVodId());
return !getVodId().isEmpty() ? getVodId().hashCode() : getVodName().hashCode();
}
@Override

@ -136,13 +136,15 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
private void getVideo() {
mScroller.reset();
mAdapter.clear(() -> getVideo(getTypeId(), "1"));
mAdapter.clear(() -> {
if (!mBinding.swipeLayout.isRefreshing()) mBinding.progressLayout.showProgress();
if (isHome()) setAdapter(getParent().getResult());
else getVideo(getTypeId(), "1");
});
}
private void getVideo(String typeId, String page) {
if ("1".equals(page) && !mBinding.swipeLayout.isRefreshing()) mBinding.progressLayout.showProgress();
if (isHome() && "1".equals(page)) setAdapter(getParent().getResult());
else mViewModel.categoryContent(getKey(), typeId, page, true, mExtends);
mViewModel.categoryContent(getKey(), typeId, page, true, mExtends);
}
private void setAdapter(Result result) {

Loading…
Cancel
Save