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
Natural languages differ so much and in such odd ways that you can't
use getQuantityString as an "if" statement. It's really just for grammaticality.
This is explained well in
http://developer.android.com/guide/topics/resources/string-resource.html#Plurals
but we need to make more of an effort to motivate people to read that, and to
at least get the most important point across if they don't read it.
Change-Id: I549b9f3563462c45f2dea34c558185e0714127cd
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
Currently, audio will resume playing after a phone call
or notification even if the user had manually paused playback.
This patch addresses that by introducing a new player state
to distinguish the user pausing playback and the browser
losing audio focus for some other reason. Audio will only
resume if the browser temporarily lost audio focus and
not when the user has manually paused playback.
Change-Id: I9e8beaedb0fcc5afe920068297ed9c387eab2ac8
Signed-off-by: Roger Chen <cxr514033970@gmail.com>
In /proc/pid/maps the main stack is identified as "[stack]". In Linux 3.4
thread stacks are identified as "[stack:<tid>]" where <tid> is the thread ID of
the thread using that stack. Add support in MemInfo's otherStats to track
memory being used by the stack.
Add sanity check on the length of the otherStats array.
Add detail messages to two null pointer exceptions.
Bug: 8265251
Change-Id: I2b228b147da9bdc5c7a4d825dfc628fcc7923927
Null Pointer Exception occurs because mWebViewCore instance
is made to null while calling destroyJava(). When
1.webview hosting activity goest to background, without calling webview onPause().
2. If app is launched again (having launchmode:singletask ) and another activity (not webview hosting) comes on top top.
3. It destorys the previous activity holding webview which internally tries to cancel the dialog, but webviewcore instance is null.
Null pointer exception is raised.
Change-Id: Idbcd30d0b0d4a35819444bbaa5c73cced8bb35a3
Signed-off-by: Amit Kumar <amitkecian@gmail.com>
To avoid angle calculation changed the logic to use virtual areas.
When try to drag or pan, check where the current touch point locates
and determine how to drag a page.
Change-Id: Id9bd08a69c4ac93ff385c8088e6c16bed5dc5f88
Signed-off-by: kiwon <kiwon98.lee@samsung.com>
The comment for the PHONE pattern says:
"<digit><digit|sdd>+<digit>"
But the actual pattern requires that the string contains
more than that. A phone number should be allowed to be
three digits.
Change-Id: I86d2f3d634cd0c1654dad9814906f151055dc23a
# By Tim Roes
# Via Gerrit Code Review (1) and Tim Roes (1)
* commit '5262a1082663610a888d1145fd9676f7db41d397':
Complete documentation of whereArgs (Issue #43061)
# By Ki-Hwan Lee
# Via Gerrit Code Review (1) and Ki-Hwan Lee (1)
* commit 'fe1f3a1beff9f73f6a04bcc35239038a21bc38ff':
Fix ViewRootImpl to find missing focus using D-pad.
According to ListView's layoutChildren logic, it detaches all children
and rebuilds its children based on visible area which might omit
invisible elements in the adapter.
In this case, arrowScroll methods only tries to find next scroll
candidates from its children so user is unable to scroll more with
D-pad.
This fixes the issue by look forward next child among the adapter as
well as children.
Bug: 7346868
Change-Id: I01ab19ad899b5bcb5ab420ddf08c9ffd136933d1
MediaStore.Audio.getContentUriForPath() returns an uri to
internal storage if anything but /mnt/sdcard/ is sent in.
This fix checks if there is an additional sdcard
(normally called ext_card) or usb mass storage attached to
the device and then returns an uri to the external db.
The extra sdcard name and the usb mass storage name info is read from
the system environment variable SECONDARY_STORAGE so if a customer
chooses to change the name this will work as expected.
Change-Id: Ib78bca929fe382d4770df895149a0132f0e56994
# By László Dávid
# Via Android Git Automerger (1) and others
* commit '3c6ee5b509d6360a431290fff4b366848c293899':
NullPointerException in SQLiteSession
# By László Dávid
# Via Gerrit Code Review (1) and László Dávid (1)
* commit 'd2bec0960d04578182905b34795c6895760944dd':
NullPointerException in SQLiteSession
# By Niklas Brunlid
# Via Android Git Automerger (1) and others
* commit '1e48b386eac8cb1ca9e6e50d73422661691512dc':
Keep native callbacks when primary SQLiteConnection is recreated
# By Roman Mazur
# Via Android Git Automerger (1) and others
* commit '352d84b841e7c81c259f5de576ea127d177b39f8':
Clear loaders array after they are destroyed.
# By Sungmin Choi
# Via Android Git Automerger (1) and others
* commit 'e4ce25177bdf7720c6b3dd5ea7b48f6b03b06469':
add reply.writeNoException() for quick response
# By Niklas Brunlid
# Via Gerrit Code Review (1) and Johan Redestig (1)
* commit '04ce0d253de9ec16f921824409a7b2c13195c19e':
Keep native callbacks when primary SQLiteConnection is recreated
# By Sylvain Becuwe
# Via Gerrit Code Review (1) and You Kim (1)
* commit 'ea56499dc36d863f92857ab7f93e5c4436f9654f':
Potential NPE in SQLiteConnection
# By Roman Mazur
# Via Gerrit Code Review (1) and Roman Mazur (1)
* commit '0d47af1131c4d4f9f29dad790d919d8599e3a3cc':
Clear loaders array after they are destroyed.
By using D-pad, no-focus in non touch mode is rare but legal in a case like below.
1. The first request to get focus for a new activity is handled in the first
performTraversals() call when activity is not ready for a complete view hierarchy.
So there might be no focusable yet.
2. If the activity has some menus, ActionMenuView can be attached to the view hierarchy
in the PhoneWindow.preparePanel() soon.
So there can be focusables but still not focused.
Fixed ViewRootImpl.deliverKeyEventPostIme() to handle this case to resurrect a focus
if there are focusables.
How to reproduce:
(1) Open "API Demos" application -> Views -> Search View
(2) Select "Action Bar" item using the D-pad
(3) Try to focus the Search View, using the D-pad.
Change-Id: Ic379774f0307f168f0ed775d0f6a9078ac5c9713