diff options
| -rw-r--r-- | media/java/android/media/tv/TvTrackInfo.java | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/media/java/android/media/tv/TvTrackInfo.java b/media/java/android/media/tv/TvTrackInfo.java index 2bc9a2b4be45..10cbad9ed6af 100644 --- a/media/java/android/media/tv/TvTrackInfo.java +++ b/media/java/android/media/tv/TvTrackInfo.java @@ -277,28 +277,36 @@ public final class TvTrackInfo implements Parcelable { @Override public boolean equals(Object o) { if (this == o) { - return true; + return true; } if (!(o instanceof TvTrackInfo)) { - return false; + 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) - && mEncrypted == obj.mEncrypted - && 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)); + + if (!TextUtils.equals(mId, obj.mId) || mType != obj.mType + || !TextUtils.equals(mLanguage, obj.mLanguage) + || !TextUtils.equals(mDescription, obj.mDescription) + || !Objects.equals(mExtra, obj.mExtra)) { + return false; + } + + switch (mType) { + case TYPE_AUDIO: + return mAudioChannelCount == obj.mAudioChannelCount + && mAudioSampleRate == obj.mAudioSampleRate; + + case TYPE_VIDEO: + return mVideoWidth == obj.mVideoWidth + && mVideoHeight == obj.mVideoHeight + && mVideoFrameRate == obj.mVideoFrameRate + && mVideoPixelAspectRatio == obj.mVideoPixelAspectRatio + && mVideoActiveFormatDescription == obj.mVideoActiveFormatDescription; + } + + return true; } @Override |