OSDN Git Service

Revert "Display and parse numbers properly in all locales"
authorFan Zhang <zhfan@google.com>
Fri, 28 Apr 2017 21:06:28 +0000 (21:06 +0000)
committerFan Zhang <zhfan@google.com>
Fri, 28 Apr 2017 21:06:28 +0000 (21:06 +0000)
Bug: 37311645

This reverts commit 8648c5ed3d7c97915bd2ba0eeb413c98adf31eea.

Change-Id: If26d07a59dd9e71813a2b48f3bee25516bfb0b75

src/com/android/settings/datausage/BillingCycleSettings.java
tests/robotests/src/com/android/settings/utils/ThreadUtilsTest.java

index aca4809..dda984b 100644 (file)
 
 package com.android.settings.datausage;
 
-import static android.net.NetworkPolicy.LIMIT_DISABLED;
-import static android.net.NetworkPolicy.WARNING_DISABLED;
-
 import android.app.AlertDialog;
 import android.app.Dialog;
+import android.app.DialogFragment;
 import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.res.Resources;
-import android.icu.text.NumberFormat;
 import android.net.NetworkPolicy;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
@@ -45,7 +42,8 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settingslib.NetworkPolicyEditor;
 import com.android.settingslib.net.DataUsageController;
 
-import java.text.ParseException;
+import static android.net.NetworkPolicy.LIMIT_DISABLED;
+import static android.net.NetworkPolicy.WARNING_DISABLED;
 
 public class BillingCycleSettings extends DataUsageBase implements
         Preference.OnPreferenceChangeListener, DataUsageEditController {
@@ -248,6 +246,7 @@ public class BillingCycleSettings extends DataUsageBase implements
             final boolean isLimit = getArguments().getBoolean(EXTRA_LIMIT);
             final long bytes = isLimit ? editor.getPolicyLimitBytes(template)
                     : editor.getPolicyWarningBytes(template);
+            final long limitDisabled = isLimit ? LIMIT_DISABLED : WARNING_DISABLED;
 
             if (bytes > 1.5f * GB_IN_BYTES) {
                 final String bytesText = formatText(bytes / (float) GB_IN_BYTES);
@@ -266,7 +265,7 @@ public class BillingCycleSettings extends DataUsageBase implements
 
         private String formatText(float v) {
             v = Math.round(v * 100) / 100f;
-            return NumberFormat.getInstance().format(v);
+            return String.valueOf(v);
         }
 
         @Override
@@ -279,20 +278,15 @@ public class BillingCycleSettings extends DataUsageBase implements
 
             final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
             final boolean isLimit = getArguments().getBoolean(EXTRA_LIMIT);
-            EditText bytesField = mView.findViewById(R.id.bytes);
-            Spinner spinner = mView.findViewById(R.id.size_spinner);
+            EditText bytesField = (EditText) mView.findViewById(R.id.bytes);
+            Spinner spinner = (Spinner) mView.findViewById(R.id.size_spinner);
 
             String bytesString = bytesField.getText().toString();
-
-            double input = 0;
-            try {
-                input = NumberFormat.getInstance().parse(bytesString).doubleValue();
-            } catch (ParseException e) {
-                Log.w(TAG, "Failed to parse byte value " + bytesString);
+            if (bytesString.isEmpty()) {
+                bytesString = "0";
             }
-
-            final long bytes = (long) (input
-                    * (spinner.getSelectedItemPosition() == 0 ? MB_IN_BYTES : GB_IN_BYTES));
+            final long bytes = (long) (Float.valueOf(bytesString)
+                        * (spinner.getSelectedItemPosition() == 0 ? MB_IN_BYTES : GB_IN_BYTES));
 
             // to fix the overflow problem
             final long correctedBytes = Math.min(MAX_DATA_LIMIT_BYTES, bytes);
index 4ee42e0..4267ed1 100644 (file)
 package com.android.settings.utils;
 
 
-import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.fail;
-
-import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
-
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
-@RunWith(SettingsRobolectricTestRunner.class)
+import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.fail;
+
+@RunWith(RobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public class ThreadUtilsTest {