diff options
author | Elliott Hughes <enh@google.com> | 2013-08-02 09:30:06 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2013-08-02 10:03:53 -0700 |
commit | dcb1a58cf9d66b36de825dae2fa0cb0529e60680 (patch) | |
tree | 6be97085a3ea04c3801de7ae0a4e1ff2b2adc160 | |
parent | c67b2ed50226c4758d0fc1434d39f6add6a0a533 (diff) | |
download | base-dcb1a58cf9d66b36de825dae2fa0cb0529e60680.tar.gz |
If media wants ASCII lowercasing, it needs to ask for it.
http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html
Use toLowerCase(Locale.ROOT) if you want ASCII for machine consumption,
and use toLowerCase(Locale.getDefault()) if you want the user's locale's
casing rules for human consumption.
Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Id9005a17e34217a81bef3b40031b9e2e6272f45d
4 files changed, 10 insertions, 6 deletions
diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java index 06d43a2cd60a..761ecca3b5b7 100644 --- a/media/java/android/media/MediaFile.java +++ b/media/java/android/media/MediaFile.java @@ -28,6 +28,7 @@ import android.mtp.MtpConstants; import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Locale; /** * MediaScanner helper class. @@ -276,10 +277,10 @@ public class MediaFile { } public static MediaFileType getFileType(String path) { - int lastDot = path.lastIndexOf("."); + int lastDot = path.lastIndexOf('.'); if (lastDot < 0) return null; - return sFileTypeMap.get(path.substring(lastDot + 1).toUpperCase()); + return sFileTypeMap.get(path.substring(lastDot + 1).toUpperCase(Locale.ROOT)); } public static boolean isMimeTypeMedia(String mimeType) { @@ -325,7 +326,7 @@ public class MediaFile { } int lastDot = fileName.lastIndexOf('.'); if (lastDot > 0) { - String extension = fileName.substring(lastDot + 1).toUpperCase(); + String extension = fileName.substring(lastDot + 1).toUpperCase(Locale.ROOT); Integer value = sFileTypeToFormatMap.get(extension); if (value != null) { return value.intValue(); diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java index 726e6de4fb93..de3041ed5208 100644 --- a/media/java/android/media/MediaScanner.java +++ b/media/java/android/media/MediaScanner.java @@ -540,7 +540,7 @@ public class MediaScanner if (noMedia) { result = endFile(entry, false, false, false, false, false); } else { - String lowpath = path.toLowerCase(); + String lowpath = path.toLowerCase(Locale.ROOT); boolean ringtones = (lowpath.indexOf(RINGTONES_DIR) > 0); boolean notifications = (lowpath.indexOf(NOTIFICATIONS_DIR) > 0); boolean alarms = (lowpath.indexOf(ALARMS_DIR) > 0); diff --git a/media/mca/filterpacks/java/android/filterpacks/text/ToUpperCase.java b/media/mca/filterpacks/java/android/filterpacks/text/ToUpperCase.java index 0cf34779d502..5ff0af16d309 100644 --- a/media/mca/filterpacks/java/android/filterpacks/text/ToUpperCase.java +++ b/media/mca/filterpacks/java/android/filterpacks/text/ToUpperCase.java @@ -23,6 +23,8 @@ import android.filterfw.core.Frame; import android.filterfw.core.FrameFormat; import android.filterfw.format.ObjectFormat; +import java.util.Locale; + /** * @hide */ @@ -47,7 +49,7 @@ public class ToUpperCase extends Filter { String inputString = (String)input.getObjectValue(); Frame output = env.getFrameManager().newFrame(mOutputFormat); - output.setObjectValue(inputString.toUpperCase()); + output.setObjectValue(inputString.toUpperCase(Locale.getDefault())); pushOutput("uppercase", output); } diff --git a/media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectViewer.java b/media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectViewer.java index ef69c44fb36a..b288984a1354 100644 --- a/media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectViewer.java +++ b/media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectViewer.java @@ -37,6 +37,7 @@ import android.widget.Toast; import java.io.File; import java.util.Date; +import java.util.Locale; /** * A view to display the properties of an object. @@ -120,7 +121,7 @@ public class ObjectViewer extends Activity implements View.OnClickListener { mFileName = info.getName(); view.setText(mFileName); view = (TextView)findViewById(R.id.format); - view.setText(Integer.toHexString(info.getFormat()).toUpperCase()); + view.setText(Integer.toHexString(info.getFormat()).toUpperCase(Locale.ROOT)); view = (TextView)findViewById(R.id.size); view.setText(Long.toString(info.getCompressedSize())); view = (TextView)findViewById(R.id.thumb_width); |