Merge "Fix ACTION_NFC_SETTINGS doesn't show connection preference"
diff --git a/src/com/android/settings/network/ApnEditor.java b/src/com/android/settings/network/ApnEditor.java
index cceb31d..5133d45 100644
--- a/src/com/android/settings/network/ApnEditor.java
+++ b/src/com/android/settings/network/ApnEditor.java
@@ -313,13 +313,23 @@
static String formatInteger(String value) {
try {
final int intValue = Integer.parseInt(value);
- return String.format("%d", intValue);
+ return String.format(getCorrectDigitsFormat(value), intValue);
} catch (NumberFormatException e) {
return value;
}
}
/**
+ * Get the digits format so we preserve leading 0's.
+ * MCCs are 3 digits and MNCs are either 2 or 3.
+ */
+ static String getCorrectDigitsFormat(String value) {
+ if (value.length() == 2) return "%02d";
+ else return "%03d";
+ }
+
+
+ /**
* Check if passed in array of APN types indicates all APN types
* @param apnTypes array of APN types. "*" indicates all types.
* @return true if all apn types are included in the array, false otherwise
diff --git a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
index 35f68a0..2fa9de1 100644
--- a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
+++ b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
@@ -440,6 +440,8 @@
@Test
public void formatInteger_shouldParseString() {
assertThat(ApnEditor.formatInteger("42")).isEqualTo("42");
+ assertThat(ApnEditor.formatInteger("01")).isEqualTo("01");
+ assertThat(ApnEditor.formatInteger("001")).isEqualTo("001");
}
@Test
@@ -489,4 +491,4 @@
mUri = uri;
}
}
-}
\ No newline at end of file
+}