Commit Graph

548 Commits

Author SHA1 Message Date
Elliott Hughes
fbf37c79bd Remove dead DateUtils code that was never in an API level.
Also rewrite @deprecated comments to use an initial capital so they
look right in the generated documentation.

Also improve formatIpAddress documentation.

Change-Id: I317ebe411ef76e16a4535318ce73e00b63af38da
2013-03-26 15:11:28 -07:00
Elliott Hughes
9a6fa1d637 Remove dead code from DateUtils.
This stuff is @hide, @deprecated, unused, and was never in any API level.

Change-Id: I87d132d77d7296a2de8527e05c2def362cab1c37
2013-03-19 11:36:12 -07:00
Elliott Hughes
cdafd37f31 Clean up (some of) our many clocks to use H instead of k.
Bug: 8359981
Change-Id: I3c0c38c2bf5adc4b5bdc11c3d10cf41dd8fb6462
2013-03-18 17:21:33 -07:00
Elliott Hughes
fc55c2ba49 Deliberately break DateFormat.format's formatting of 'k' for compatibility.
Bug: 8359981
Change-Id: I44ed816c644f94783c77952d544c5444b966868b
2013-03-18 14:59:59 -07:00
Elliott Hughes
7a89f62877 Fix DateFormat k and h, and implement K and H for the first time.
Bug: 8359981
Change-Id: I52ef937a77e9e28f2719c2ee6f59e4b74514f0b2
2013-03-11 14:49:44 -07:00
Sungmin Choi
9a2ada418b use Calendar in DateUtils format method
The DatePickerDialog is using DateUtils to format the dialog's title
and the DateUtils class does not work with dates outside to the
specified range.
For example, if user selects 2038-03-07, DatePickerDialog shows
1902-01-30 on Title.
The reason for the DateUtils class not being able to format dates
outside the range of 1902 and 2036 is because internally it is using
the Time class which does not support such dates.
To fix it, use Calendar class in DataUilts format method.

Steps to reproduce:
1. Settings -> Date & time
2. uncheck Automatic date & time
3. Set Date
4. choose any date before 1902 or after 2037
5. update wrong date on Title

Bug: https://code.google.com/p/android/issues/detail?id=13050
Change-Id: I003266765751b5c340426af84daef271f39f771e
2013-03-11 11:24:02 -07:00
Elliott Hughes
8326b9a429 Improve DateFormat.format.
Add support for the 'c' format character, required in many non-English locales.
Reimplement 'c' and 'E', and 'L' and 'M', so they correctly interpret 5-count
pattern characters.

Replace the old incorrect class documentation with a pointer to the
well-maintained libcore equivalent and the Unicode UTS to which these two
implementations are supposed to conform.

Deprecate the useless constants for pattern characters. No one sane is going
to write MONTH + MONTH + MONTH + MONTH instead of "MMMM".

Correct the documentation for getLongDateFormat and getMediumDateFormat.

Also fix DateUtils.getStandaloneMonthString for LENGTH_SHORTEST.

Tests are in https://android-review.googlesource.com/53291.

Change-Id: I4dda8b18070f05ccdc11c1f0a9381a9d233db4e8
2013-03-08 15:06:14 -08:00
Elliott Hughes
5acc6e5214 Use getRelativeDayString in getRelativeTimeSpanString.
The bug we're fixing here is that languages that don't
distinguish the "one" case grammatically (such as Japanese)
would say the equivalent of "In 1 day" rather than "Tomorrow"
because of the misuse of getQuantityString.

This has the side-effect of switching us over to the CLDR
strings for relative day names, which have consistent capitalization;
the Android donottranslate-cldr.xml strings varied even within
a language, so although this is a change, it seems like a step
in the right direction.

In a future change, we should actually push all relative
day formatting down into icu4c.

Bug: 7098707
Change-Id: Ia2f9af3d18c441d6093dd5da7956a3d0130e5b06
2013-03-07 16:46:55 -08:00
Elliott Hughes
fc91d73067 am cbfece82: Merge "Switch over to getting 12-/24-hour time formats from CLDR via icu4c."
* commit 'cbfece8237cb9cf62547e75ab9572ccbf682369a':
  Switch over to getting 12-/24-hour time formats from CLDR via icu4c.
2013-01-14 19:23:48 -08:00
Elliott Hughes
4caba61ea0 Switch over to getting 12-/24-hour time formats from CLDR via icu4c.
I removed the duplication in DateTimeView rather than fix that copy
of the code.

Bug: 7924970
Change-Id: I60c205d06ad3b50fd2f5d5fc432e4eb186f9c0e7
2013-01-14 15:48:27 -08:00
Elliott Hughes
6647f1bd2b am c749261f: Merge "Fix DateUtils.formatElapsedTime."
* commit 'c749261fea1010dfa2d1337bd210c81d13052540':
  Fix DateUtils.formatElapsedTime.
2012-12-15 14:58:01 -08:00
Elliott Hughes
2eda18485c Fix DateUtils.formatElapsedTime.
More reuse of StringBuilders, less broken home-grown formatting code.

Long-term, we should hand this over to icu4c, but they're not ready yet.

Bug: http://code.google.com/p/android/issues/detail?id=41401
Bug: 7736688
Change-Id: Ib3c1e1aad05827df646aa18645cce19dffb7551f
2012-12-14 14:29:47 -08:00
Jeff Sharkey
9f43afad9d am 68363456: am 7420ab68: Merge "Utility to format human-friendly durations." into jb-mr1.1-dev
* commit '68363456c1f360c0f1afe637a1f3028519e059ed':
  Utility to format human-friendly durations.
2012-11-15 11:54:43 -08:00
Jeff Sharkey
68363456c1 am 7420ab68: Merge "Utility to format human-friendly durations." into jb-mr1.1-dev
* commit '7420ab681eaad22f4b8f884e12d3b2ce82cd203a':
  Utility to format human-friendly durations.
2012-11-15 11:51:38 -08:00
Jeff Sharkey
53f6e8a9b9 Utility to format human-friendly durations.
Bug: 6777872
Change-Id: Ie7ebcb456306f4f88b4707030dd7beda3fc90368
2012-11-13 17:26:39 -08:00
Romain Guy
aabe4bb477 am 9c0010f8: am 998d03bd: Merge "A new clock widget to create lock screen appwidgets" into jb-mr1-dev
* commit '9c0010f856d623845b20a7dd13c024023626623c':
  A new clock widget to create lock screen appwidgets
2012-11-01 11:28:13 -07:00
Romain Guy
9c0010f856 am 998d03bd: Merge "A new clock widget to create lock screen appwidgets" into jb-mr1-dev
* commit '998d03bd943053741bab17a8ef0abb355f6bc3ae':
  A new clock widget to create lock screen appwidgets
2012-11-01 11:26:10 -07:00
Romain Guy
3d1728c03a A new clock widget to create lock screen appwidgets
This new widget replaces DigitalClock. It listens to all the correct
system events and offer the ability to customize the formatting
patterns in 12-hour and 24-hour modes. It also supports fixed
time zones to create world clocks.

One more step towards becoming ClockOS!

Change-Id: I677e5dfca8cd8c8d1f8c49e54d7507f4d1885bf4
2012-10-31 20:31:58 -07:00
Raph Levien
fdf263971b am 9defd066: am 74437532: Merge "Fix for bug: Gmail (and other places): cursor placed on top of letter" into jb-mr1-dev
* commit '9defd0663e2b6a486f5bc72621bbbd4dfab666fb':
  Fix for bug: Gmail (and other places): cursor placed on top of letter
2012-10-22 16:01:39 -07:00
Raph Levien
9defd0663e am 74437532: Merge "Fix for bug: Gmail (and other places): cursor placed on top of letter" into jb-mr1-dev
* commit '74437532fe2a3e9ebd15c61327fd3f2b68c299b3':
  Fix for bug: Gmail (and other places): cursor placed on top of letter
2012-10-22 15:59:22 -07:00
Raph Levien
42ef515d18 Fix for bug: Gmail (and other places): cursor placed on top of letter
This patch fixes bug 7346656. In this particular case, the text line in
the EditText was split into multiple spans, with the boundary between
the "r" and "," in "r,". These were being drawn as two separate runs,
but measured as a single run, leading to inconsistent measurements
because this is a kern pair in Roboto.

The fix is to eliminate the special-case code for measuring. This will
actually improve efficiency, as the value computed in one pass is now
more likely to be reused in another.

Change-Id: I04142a0ec98f280fc1027c7cbdbf903e3096f8e4
2012-10-22 15:01:17 -07:00
Raph Levien
e9d419f524 am 6594eca0: am 9704b563: Merge "Fix for 7301594 Html.toHtml creating potentially invalid html" into jb-mr1-dev
* commit '6594eca0a9d9e9e0b429f950a673fa1820d43813':
  Fix for 7301594 Html.toHtml creating potentially invalid html
2012-10-08 12:46:03 -07:00
Raph Levien
6594eca0a9 am 9704b563: Merge "Fix for 7301594 Html.toHtml creating potentially invalid html" into jb-mr1-dev
* commit '9704b563d63d8b5fe8e568dfb7190f8440b56698':
  Fix for 7301594 Html.toHtml creating potentially invalid html
2012-10-08 12:43:12 -07:00
Raph Levien
286da7b6f5 Fix for 7301594 Html.toHtml creating potentially invalid html
Generate <p dir="rtl"> instead of <p dir=rtl>. The form with the quotes
is cleaner and will reduce warnings in apps that consume the output.

Change-Id: Ic9879c8c882c42079598b741e897a24415d96374
2012-10-07 16:57:27 -07:00
Fabrice Di Meglio
b4a80baaff am 5e5169b0: am 33c36895: Merge "Fix bug #7282594 EditText does not allow to move the cursor when typing RTL text and if gravity is set to LEFT" into jb-mr1-dev
* commit '5e5169b0d0d51e042a79ca32d2825fc5f4a25531':
  Fix bug #7282594 EditText does not allow to move the cursor when typing RTL text and if gravity is set to LEFT
2012-10-03 17:48:09 -07:00
Fabrice Di Meglio
5e5169b0d0 am 33c36895: Merge "Fix bug #7282594 EditText does not allow to move the cursor when typing RTL text and if gravity is set to LEFT" into jb-mr1-dev
* commit '33c36895a294c7b731fd59017a7ea0f06ac2a356':
  Fix bug #7282594 EditText does not allow to move the cursor when typing RTL text and if gravity is set to LEFT
2012-10-03 17:45:16 -07:00
Fabrice Di Meglio
db24f0a73f Fix bug #7282594 EditText does not allow to move the cursor when typing RTL text and if gravity is set to LEFT
- fold LEFT/RIGHT into NORMAL/OPPOSITE cases

Change-Id: Idf14342ffed4840e7b4ea53cc42f1cde8f196a4c
2012-10-03 17:17:14 -07:00
Elliott Hughes
3a8b3a85e1 am 3d5be42e: Merge changes I87c2ab9e,I2dafcc34,I731c96c2 into jb-mr1-dev
* commit '3d5be42eaa35914d9b37fe052fa7222dc1992dc0':
  Fix formatDateRange month names for Farsi.
  Use localized digits for Time formatting.
  Use proper digits in formatElapsedTime and format3339
2012-09-20 12:50:52 -07:00
Elliott Hughes
3d5be42eaa Merge changes I87c2ab9e,I2dafcc34,I731c96c2 into jb-mr1-dev
* changes:
  Fix formatDateRange month names for Farsi.
  Use localized digits for Time formatting.
  Use proper digits in formatElapsedTime and format3339
2012-09-20 10:05:44 -07:00
Elliott Hughes
9ccf13cd6b Fix formatDateRange month names for Farsi.
This removes the LLLs seen in Calendar and Settings, for example.

Bug: 6811327
Change-Id: I87c2ab9ee8d897171ce7ca4fe06cfa8b11d36536
2012-09-18 16:40:20 -07:00
Elliott Hughes
6323b6c617 Use localized digits for Time formatting.
This fixes the digits in places like Settings' data usage page
and Calendar's drop-down, for languages such as Arabic.

Bug: 6811327
Change-Id: I2dafcc342e3279937735697b3748b47fdfc8e691
2012-09-18 15:16:00 -07:00
Fabrice Di Meglio
8bf1cb378b am 20586fa0: Merge "Fix bug #7173351 API REVIEW: android.util.LocaleUtil" into jb-mr1-dev
* commit '20586fa0353f63453766140b32a4778793ce2b43':
  Fix bug #7173351 API REVIEW: android.util.LocaleUtil
2012-09-18 15:00:14 -07:00
Fabrice Di Meglio
20586fa035 Merge "Fix bug #7173351 API REVIEW: android.util.LocaleUtil" into jb-mr1-dev 2012-09-18 14:48:48 -07:00
Roozbeh Pournader
315a7c0335 Use proper digits in formatElapsedTime and format3339
Use getZeroDigit() instead of a hard-coded '0' for formatting times using
formatElapsedTime, so locales with different digits like Arabic and Persian
could display the elapsed time properly. This is visible in Settings' list
of running apps.

Also changed android.text.format.Time's format3339 method to always use ASCII
digits, irrespective of the locale.

Change-Id: I731c96c21b3712ec347d9526e4ec3fe884dec276
2012-09-18 14:11:55 -07:00
Fabrice Di Meglio
d3d9f3f100 Fix bug #7173351 API REVIEW: android.util.LocaleUtil
Change-Id: I08fd491eff714059e9ec874fadebe7eb556c34d5
2012-09-18 12:55:32 -07:00
Elliott Hughes
e09e3a1a0d am 7134ef60: Merge "Fix date formatting for fa locales." into jb-mr1-dev
* commit '7134ef60b7ebe81b37dffdd65f22a9aae80e3d14':
  Fix date formatting for fa locales.
2012-09-17 14:48:49 -07:00
Elliott Hughes
34de3bc309 Fix date formatting for fa locales.
This adds support for standalone months (L versus M) and localized
digits.

Bug: 6811327
Change-Id: I4687a4c67605c31b155c0b8d44b3da6ed378fc82
2012-09-17 11:17:10 -07:00
Elliott Hughes
1a698714b9 am c3ff72f5: Use icu4c for CLDR "yesterday", "today", and "tomorrow" strings.
* commit 'c3ff72f5bd5896ad2584e0cc0582cbd2ad8191f2':
  Use icu4c for CLDR "yesterday", "today", and "tomorrow" strings.
2012-09-15 16:12:09 -07:00
Elliott Hughes
5f09b9f52d am 08153ee0: Switch DateUtils and Time over to using the CLDR for all week and month names.
* commit '08153ee01e6aa67061f628bc3fed66c6400dfd1c':
  Switch DateUtils and Time over to using the CLDR for all week and month names.
2012-09-15 16:12:06 -07:00
Elliott Hughes
ee783e6075 am 23321b88: Merge "Use ICU\'s CLDR data for "AM" and "PM" strings." into jb-mr1-dev
* commit '23321b88578a4b4438e7563ff7616b98a1c1a520':
  Use ICU's CLDR data for "AM" and "PM" strings.
2012-09-15 16:12:02 -07:00
Elliott Hughes
c3ff72f5bd Use icu4c for CLDR "yesterday", "today", and "tomorrow" strings.
(cherry-pick of 47a0539ecaf7d7a15008704bd89f748aebf85d47.)

Conflicts:

	core/res/res/values/public.xml

Bug: 6811501
Change-Id: Ifb2e030a9fda85a7f664feac812b63e67780e68f
2012-09-14 20:22:17 -07:00
Elliott Hughes
08153ee01e Switch DateUtils and Time over to using the CLDR for all week and month names.
(cherry-pick of 99c406e42ba154584070ca7ec100e8be7ff8a800.)

Conflicts:

	core/res/res/values-fa/donottranslate-cldr.xml
	core/res/res/values/public.xml

Bug: 6811501
Change-Id: I2ad9608ae34804e02c6b0271197e96611df12b0a
2012-09-14 20:22:17 -07:00
Elliott Hughes
4af85345e7 Use ICU's CLDR data for "AM" and "PM" strings.
This brings DateUtils and Time in sync with bionic, icu, WebKit,
DateFormatSymbols, Formatter, and SimpleDateFormat. And specifically
means that DateUtils now knows how to say "AM" and "PM" in Japanese.

Bug: 6719054

(cherry-pick of b12b61a88a029730b1f2b006ff914c9c719f3942.)

Conflicts:

	core/res/res/values/public.xml

Change-Id: Ic1a811621a0ec338abd77458ac2046577f87c1e4
2012-09-14 17:10:00 -07:00
Elliott Hughes
f49a31626b am 9ceede6d: am 086676a4: am f5437ee8: am 297ad257: Merge "Deprecate those parts of DateUtils the documentation says not to use."
* commit '9ceede6d7e250922e63b0d2c90403089f8736e0c':
  Deprecate those parts of DateUtils the documentation says not to use.
2012-09-14 16:41:11 -07:00
Elliott Hughes
9ceede6d7e am 086676a4: am f5437ee8: am 297ad257: Merge "Deprecate those parts of DateUtils the documentation says not to use."
* commit '086676a4a669b5d3a90c01e4d88ab8d628ca65f0':
  Deprecate those parts of DateUtils the documentation says not to use.
2012-09-14 16:39:12 -07:00
Elliott Hughes
f5437ee86a am 297ad257: Merge "Deprecate those parts of DateUtils the documentation says not to use."
* commit '297ad257464d2ea65cabd45ddb19f6da34b39157':
  Deprecate those parts of DateUtils the documentation says not to use.
2012-09-14 16:34:41 -07:00
Elliott Hughes
d3c01012d8 Deprecate those parts of DateUtils the documentation says not to use.
Applications using these fields and methods are just asking for i18n bugs.

Also @deprecate two int[]s that were never meant to be public.

Change-Id: I29b3a1c0c663fe344d2567df6ed3bb537270b3b7
2012-09-14 16:06:50 -07:00
Elliott Hughes
5ef49427b6 Fix Time.parse and Time.parse3339 crashing bugs. DO NOT MERGE
Two reported by users, the other spotted by inspection.

Bug: http://code.google.com/p/android/issues/detail?id=16002
Bug: http://code.google.com/p/android/issues/detail?id=22225
Change-Id: I86fe022fda4af68e5a6fb9dc5dd2abdb75e9d966

This was committed to master, cherry-picking to jb-mr1-dev
2012-09-07 12:42:18 -07:00
Dianne Hackborn
e45ca31a61 am aae49432: am 4763989d: am 32d1fec5: Merge "Fixes relative time formatting issue for dates in future"
* commit 'aae4943297a08a659add964a3fef96bdfa0b2c14':
  Fixes relative time formatting issue for dates in future
2012-08-27 13:10:58 -07:00
Dianne Hackborn
aae4943297 am 4763989d: am 32d1fec5: Merge "Fixes relative time formatting issue for dates in future"
* commit '4763989d95342c25e9b857dc9ee21eb5ebac31d6':
  Fixes relative time formatting issue for dates in future
2012-08-27 12:33:57 -07:00