diff options
author | Tor Norbye <tnorbye@google.com> | 2012-11-23 09:32:48 -0800 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2012-11-26 17:54:39 -0800 |
commit | 183b286c023c5cc2f99eda97d9a3fca6d8ef5c84 (patch) | |
tree | 4ac986f03dd7911a8ed4201db2933bfd353c594f /sdkmanager/libs | |
parent | c88485c606173a591f15d7f24c4b37133ac24ac8 (diff) | |
download | sdk-183b286c023c5cc2f99eda97d9a3fca6d8ef5c84.zip sdk-183b286c023c5cc2f99eda97d9a3fca6d8ef5c84.tar.gz sdk-183b286c023c5cc2f99eda97d9a3fca6d8ef5c84.tar.bz2 |
Fix device writer to write out XML decimals properly
Change-Id: I483f1e3dd02a1ac61a06707bcf33ca1c9bb6f034
Diffstat (limited to 'sdkmanager/libs')
-rw-r--r-- | sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceWriter.java | 9 | ||||
-rw-r--r-- | sdkmanager/libs/sdklib/tests/src/com/android/sdklib/devices/DeviceWriterTest.java | 21 |
2 files changed, 27 insertions, 3 deletions
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceWriter.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceWriter.java index d80f91e..11b1c6d 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceWriter.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceWriter.java @@ -28,6 +28,7 @@ import org.w3c.dom.NodeList; import java.awt.Point; import java.io.OutputStream; import java.util.Collection; +import java.util.Locale; import javax.xml.XMLConstants; import javax.xml.parsers.DocumentBuilderFactory; @@ -136,7 +137,7 @@ public class DeviceWriter { addElement(doc, screen, DeviceSchema.NODE_SCREEN_SIZE, s.getSize().getResourceValue()); addElement(doc, screen, DeviceSchema.NODE_DIAGONAL_LENGTH, - String.format("%.2f",s.getDiagonalLength())); + String.format(Locale.US, "%.2f",s.getDiagonalLength())); addElement(doc, screen, DeviceSchema.NODE_PIXEL_DENSITY, s.getPixelDensity().getResourceValue()); addElement(doc, screen, DeviceSchema.NODE_SCREEN_RATIO, s.getRatio().getResourceValue()); @@ -148,8 +149,10 @@ public class DeviceWriter { Integer.toString(s.getXDimension())); addElement(doc, dimensions, DeviceSchema.NODE_Y_DIMENSION, Integer.toString(s.getYDimension())); - addElement(doc, screen, DeviceSchema.NODE_XDPI, String.format("%.2f", s.getXdpi())); - addElement(doc, screen, DeviceSchema.NODE_YDPI, String.format("%.2f", s.getYdpi())); + addElement(doc, screen, DeviceSchema.NODE_XDPI, String.format(Locale.US, + "%.2f", s.getXdpi())); + addElement(doc, screen, DeviceSchema.NODE_YDPI, String.format(Locale.US, + "%.2f", s.getYdpi())); Element touch = doc.createElement(PREFIX + DeviceSchema.NODE_TOUCH); screen.appendChild(touch); diff --git a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/devices/DeviceWriterTest.java b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/devices/DeviceWriterTest.java index 2b8474e..e8053be 100644 --- a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/devices/DeviceWriterTest.java +++ b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/devices/DeviceWriterTest.java @@ -25,8 +25,10 @@ import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; +@SuppressWarnings("javadoc") public class DeviceWriterTest extends TestCase { public void testWriteIsValid() throws Exception { @@ -46,6 +48,25 @@ public class DeviceWriterTest extends TestCase { } } + public void testLocale() throws Exception { + Locale prevLocale = Locale.getDefault(); + try { + Locale.setDefault(Locale.FRANCE); + InputStream devicesFile = + DeviceSchemaTest.class.getResourceAsStream("devices.xml"); + List<Device> devices = DeviceParser.parse(devicesFile); + assertEquals("Parsed devices contained an un expected number of devices", + 2, devices.size()); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + DeviceWriter.writeToXml(baos, devices); + String xml = baos.toString(); + assertTrue(xml.contains(".00")); + assertFalse(xml.contains(",00")); + } finally { + Locale.setDefault(prevLocale); + } + } + public void testApiLowerBound() throws Exception { Map<String, String> replacements = new HashMap<String, String>(); replacements.put("api-level", "1-"); |