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;
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 {
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);
private String formatText(float v) {
v = Math.round(v * 100) / 100f;
- return NumberFormat.getInstance().format(v);
+ return String.valueOf(v);
}
@Override
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);
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 {