From 37be9f904a1163fbefb0c70d77123c8c84ef3930 Mon Sep 17 00:00:00 2001 From: "Kyeongkab.Nam" Date: Fri, 25 Jan 2019 18:48:33 +0900 Subject: [PATCH] Fix equals API bug on TvTrackInfo Member variable of mVideoActiveFormatDescription is not compared on equals API. The variable should be compared on the equals API. Test: build Change-Id: Ib8fde63afb0504140f34ebd695f4524db9c74748 --- media/java/android/media/tv/TvTrackInfo.java | 40 ++++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/media/java/android/media/tv/TvTrackInfo.java b/media/java/android/media/tv/TvTrackInfo.java index 2bc9a2b4be458..10cbad9ed6af7 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