summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2015-03-15 15:39:21 -0700
committerAndreas Gampe <agampe@google.com>2015-03-15 15:45:15 -0700
commit5c5978985a3457539d1f3b611f23d26b77484536 (patch)
tree90707767853a8e6dd3dc9afab5f169112b9177bf /media
parent30fcd2aa8a87ca97e1d6dbc3203c3a485a56dac9 (diff)
downloadframeworks_base-5c5978985a3457539d1f3b611f23d26b77484536.zip
frameworks_base-5c5978985a3457539d1f3b611f23d26b77484536.tar.gz
frameworks_base-5c5978985a3457539d1f3b611f23d26b77484536.tar.bz2
Frameworks/base: Use equals for Integer comparison
Integer == is dangerous, as equal objects may not be identical objects. In fact, MediaFormat.setInteger was creating a new object every time. Change MediaFormat.setInteger and setLong to use valueOf, which may reuse returned objects. Change-Id: Iedcc6003adbf05c0c870aa4b3ada7f181a5b870e
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/MediaCodecInfo.java4
-rw-r--r--media/java/android/media/MediaFormat.java4
-rw-r--r--media/java/android/media/WebVttRenderer.java4
3 files changed, 7 insertions, 5 deletions
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index 6984575..ca5c9ce 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -1974,7 +1974,7 @@ public final class MediaCodecInfo {
(Integer)map.get(MediaFormat.KEY_FLAC_COMPRESSION_LEVEL);
if (complexity == null) {
complexity = flacComplexity;
- } else if (flacComplexity != null && complexity != flacComplexity) {
+ } else if (flacComplexity != null && !complexity.equals(flacComplexity)) {
throw new IllegalArgumentException(
"conflicting values for complexity and " +
"flac-compression-level");
@@ -1987,7 +1987,7 @@ public final class MediaCodecInfo {
Integer aacProfile = (Integer)map.get(MediaFormat.KEY_AAC_PROFILE);
if (profile == null) {
profile = aacProfile;
- } else if (aacProfile != null && aacProfile != profile) {
+ } else if (aacProfile != null && !aacProfile.equals(profile)) {
throw new IllegalArgumentException(
"conflicting values for profile and aac-profile");
}
diff --git a/media/java/android/media/MediaFormat.java b/media/java/android/media/MediaFormat.java
index 4356a3e..f547afb 100644
--- a/media/java/android/media/MediaFormat.java
+++ b/media/java/android/media/MediaFormat.java
@@ -587,14 +587,14 @@ public final class MediaFormat {
* Sets the value of an integer key.
*/
public final void setInteger(String name, int value) {
- mMap.put(name, new Integer(value));
+ mMap.put(name, Integer.valueOf(value));
}
/**
* Sets the value of a long key.
*/
public final void setLong(String name, long value) {
- mMap.put(name, new Long(value));
+ mMap.put(name, Long.valueOf(value));
}
/**
diff --git a/media/java/android/media/WebVttRenderer.java b/media/java/android/media/WebVttRenderer.java
index 69e0ea6..91c53fa 100644
--- a/media/java/android/media/WebVttRenderer.java
+++ b/media/java/android/media/WebVttRenderer.java
@@ -433,7 +433,9 @@ class TextTrackCue extends SubtitleTrack.Cue {
mRegionId.equals(cue.mRegionId) &&
mSnapToLines == cue.mSnapToLines &&
mAutoLinePosition == cue.mAutoLinePosition &&
- (mAutoLinePosition || mLinePosition == cue.mLinePosition) &&
+ (mAutoLinePosition ||
+ ((mLinePosition != null && mLinePosition.equals(cue.mLinePosition)) ||
+ (mLinePosition == null && cue.mLinePosition == null))) &&
mTextPosition == cue.mTextPosition &&
mSize == cue.mSize &&
mAlignment == cue.mAlignment &&