aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/util/TvTrackInfoUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/util/TvTrackInfoUtils.java')
-rw-r--r--src/com/android/tv/util/TvTrackInfoUtils.java37
1 files changed, 12 insertions, 25 deletions
diff --git a/src/com/android/tv/util/TvTrackInfoUtils.java b/src/com/android/tv/util/TvTrackInfoUtils.java
index c004f001..667cc9bf 100644
--- a/src/com/android/tv/util/TvTrackInfoUtils.java
+++ b/src/com/android/tv/util/TvTrackInfoUtils.java
@@ -52,35 +52,22 @@ public class TvTrackInfoUtils {
}
// Assumes {@code null} language matches to any language since it means user hasn't
// selected any track before or selected a track without language information.
- boolean rhsLangMatch = language == null || Utils.isEqualLanguage(rhs.getLanguage(),
- language);
boolean lhsLangMatch = language == null || Utils.isEqualLanguage(lhs.getLanguage(),
language);
- if (rhsLangMatch) {
- if (lhsLangMatch) {
- boolean rhsCountMatch = rhs.getAudioChannelCount() == channelCount;
- boolean lhsCountMatch = lhs.getAudioChannelCount() == channelCount;
- if (rhsCountMatch) {
- if (lhsCountMatch) {
- boolean rhsIdMatch = rhs.getId().equals(id);
- boolean lhsIdMatch = lhs.getId().equals(id);
- if (rhsIdMatch) {
- return lhsIdMatch ? 0 : -1;
- } else {
- return lhsIdMatch ? 1 : 0;
- }
-
- } else {
- return -1;
- }
- } else {
- return lhsCountMatch ? 1 : 0;
- }
+ boolean rhsLangMatch = language == null || Utils.isEqualLanguage(rhs.getLanguage(),
+ language);
+ if (lhsLangMatch && rhsLangMatch) {
+ boolean lhsCountMatch = lhs.getType() != TvTrackInfo.TYPE_AUDIO
+ || lhs.getAudioChannelCount() == channelCount;
+ boolean rhsCountMatch = rhs.getType() != TvTrackInfo.TYPE_AUDIO
+ || rhs.getAudioChannelCount() == channelCount;
+ if (lhsCountMatch && rhsCountMatch) {
+ return Boolean.compare(lhs.getId().equals(id), rhs.getId().equals(id));
} else {
- return -1;
+ return Boolean.compare(lhsCountMatch, rhsCountMatch);
}
} else {
- return lhsLangMatch ? 1 : 0;
+ return Boolean.compare(lhsLangMatch, rhsLangMatch);
}
}
};
@@ -112,4 +99,4 @@ public class TvTrackInfoUtils {
private TvTrackInfoUtils() {
}
-}
+} \ No newline at end of file