From c2215d085640f31cf7cc96ab66dd8f4b4bdf976d Mon Sep 17 00:00:00 2001 From: shubang Date: Wed, 6 Apr 2016 19:33:44 -0700 Subject: [PATCH] TIF: Add equals() and hashCode() for comparisons Bug: 21307285 Change-Id: I6afcde913b3238044fd66d5f74afe3f97a85b25e --- media/java/android/media/tv/TvTrackInfo.java | 34 ++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/media/java/android/media/tv/TvTrackInfo.java b/media/java/android/media/tv/TvTrackInfo.java index e623353c24406..d718a7ee27237 100644 --- a/media/java/android/media/tv/TvTrackInfo.java +++ b/media/java/android/media/tv/TvTrackInfo.java @@ -20,9 +20,12 @@ import android.annotation.NonNull; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; +import android.text.TextUtils; import com.android.internal.util.Preconditions; +import java.util.Objects; + /** * Encapsulates the format of tracks played in {@link TvInputService}. */ @@ -245,6 +248,37 @@ public final class TvTrackInfo implements Parcelable { dest.writeBundle(mExtra); } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + + if (!(o instanceof TvTrackInfo)) { + return false; + } + + TvTrackInfo obj = (TvTrackInfo) o; + return TextUtils.equals(mId, obj.mId) + && mType == obj.mType + && TextUtils.equals(mLanguage, obj.mLanguage) + && TextUtils.equals(mDescription, obj.mDescription) + && Objects.equals(mExtra, obj.mExtra) + && (mType == TYPE_AUDIO + ? mAudioChannelCount == obj.mAudioChannelCount + && mAudioSampleRate == obj.mAudioSampleRate + : (mType == TYPE_VIDEO + ? mVideoWidth == obj.mVideoWidth + && mVideoHeight == obj.mVideoHeight + && mVideoFrameRate == obj.mVideoFrameRate + && mVideoPixelAspectRatio == obj.mVideoPixelAspectRatio : true)); + } + + @Override + public int hashCode() { + return Objects.hashCode(mId); + } + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override