diff options
| -rw-r--r-- | api/current.txt | 42 | ||||
| -rw-r--r-- | core/java/android/text/style/TtsSpan.java | 315 |
2 files changed, 357 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 954ff3d..a0a071f 100644 --- a/api/current.txt +++ b/api/current.txt @@ -31258,6 +31258,15 @@ package android.text.style { method public android.text.style.TtsSpan.CardinalBuilder setNumber(java.lang.String); } + public static class TtsSpan.DateBuilder extends android.text.style.TtsSpan.SemioticClassBuilder { + ctor public TtsSpan.DateBuilder(); + ctor public TtsSpan.DateBuilder(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer); + method public android.text.style.TtsSpan.DateBuilder setDay(int); + method public android.text.style.TtsSpan.DateBuilder setMonth(int); + method public android.text.style.TtsSpan.DateBuilder setWeekday(int); + method public android.text.style.TtsSpan.DateBuilder setYear(int); + } + public static class TtsSpan.DecimalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder { ctor public TtsSpan.DecimalBuilder(); ctor public TtsSpan.DecimalBuilder(double, int, int); @@ -31268,6 +31277,12 @@ package android.text.style { method public android.text.style.TtsSpan.DecimalBuilder setIntegerPart(java.lang.String); } + public static class TtsSpan.DigitsBuilder extends android.text.style.TtsSpan.SemioticClassBuilder { + ctor public TtsSpan.DigitsBuilder(); + ctor public TtsSpan.DigitsBuilder(java.lang.String); + method public android.text.style.TtsSpan.DigitsBuilder setDigits(java.lang.String); + } + public static class TtsSpan.FractionBuilder extends android.text.style.TtsSpan.SemioticClassBuilder { ctor public TtsSpan.FractionBuilder(); ctor public TtsSpan.FractionBuilder(long, long, long); @@ -31279,6 +31294,20 @@ package android.text.style { method public android.text.style.TtsSpan.FractionBuilder setNumerator(java.lang.String); } + public static class TtsSpan.MeasureBuilder extends android.text.style.TtsSpan.SemioticClassBuilder { + ctor public TtsSpan.MeasureBuilder(); + method public android.text.style.TtsSpan.MeasureBuilder setDenominator(long); + method public android.text.style.TtsSpan.MeasureBuilder setDenominator(java.lang.String); + method public android.text.style.TtsSpan.MeasureBuilder setFractionalPart(java.lang.String); + method public android.text.style.TtsSpan.MeasureBuilder setIntegerPart(long); + method public android.text.style.TtsSpan.MeasureBuilder setIntegerPart(java.lang.String); + method public android.text.style.TtsSpan.MeasureBuilder setNumber(long); + method public android.text.style.TtsSpan.MeasureBuilder setNumber(java.lang.String); + method public android.text.style.TtsSpan.MeasureBuilder setNumerator(long); + method public android.text.style.TtsSpan.MeasureBuilder setNumerator(java.lang.String); + method public android.text.style.TtsSpan.MeasureBuilder setUnit(java.lang.String); + } + public static class TtsSpan.OrdinalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder { ctor public TtsSpan.OrdinalBuilder(); ctor public TtsSpan.OrdinalBuilder(long); @@ -31301,6 +31330,19 @@ package android.text.style { method public android.text.style.TtsSpan.TextBuilder setText(java.lang.String); } + public static class TtsSpan.TimeBuilder extends android.text.style.TtsSpan.SemioticClassBuilder { + ctor public TtsSpan.TimeBuilder(); + ctor public TtsSpan.TimeBuilder(int, int); + method public android.text.style.TtsSpan.TimeBuilder setHours(int); + method public android.text.style.TtsSpan.TimeBuilder setMinutes(int); + } + + public static class TtsSpan.VerbatimBuilder extends android.text.style.TtsSpan.SemioticClassBuilder { + ctor public TtsSpan.VerbatimBuilder(); + ctor public TtsSpan.VerbatimBuilder(java.lang.String); + method public android.text.style.TtsSpan.VerbatimBuilder setVerbatim(java.lang.String); + } + public class TypefaceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan { ctor public TypefaceSpan(java.lang.String); ctor public TypefaceSpan(android.os.Parcel); diff --git a/core/java/android/text/style/TtsSpan.java b/core/java/android/text/style/TtsSpan.java index 618e638..04159af 100644 --- a/core/java/android/text/style/TtsSpan.java +++ b/core/java/android/text/style/TtsSpan.java @@ -938,4 +938,319 @@ public class TtsSpan implements ParcelableSpan { return setStringArgument(TtsSpan.ARG_DENOMINATOR, denominator); } } + + /** + * A builder for TtsSpans of type {@link TtsSpan #TYPE_MEASURE}. + */ + public static class MeasureBuilder + extends SemioticClassBuilder<MeasureBuilder> { + + /** + * Creates a builder for a TtsSpan of type {@link TtsSpan#TYPE_MEASURE}. + */ + public MeasureBuilder() { + super(TtsSpan.TYPE_MEASURE); + } + + /** + * Convenience method that converts the number to a String and set it to + * the value for {@link TtsSpan#ARG_NUMBER}. + * @param number The amount of the measure. + * @return This instance. + */ + public MeasureBuilder setNumber(long number) { + return setNumber(String.valueOf(number)); + } + + /** + * Sets the {@link TtsSpan#ARG_NUMBER} argument. + * @param number A non-empty string of digits with an optional + * leading + or -. + * @return This instance. + */ + public MeasureBuilder setNumber(String number) { + return setStringArgument(TtsSpan.ARG_NUMBER, number); + } + + /** + * Convenience method that converts the integer part to a String and set + * it to the value for {@link TtsSpan#ARG_INTEGER_PART}. + * @param integerPart The integer part of a decimal or fraction. + * @return This instance. + */ + public MeasureBuilder setIntegerPart(long integerPart) { + return setNumber(String.valueOf(integerPart)); + } + + /** + * Sets the {@link TtsSpan#ARG_INTEGER_PART} argument. + * @param integerPart The integer part of a decimal or fraction; a + * non-empty string of digits with an optional + * leading + or -. + * @return This instance. + */ + public MeasureBuilder setIntegerPart(String integerPart) { + return setStringArgument(TtsSpan.ARG_INTEGER_PART, integerPart); + } + + /** + * Sets the {@link TtsSpan#ARG_FRACTIONAL_PART} argument. + * @param fractionalPart The fractional part of a decimal; a non-empty + * string of digits with an optional + * leading + or -. + * @return This instance. + */ + public MeasureBuilder setFractionalPart(String fractionalPart) { + return setStringArgument(TtsSpan.ARG_FRACTIONAL_PART, + fractionalPart); + } + + /** + * Convenience method that converts the numerator to a String and set it + * to the value for {@link TtsSpan#ARG_NUMERATOR}. + * @param numerator The numerator of a fraction. + * @return This instance. + */ + public MeasureBuilder setNumerator(long numerator) { + return setNumerator(String.valueOf(numerator)); + } + + /** + * Sets the {@link TtsSpan#ARG_NUMERATOR} argument. + * @param numerator The numerator of a fraction; a non-empty string of + * digits with an optional leading + or -. + * @return This instance. + */ + public MeasureBuilder setNumerator(String numerator) { + return setStringArgument(TtsSpan.ARG_NUMERATOR, numerator); + } + + /** + * Convenience method that converts the denominator to a String and set + * it to the value for {@link TtsSpan#ARG_DENOMINATOR}. + * @param denominator The denominator of a fraction. + * @return This instance. + */ + public MeasureBuilder setDenominator(long denominator) { + return setDenominator(String.valueOf(denominator)); + } + + /** + * Sets the {@link TtsSpan#ARG_DENOMINATOR} argument. + * @param denominator The denominator of a fraction; a non-empty string + * of digits with an optional leading + or -. + * @return This instance. + */ + public MeasureBuilder setDenominator(String denominator) { + return setStringArgument(TtsSpan.ARG_DENOMINATOR, denominator); + } + + /** + * Sets the {@link TtsSpan#ARG_UNIT} argument. + * @param unit The unit of the measure. + * @return This instance. + * @see {@link TtsSpan.ARG_UNIT} + */ + public MeasureBuilder setUnit(String unit) { + return setStringArgument(TtsSpan.ARG_UNIT, unit); + } + } + + /** + * A builder for TtsSpans of type {@link TtsSpan #TYPE_TIME}. + */ + public static class TimeBuilder + extends SemioticClassBuilder<TimeBuilder> { + + /** + * Creates a builder for a TtsSpan of type {@link TtsSpan#TYPE_TIME}. + */ + public TimeBuilder() { + super(TtsSpan.TYPE_TIME); + } + + /** + * Creates a builder for a TtsSpan of type {@link TtsSpan#TYPE_TIME} and + * sets the {@link TtsSpan#ARG_HOURS} and {@link TtsSpan#ARG_MINUTES} + * arguments. + */ + public TimeBuilder(int hours, int minutes) { + this(); + setHours(hours); + setMinutes(minutes); + } + + /** + * Sets the {@link TtsSpan#ARG_HOURS} argument. + * @param hours The value to be set for hours. See + * {@link TtsSpan#ARG_HOURS}. + * @return This instance. + * @see {@link TtsSpan#ARG_HOURS} + */ + public TimeBuilder setHours(int hours) { + return setIntArgument(TtsSpan.ARG_HOURS, hours); + } + + /** + * Sets the {@link TtsSpan#ARG_MINUTES} argument. + * @param minutes The value to be set for minutes. See + * {@link TtsSpan#ARG_MINUTES}. + * @return This instance. + * @see {@link TtsSpan#ARG_MINUTES} + */ + public TimeBuilder setMinutes(int minutes) { + return setIntArgument(TtsSpan.ARG_MINUTES, minutes); + } + } + + /** + * A builder for TtsSpans of type {@link TtsSpan #TYPE_DATE}. + */ + public static class DateBuilder + extends SemioticClassBuilder<DateBuilder> { + + /** + * Creates a builder for a TtsSpan of type {@link TtsSpan#TYPE_DATE}. + */ + public DateBuilder() { + super(TtsSpan.TYPE_DATE); + } + + /** + * Creates a builder for a TtsSpan of type {@link TtsSpan#TYPE_TIME} and + * possibly sets the {@link TtsSpan#ARG_WEEKDAY}, + * {@link TtsSpan#ARG_DAY}, {@link TtsSpan#ARG_MONTH} and + * {@link TtsSpan#ARG_YEAR} arguments. Pass null to any argument to + * leave it unset. + */ + public DateBuilder(Integer weekday, + Integer day, + Integer month, + Integer year) { + this(); + if (weekday != null) { + setWeekday(weekday); + } + if (day != null) { + setDay(day); + } + if (month != null) { + setMonth(month); + } + if (year != null) { + setYear(year); + } + } + + /** + * Sets the {@link TtsSpan#ARG_WEEKDAY} argument. + * @param weekday The value to be set for weekday. See + * {@link TtsSpan#ARG_WEEKDAY}. + * @return This instance. + * @see {@link TtsSpan#ARG_WEEKDAY} + */ + public DateBuilder setWeekday(int weekday) { + return setIntArgument(TtsSpan.ARG_WEEKDAY, weekday); + } + + /** + * Sets the {@link TtsSpan#ARG_DAY} argument. + * @param day The value to be set for day. See + * {@link TtsSpan#ARG_DAY}. + * @return This instance. + * @see {@link TtsSpan#ARG_DAY} + */ + public DateBuilder setDay(int day) { + return setIntArgument(TtsSpan.ARG_DAY, day); + } + + /** + * Sets the {@link TtsSpan#ARG_MONTH} argument. + * @param month The value to be set for month. See + * {@link TtsSpan#ARG_MONTH}. + * @return This instance. + * @see {@link TtsSpan#ARG_MONTH} + */ + public DateBuilder setMonth(int month) { + return setIntArgument(TtsSpan.ARG_MONTH, month); + } + + /** + * Sets the {@link TtsSpan#ARG_YEAR} argument. + * @param year The value to be set for year. See + * {@link TtsSpan#ARG_YEAR}. + * @return This instance. + * @see {@link TtsSpan#ARG_YEAR} + */ + public DateBuilder setYear(int year) { + return setIntArgument(TtsSpan.ARG_YEAR, year); + } + } + + /** + * A builder for TtsSpans of type {@link TtsSpan #TYPE_DIGITS}. + */ + public static class DigitsBuilder + extends SemioticClassBuilder<DigitsBuilder> { + + /** + * Creates a builder for a TtsSpan of type + * {@link TtsSpan#TYPE_VERBATIM}. + */ + public DigitsBuilder() { + super(TtsSpan.TYPE_DIGITS); + } + + /** + * Creates a builder for a TtsSpan of type {@link TtsSpan#TYPE_DIGITS} + * and sets the {@link TtsSpan#ARG_DIGITS} argument. + */ + public DigitsBuilder(String digits) { + this(); + setDigits(digits); + } + + /** + * Sets the {@link TtsSpan#ARG_DIGITS} argument. + * @param digits A string of digits. + * @return This instance. + */ + public DigitsBuilder setDigits(String digits) { + return setStringArgument(TtsSpan.ARG_DIGITS, digits); + } + } + + /** + * A builder for TtsSpans of type {@link TtsSpan #TYPE_VERBATIM}. + */ + public static class VerbatimBuilder + extends SemioticClassBuilder<VerbatimBuilder> { + + /** + * Creates a builder for a TtsSpan of type + * {@link TtsSpan#TYPE_VERBATIM}. + */ + public VerbatimBuilder() { + super(TtsSpan.TYPE_VERBATIM); + } + + /** + * Creates a builder for a TtsSpan of type {@link TtsSpan#TYPE_VERBATIM} + * and sets the {@link TtsSpan#ARG_VERBATIM} argument. + */ + public VerbatimBuilder(String verbatim) { + this(); + setVerbatim(verbatim); + } + + /** + * Sets the {@link TtsSpan#ARG_VERBATIM} argument. + * @param verbatim A string of characters that will be read verbatim, + * except whitespace. + * @return This instance. + */ + public VerbatimBuilder setVerbatim(String verbatim) { + return setStringArgument(TtsSpan.ARG_VERBATIM, verbatim); + } + } } |
