Format number to local locale.
Change-Id: Iffa91eb8c40f09e5ac4cce10f355e348e62d8fce
Fixes: 78134172
Test: robotests
diff --git a/src/com/android/settings/network/ApnEditor.java b/src/com/android/settings/network/ApnEditor.java
index d0ecb71..e2853a6 100644
--- a/src/com/android/settings/network/ApnEditor.java
+++ b/src/com/android/settings/network/ApnEditor.java
@@ -28,6 +28,7 @@
import android.os.Bundle;
import android.os.PersistableBundle;
import android.provider.Telephony;
+import android.support.annotation.VisibleForTesting;
import android.support.v14.preference.MultiSelectListPreference;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.EditTextPreference;
@@ -47,7 +48,6 @@
import android.view.View;
import android.view.View.OnKeyListener;
-import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.util.ArrayUtils;
@@ -309,6 +309,16 @@
fillUI(icicle == null);
}
+ @VisibleForTesting
+ static String formatInteger(String value) {
+ try {
+ final int intValue = Integer.parseInt(value);
+ return String.format("%d", intValue);
+ } catch (NumberFormatException e) {
+ return value;
+ }
+ }
+
/**
* Check if passed in array of APN types indicates all APN types
* @param apnTypes array of APN types. "*" indicates all types.
@@ -547,8 +557,8 @@
mMmsProxy.setSummary(checkNull(mMmsProxy.getText()));
mMmsPort.setSummary(checkNull(mMmsPort.getText()));
mMmsc.setSummary(checkNull(mMmsc.getText()));
- mMcc.setSummary(checkNull(mMcc.getText()));
- mMnc.setSummary(checkNull(mMnc.getText()));
+ mMcc.setSummary(formatInteger(checkNull(mMcc.getText())));
+ mMnc.setSummary(formatInteger(checkNull(mMnc.getText())));
mApnType.setSummary(checkNull(mApnType.getText()));
String authVal = mAuthType.getValue();
@@ -598,20 +608,6 @@
}
}
- private String bearerDescription(String raw) {
- int mBearerIndex = mBearerMulti.findIndexOfValue(raw);
- if (mBearerIndex == -1) {
- return null;
- } else {
- String[] values = getResources().getStringArray(R.array.bearer_entries);
- try {
- return values[mBearerIndex];
- } catch (ArrayIndexOutOfBoundsException e) {
- return null;
- }
- }
- }
-
private String bearerMultiDescription(Set<String> raw) {
String[] values = getResources().getStringArray(R.array.bearer_entries);
StringBuilder retVal = new StringBuilder();
diff --git a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
index 1b34fd3..35f68a0 100644
--- a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
+++ b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
@@ -437,6 +437,16 @@
assertThat(str).isNull();
}
+ @Test
+ public void formatInteger_shouldParseString() {
+ assertThat(ApnEditor.formatInteger("42")).isEqualTo("42");
+ }
+
+ @Test
+ public void formatInteger_shouldIgnoreNonIntegers() {
+ assertThat(ApnEditor.formatInteger("not an int")).isEqualTo("not an int");
+ }
+
private void initCursor() {
doReturn(2).when(mCursor).getColumnCount();
doReturn(Integer.valueOf(2)).when(mCursor).getInt(CURSOR_INTEGER_INDEX);