summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/widget/TextClock.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/core/java/android/widget/TextClock.java b/core/java/android/widget/TextClock.java
index 5d7b56979218..bcde3158866a 100644
--- a/core/java/android/widget/TextClock.java
+++ b/core/java/android/widget/TextClock.java
@@ -120,12 +120,16 @@ public class TextClock extends TextView {
private CharSequence mFormat12;
private CharSequence mFormat24;
+ private CharSequence mDescFormat12;
+ private CharSequence mDescFormat24;
@ExportedProperty
private CharSequence mFormat;
@ExportedProperty
private boolean mHasSeconds;
+ private CharSequence mDescFormat;
+
private boolean mAttached;
private Calendar mTime;
@@ -301,6 +305,17 @@ public class TextClock extends TextView {
}
/**
+ * Like setFormat12Hour, but for the content description.
+ * @hide
+ */
+ public void setContentDescriptionFormat12Hour(CharSequence format) {
+ mDescFormat12 = format;
+
+ chooseFormat();
+ onTimeChanged();
+ }
+
+ /**
* Returns the formatting pattern used to display the date and/or time
* in 24-hour mode. The formatting pattern syntax is described in
* {@link DateFormat}.
@@ -348,6 +363,17 @@ public class TextClock extends TextView {
}
/**
+ * Like setFormat24Hour, but for the content description.
+ * @hide
+ */
+ public void setContentDescriptionFormat24Hour(CharSequence format) {
+ mDescFormat24 = format;
+
+ chooseFormat();
+ onTimeChanged();
+ }
+
+ /**
* Sets whether this clock should always track the current user and not the user of the
* current process. This is used for single instance processes like the systemUI who need
* to display time for different users.
@@ -460,8 +486,10 @@ public class TextClock extends TextView {
if (format24Requested) {
mFormat = abc(mFormat24, mFormat12, ld.timeFormat_Hm);
+ mDescFormat = abc(mDescFormat24, mDescFormat12, mFormat);
} else {
mFormat = abc(mFormat12, mFormat24, ld.timeFormat_hm);
+ mDescFormat = abc(mDescFormat12, mDescFormat24, mFormat);
}
boolean hadSeconds = mHasSeconds;
@@ -547,6 +575,7 @@ public class TextClock extends TextView {
private void onTimeChanged() {
mTime.setTimeInMillis(System.currentTimeMillis());
setText(DateFormat.format(mFormat, mTime));
+ setContentDescription(DateFormat.format(mDescFormat, mTime));
}
/** @hide */