summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kyeongkab.Nam <Kyeongkab.Nam@sony.com> 2019-01-25 17:55:01 +0900
committer Kyeongkab.Nam <Kyeongkab.Nam@sony.com> 2020-01-22 11:10:32 +0900
commitb30b38506b51dd3460f02568b6b161f2b9753a73 (patch)
tree4889d0b8798c8af84ea8c2fd5c89ea97eb29aa21
parentcd3676cefd7190f2cd6e4ae4e87de1adf1add393 (diff)
Fix equals and hashCode APIs on TvTrackInfo
Current hashCode API cares only for mId and it returns same values even if other member variables are different. To avoid for returning same values between different TvTrackInfo of each program, hashCode API should care all variables used on equals API. Note that mId is defined as unique only in the same program. Test: build Change-Id: I4d72f6ce80141d92f86e548804e1f0257ed6fcfb
-rw-r--r--media/java/android/media/tv/TvTrackInfo.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/media/java/android/media/tv/TvTrackInfo.java b/media/java/android/media/tv/TvTrackInfo.java
index 4318a0ae7d06..d4c4a62932e6 100644
--- a/media/java/android/media/tv/TvTrackInfo.java
+++ b/media/java/android/media/tv/TvTrackInfo.java
@@ -352,8 +352,7 @@ public final class TvTrackInfo implements Parcelable {
if (!TextUtils.equals(mId, obj.mId) || mType != obj.mType
|| !TextUtils.equals(mLanguage, obj.mLanguage)
|| !TextUtils.equals(mDescription, obj.mDescription)
- || mEncrypted != obj.mEncrypted
- || !Objects.equals(mExtra, obj.mExtra)) {
+ || mEncrypted != obj.mEncrypted) {
return false;
}
@@ -381,7 +380,16 @@ public final class TvTrackInfo implements Parcelable {
@Override
public int hashCode() {
- return Objects.hashCode(mId);
+ int result = Objects.hash(mId, mType, mLanguage, mDescription);
+
+ if (mType == TYPE_AUDIO) {
+ result = Objects.hash(result, mAudioChannelCount, mAudioSampleRate);
+ } else if (mType == TYPE_VIDEO) {
+ result = Objects.hash(result, mVideoWidth, mVideoHeight, mVideoFrameRate,
+ mVideoPixelAspectRatio);
+ }
+
+ return result;
}
public static final @android.annotation.NonNull Parcelable.Creator<TvTrackInfo> CREATOR =