As the Arabic language formatter would make number "1,2,3" to Arabic
language word means one,two,three, NumberPicker won't like to show
any thing other than numbers, add local settings to US, make the
number 1,2,3
Change-Id: If2d161ac4133f6c9c6e1ec284d6d2fbf01855fa0
In bad network conditions and where switches often occur between 2G and
3G the timeout of 20s is too short.
Setting this timeout to 60 seconds will improve functionality in bad conditions
while it will not affect functionality in good networks. This change also aligns
the timeouts with the timeouts used by the Browser (Connection.java).
Change-Id: I0fbe3cbfe734f8d55a41bfa5d8ab6b332a19f912
The style used in the composing text for input methods
takes a long time to create. This is experienced as a
lag when composing the first word.
The bottleneck lies in the 10 calls to
nativeIndexOfString which does a linear search through
thousands of strings.
Change-Id: I3184b2be3673d384cca19e9a70ad94b4d3085576
The signatures of the existing buildQuery and buildUnionSubQuery methods include a selectionArgs
parameter that is not actually being used in the method implementations. This parameter leads
to the misconception that SQL paramter substitution is carried out by these methods. I added
new variants of these methods without that parameter and deprecated the old variants.
Change-Id: I1bf770d5c777649e9aac36d93aa93bd65bbcc2a3
When handling large images during an update of a widget,
we can run out of memory in the Binder thread. This will
cause an OutOfMemoryError to be thrown. When an Error is
thrown in the Binder thread, the entire system will crash.
This was fixed by catching this OutOfMemoryError and instead
throw a RuntimeException to keep the system alive.
Change-Id: If27199676c6f8aef23fb249be1197ca5dfe0fe99
Make clear in the Javadoc comments of the `Cursor` get* methods that
implementations thereof can have implementation-defined behavior. In some cases,
these changes actually correct the documentation. For example, in the case of
`getShort` and the `SQLiteCursor` implementation thereof, non-numeric data is
*not* converted to a `short` via Short#valueOf or even in a functionally-
equivalent manner.
Change-Id: Ib2f81811a603680b52fc482eb9c0f3195447566f
Each HTTP request sent from a mobile handset is usually required to
include a x-wap-profile header following the UAProf specification. The
value of this header is a URL that points to the location of a
document which specifies relevant capabilities of the phone, e.g.
supported network bearers, video formats or screen size. This change
defines a global string resource that holds this URL, and also adds
the necessary code in the web widget to include this header in HTTP
requests.
In two places involving locking, reordered the code so that the lock
acquisition is performed outside of the `try` block and everything
else that needs to run while the lock is locked *within* the `try`
block.
Change-Id: I3dad2c4bbf60b219fc6db2aa35e2ed296cb39128
The Javadoc comment for class `android.content.UriMatcher` had four issues:
1. The example calls to `addURI` should not be using a leading forward slash in
the path parameter (reported by Ester Ytterbrink).
2. The sample code to construct a `UriMatcher` was incorrect because the
`UriMatcher` constructor takes a parameter (reported by Ross Light).
3. The code example for using `match` was incorrect because it showed two
parameters being passed, when `match` only takes one (reported by
Ross Light).
4. The sample `getType` implementations were incorrect because `getType` takes
a `Uri` object, not an array of `String`s.
Change-Id: I560bff6f021c13cabf736f40ff0f47a205074291
TabWidget orientation specified in tab_content.xml instead of TabWidget.java.
Generally, the orientation of the TabWidget should be set in xml-files
and not in TabWidget.java. A sub class of TabActivity may call setContentView()
using a custom layout where the TabWidget orientation is vertical.
This is the case in the UI Enablers Bottom Tab feature, for landscape
display orientation.
Change-Id: Ia677441a0af96a8d2ab47ef3298eb440c34924f6
Changed the preference dialog with text input to pan if
the display area is limited. This helps the user to see
the input better.
Change-Id: I12341546f6f82601ac5a2746153255a9b2d49a1c
after setFastScrollEnabled(false)-->setFastScrollEnabled(true)
the overlay shows up at the top-left instead of center
Change-Id: Idd5d4640398def8391f99962bd1838a3bde98157
Fixes Issue 2771
From now on:
disabling a TextView closes the associated on-screen keyboard
selecting a disabled TextView does not open the on-screen keyboard
can't edit contents if the disabled TextView focus is gained by the directional keys
Change-Id: I44e3c0aff2a0ce1e6426818bfe16c1d19c7c18ac
Specifically, corrects and improves the overview and the documentation
for the NotificationManager.notify(String, int, Notification) method
to reflect the fact that the pair (tag, id) is used for notification
matching.
Change-Id: Ic088a56f457285523d90d296853685393b8c3412
The Linux kernel supports reporting "cold" battery health to sysfs.
Android framework has not implemented this and it defaults to "unknown"
This adds handling the cold battery health.
Change-Id: Idcc156aae6aabce73391081143f79d052edf332e
This fixes degrade introduced by:
Switch to using public APIs instead of private ones.
536ff5a6d700a80dbd75adb737ec4b560fbed2dc
Change-Id: I63cbea82d85d55d933bcfc9e7a311d1aa2324955
The ShutdownThread can get suspended while in progress if the
device enters sleep by the user pressing the power-key, or if it is
started (in sleep) from the BatteryService upon a dead battery
notification. If the device is woken up before the battery is
drained, the ShutdownThread will resume and finally complete
the shutdown, but if not the phone will stay in sleep until the
battery level is so low that the power is ruthlessly cut.
Change-Id: If64429fd0c98a9136141942be6c337b5c79cf4f1
It will become long press because CheckForTap is still posted in background.
So remove the callback when lose focus, or it will become long press event.
Change-Id: I4f98a6fc077d256edbe555464095b2b81e75dd41
In this fix, A2DP profile will be connected when pairing with a
previously paired headset. The reason for this error was that the
connection of the A2DP profile was sent before the callback
onCreatePairedDeviceResult was receied in BluetoothEventLoop.java.
By not going to the state BOND_BONDED until after this callback has been
received, the problem is fixed. However the use case is different if the
pairing is initiated by the remote device. In these cases state
BOND_BONDED will be set when onDevicePropertyChanged instead.
Change-Id: I5dedca87d0a6872705ff3a933a99cce6eb37618a
If a call to getPrefs is made after weak reference to content resolver
is gone, a new observer will be created and registered at the
resolver. At registration, the resolver will allocate ObserverEntry
objects that will eventually fill the JNI global reference pool.
There is no need to create and register a new observer if one is already
registered.
Change-Id: If8442b3370299980b73d4ea83757c5eae6a85408
Make sure exception OutOfMemoryError is handled when calling
BitmapFactory.decodeFileDescriptor and BitmapFactory.decodeStream
to avoid crash in the system server.
Change-Id: I954a6388d1225dab86d2617ab0602154b2a7f493
Use Time pick in AlarmClock, long press on + or -, make an
incoming call or press power key to suspend the device,
after resumed, the counter will keep going without press.
Change-Id: I5e69d5e17d3be9aa78648e6f8e28665ec305b36f
Grab the WebViewCore immediately so that if the Tab is destroyed, we have the
old WebViewCore object and can return the BrowserFrame.
Bug: 2733004
Change-Id: Ic3e4c5417f2165f412f60f05aea3ed403d8cecfd
The current framework does not consider surrogate pairs
when getting the index of the character. This bug becomes
visible when creating the text including Emojis. For
example cursor breaks up when it moves around the Emojis.
Our proposed solution will consider the surrogate pairs
when calculating the index. It will fix not only the Emoji
case, but also the letters that use surrogate pairs.
Change-Id: I4983f2e4df933c8af9d5f0cc27df871e8e10fed4