Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb4b5801 authored by Arc Wang's avatar Arc Wang Committed by Android (Google) Code Review
Browse files

Merge "Fix UsageProgressBarPreference number pattern problem" into sc-dev

parents 1528d2eb 7274cd61
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ import java.util.regex.Pattern;
 */
public class UsageProgressBarPreference extends Preference {

    private final Pattern mNumberPattern = Pattern.compile("[\\d]*\\.?[\\d]+");
    private final Pattern mNumberPattern = Pattern.compile("[\\d]*[\\.,]?[\\d]+");

    private CharSequence mUsageSummary;
    private CharSequence mTotalSummary;
+26 −5
Original line number Diff line number Diff line
@@ -75,20 +75,41 @@ public class UsageProgressBarPreferenceTest {

        final TextView usageSummary = (TextView) mViewHolder.findViewById(R.id.usage_summary);
        final SpannedString summary = new SpannedString(usageSummary.getText());
        assertThat(summary.getSpans(0, summary.length(), AbsoluteSizeSpan.class).length)
                .isEqualTo(1);
        final AbsoluteSizeSpan[] spans = summary
                .getSpans(0, summary.length(), AbsoluteSizeSpan.class);
        assertThat(spans.length).isEqualTo(1);
        assertThat(summary.getSpanStart(spans[0])).isEqualTo(0);
        assertThat(summary.getSpanEnd(spans[0])).isEqualTo(2);
    }

    @Test
    public void setUsageSummary_floatNumber_findAbsoluteSizeSpan() {
    public void setUsageSummary_floatingPointNumber_findAbsoluteSizeSpan() {
        mUsageProgressBarPreference.setUsageSummary("3.14Test");

        mUsageProgressBarPreference.onBindViewHolder(mViewHolder);

        final TextView usageSummary = (TextView) mViewHolder.findViewById(R.id.usage_summary);
        final SpannedString summary = new SpannedString(usageSummary.getText());
        assertThat(summary.getSpans(0, summary.length(), AbsoluteSizeSpan.class).length)
                .isEqualTo(1);
        final AbsoluteSizeSpan[] spans = summary
                .getSpans(0, summary.length(), AbsoluteSizeSpan.class);
        assertThat(spans.length).isEqualTo(1);
        assertThat(summary.getSpanStart(spans[0])).isEqualTo(0);
        assertThat(summary.getSpanEnd(spans[0])).isEqualTo(4);
    }

    @Test
    public void setUsageSummary_commaFloatingPointNumber_findAbsoluteSizeSpan() {
        mUsageProgressBarPreference.setUsageSummary("3,14Test");

        mUsageProgressBarPreference.onBindViewHolder(mViewHolder);

        final TextView usageSummary = (TextView) mViewHolder.findViewById(R.id.usage_summary);
        final SpannedString summary = new SpannedString(usageSummary.getText());
        final AbsoluteSizeSpan[] spans = summary
                .getSpans(0, summary.length(), AbsoluteSizeSpan.class);
        assertThat(spans.length).isEqualTo(1);
        assertThat(summary.getSpanStart(spans[0])).isEqualTo(0);
        assertThat(summary.getSpanEnd(spans[0])).isEqualTo(4);
    }

    @Test