diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Channel.java b/app/src/main/java/com/fongmi/android/tv/bean/Channel.java index 5eec8a1be..b553da673 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Channel.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Channel.java @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Objects; public class Channel { @@ -385,16 +386,16 @@ public class Channel { if (!(obj instanceof Channel it)) return false; 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); + if (!name1.isEmpty() && !name2.isEmpty()) return Objects.equals(name1, name2); + if (!number1.isEmpty() && !number2.isEmpty()) return Objects.equals(number1, number2); return false; } @Override public int hashCode() { String name = getName(), number = getNumber(); - if (!name.isEmpty()) return name.hashCode(); - if (!number.isEmpty()) return number.hashCode(); + if (!name.isEmpty()) return Objects.hash(name); + if (!number.isEmpty()) return Objects.hash(number); return 0; } } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Class.java b/app/src/main/java/com/fongmi/android/tv/bean/Class.java index e4b03a461..db2545d73 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Class.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Class.java @@ -17,6 +17,7 @@ import org.simpleframework.xml.Text; import java.util.Collections; import java.util.List; +import java.util.Objects; @Root(strict = false) public class Class implements Parcelable, Diffable { @@ -135,12 +136,12 @@ public class Class implements Parcelable, Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Class it)) return false; - return getTypeId().equals(it.getTypeId()); + return Objects.equals(getTypeId(), it.getTypeId()); } @Override public int hashCode() { - return getTypeId().hashCode(); + return Objects.hash(getTypeId()); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Collect.java b/app/src/main/java/com/fongmi/android/tv/bean/Collect.java index 0d87df7da..1cfc66e91 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Collect.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Collect.java @@ -63,7 +63,7 @@ public class Collect implements Parcelable, Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Collect it)) return false; - return getSite().equals(it.getSite()); + return Objects.equals(getSite(), it.getSite()); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Device.java b/app/src/main/java/com/fongmi/android/tv/bean/Device.java index b2a74bed7..927a3a2db 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Device.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Device.java @@ -20,6 +20,7 @@ import com.google.gson.annotations.SerializedName; import java.util.Comparator; import java.util.List; +import java.util.Objects; @Entity(indices = @Index(value = {"uuid", "name"}, unique = true)) public class Device implements Diffable, Comparable { @@ -167,12 +168,12 @@ public class Device implements Diffable, Comparable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Device it)) return false; - return getUuid().equals(it.getUuid()); + return Objects.equals(getUuid(), it.getUuid()); } @Override public int hashCode() { - return getUuid().hashCode(); + return Objects.hash(getUuid()); } @NonNull diff --git a/app/src/main/java/com/fongmi/android/tv/bean/EpgData.java b/app/src/main/java/com/fongmi/android/tv/bean/EpgData.java index 534eaa19f..e671f13f3 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/EpgData.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/EpgData.java @@ -10,6 +10,7 @@ import com.github.catvod.utils.Trans; import com.google.gson.annotations.SerializedName; import java.util.Calendar; +import java.util.Objects; public class EpgData { @@ -111,14 +112,11 @@ public class EpgData { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof EpgData it)) return false; - return getTitle().equals(it.getTitle()) && getEnd().equals(it.getEnd()) && getStart().equals(it.getStart()); + return Objects.equals(getTitle(), it.getTitle()) && Objects.equals(getEnd(), it.getEnd()) && Objects.equals(getStart(), it.getStart()); } @Override public int hashCode() { - int result = getTitle().hashCode(); - result = 31 * result + getEnd().hashCode(); - result = 31 * result + getStart().hashCode(); - return result; + return Objects.hash(getTitle(), getEnd(), getStart()); } } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Episode.java b/app/src/main/java/com/fongmi/android/tv/bean/Episode.java index 04a1c19e5..da19e11ce 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Episode.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Episode.java @@ -11,6 +11,8 @@ import com.fongmi.android.tv.utils.Util; import com.github.catvod.utils.Trans; import com.google.gson.annotations.SerializedName; +import java.util.Objects; + public class Episode implements Parcelable, Diffable { @SerializedName("name") @@ -111,12 +113,12 @@ public class Episode implements Parcelable, Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Episode it)) return false; - return getName().equals(it.getName()); + return Objects.equals(getName(), it.getName()); } @Override public int hashCode() { - return getName().hashCode(); + return Objects.hash(getName()); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Flag.java b/app/src/main/java/com/fongmi/android/tv/bean/Flag.java index 74ec2800a..233d91677 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Flag.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Flag.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Locale; +import java.util.Objects; public class Flag implements Parcelable, Diffable { @@ -135,12 +136,12 @@ public class Flag implements Parcelable, Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Flag it)) return false; - return getFlag().equals(it.getFlag()); + return Objects.equals(getFlag(), it.getFlag()); } @Override public int hashCode() { - return getFlag().hashCode(); + return Objects.hash(getFlag()); } @NonNull diff --git a/app/src/main/java/com/fongmi/android/tv/bean/History.java b/app/src/main/java/com/fongmi/android/tv/bean/History.java index 8346036a3..96133dc8f 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/History.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/History.java @@ -21,6 +21,7 @@ import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.Collections; import java.util.List; +import java.util.Objects; import java.util.concurrent.TimeUnit; @Entity @@ -344,12 +345,12 @@ public class History implements Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof History it)) return false; - return getKey().equals(it.getKey()); + return Objects.equals(getKey(), it.getKey()); } @Override public int hashCode() { - return getKey().hashCode(); + return Objects.hash(getKey()); } @NonNull diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Keep.java b/app/src/main/java/com/fongmi/android/tv/bean/Keep.java index b556d56f9..0655b2fc5 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Keep.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Keep.java @@ -15,6 +15,7 @@ import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.Collections; import java.util.List; +import java.util.Objects; @Entity public class Keep implements Diffable { @@ -163,12 +164,12 @@ public class Keep implements Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Keep it)) return false; - return getKey().equals(it.getKey()); + return Objects.equals(getKey(), it.getKey()); } @Override public int hashCode() { - return getKey().hashCode(); + return Objects.hash(getKey()); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Parse.java b/app/src/main/java/com/fongmi/android/tv/bean/Parse.java index 0fe3f75c8..96ab9a0a8 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Parse.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Parse.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; public class Parse implements Diffable { @@ -131,12 +132,12 @@ public class Parse implements Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Parse it)) return false; - return getName().equals(it.getName()); + return Objects.equals(getName(), it.getName()); } @Override public int hashCode() { - return getName().hashCode(); + return Objects.hash(getName()); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Site.java b/app/src/main/java/com/fongmi/android/tv/bean/Site.java index ffdca1638..1e3f799f5 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Site.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Site.java @@ -28,6 +28,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.concurrent.TimeUnit; @Entity @@ -319,12 +320,12 @@ public class Site implements Parcelable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Site it)) return false; - return getKey().equals(it.getKey()); + return Objects.equals(getKey(), it.getKey()); } @Override public int hashCode() { - return getKey().hashCode(); + return Objects.hash(getKey()); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Value.java b/app/src/main/java/com/fongmi/android/tv/bean/Value.java index 594353f72..ef9d79280 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Value.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Value.java @@ -10,6 +10,8 @@ import com.fongmi.android.tv.impl.Diffable; import com.github.catvod.utils.Trans; import com.google.gson.annotations.SerializedName; +import java.util.Objects; + public class Value implements Parcelable, Diffable { @SerializedName("n") @@ -71,12 +73,12 @@ public class Value implements Parcelable, Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Value it)) return false; - return getV().equals(it.getV()); + return Objects.equals(getV(), it.getV()); } @Override public int hashCode() { - return getV().hashCode(); + return Objects.hash(getV()); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Vod.java b/app/src/main/java/com/fongmi/android/tv/bean/Vod.java index 103808689..79d61672c 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Vod.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Vod.java @@ -106,7 +106,8 @@ public class Vod implements Parcelable, Diffable { private Site site; public static Vod objectFrom(String str) { - return App.gson().fromJson(str, Vod.class); + Vod vod = App.gson().fromJson(str, Vod.class); + return vod == null ? new Vod() : vod.trans().setFlags(); } public static List arrayFrom(String str) { @@ -312,12 +313,12 @@ public class Vod implements Parcelable, Diffable { public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (!(obj instanceof Vod it)) return false; - return !getId().isEmpty() && !it.getId().isEmpty() ? getId().equals(it.getId()) : getName().equals(it.getName()); + return !getId().isEmpty() && !it.getId().isEmpty() ? Objects.equals(getId(), it.getId()) : Objects.equals(getName(), it.getName()); } @Override public int hashCode() { - return !getId().isEmpty() ? getId().hashCode() : getName().hashCode(); + return !getId().isEmpty() ? Objects.hash(getId()) : Objects.hash(getName()); } @Override