* commit '75c664582c5ce5d94826f37cb725b447a4d62c50':
Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change since file was renamed, making cherry-pick impossible.
* commit '8325c3a89197e47cfc2eeb4117c927fb8cb91630':
Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change since file was renamed, making cherry-pick impossible.
To avoid blowing past the Binder IPC limit, change the
PackageManagerService to have a DB-like interaction where the client
tells the service the last "row" that it read.
The fact that we use a HashMap instead of a TreeMap makes this
problematic. For now we're just making a new ArrayList for the keys and
then sorting them for each call. This can make the API slower for callers
of this, but it's probably greatly overshadowed by the cost of the data
transfer itself.
Bug: 4064282
Change-Id: Ic370fd148d4c3813ae4f2daffa1a7c28d63d5a09
Sometimes the virtual keyboard was not hidden when switching between
applications. An example of this was when launching the browser from
the Google Search widget:
1) Tap the Google Search widget and enter some text, e.g. "google"
2) Select one search items, e.g. "google maps"
3) Browser opens. Press back button.
4) Select an item again, e.g. "google maps" - Keyboard does not
close.
When switching application, the virtual keyboard needs to find a new
Z position (window index) among the other windows. Normally it is
placed on top of the first window that is visible and can get focus
(canBeImeTarget()).
With a new application being launched, there is
an exception: a special "starting window" is placed on top of the
Activity window while the application is starting up. Since this
window should not get input, we need to look below that window.
When doing this, the previous implementation assumed that the
first window below always was focusable. If it wasn't, the
input method was placed above the "starting window", which
caused confusion that led to the keyboard not being closed
automatically.
In the case of the Browser, it sometimes has a "fake TitleBar"
window that can not get focus and that is placed above the
Activity window.
With this fix, we now keep looking through the windows below
the "starting window" until we find a window that can receive
input.
Change-Id: I1117846eb0f57603e64329bd955e28182f98f226
Add support for encoding and decoding SMS 7 bit user data using the
national language shift tables defined in 3GPP TS 23.038 (GSM/UMTS only),
including the new tables added in Release 9 for Indic languages.
Decoding is always supported, but encoding is only enabled for the
specific language tables added to the new integer array resources
"config_sms_enabled_single_shift_tables" and
"config_sms_enabled_locking_shift_tables" defined in
frameworks/base/core/res/res/values/config.xml. The default empty arrays
should be overridden in an OEM overlay for the specific nationalities where
SMS national language shift table encoding is allowed/mandated (e.g. Turkey).
GsmAlphabet.countGsmSeptets() will try to find the most efficient encoding
among all combinations of enabled locking shift and single shift tables.
If no 7 bit encoding is possible, 16 bit UCS-2 encoding will be used.
This change also fixes a bug in the decoder: when an escape septet
is followed by a septet with no entry in the extension (single shift)
table, TS 23.038 Table 6.2.1.1 states that the MS shall display
the character in the main GSM 7 bit default alphabet table, or the
active national language locking shift table. Previously, we were
decoding this sequence as a space character. Two consecutive escape
septets will continue to decode as a space character, according to
Note 1 of table 6.2.1.1.
Change-Id: I4dab3f0ffe39f3df2064ed93c9c05f26e274d18b
A race condition when mounting a container in PackageHelper may cause
the system_server to crash (uncaught exception). Calling methods are
prepared to handle null, so return null instead.
Change-Id: I852ee21a2d847e37d81c1b900c27ddf94ef24fcb
When user uncheck "Data Enabled" check box, WiMAX goes
into "disconnected" state.
Change-Id: I3b9bdbc16cc4ddbf7a1aac0c984cad8994c4e9f2
Signed-off-by: TK MUN <tk.mun@samsung.com>
Handle the case where the kernel driver is in accessory mode but we failed
to initialize it at the framework level. On disconnnect, check to see if the
accessory kernel driver is enabled rather than checking mCurrentAccessory.
That way we will restore the USB state in the kernel even if mCurrentAccessory
is null.
Change-Id: I2c4f6edb34aae2064f4b62ec0461d1fdd8770541
Signed-off-by: Mike Lockwood <lockwood@android.com>
Handle the case where the kernel driver is in accessory mode but we failed
to initialize it at the framework level. On disconnnect, check to see if the
accessory kernel driver is enabled rather than checking mCurrentAccessory.
That way we will restore the USB state in the kernel even if mCurrentAccessory
is null.
Change-Id: I35d458f21a8b21611946da523d0f53723cab0540
Signed-off-by: Mike Lockwood <lockwood@android.com>
If original refuses to tear down, tear down new one. It's better
to have none (which will try to launch them all again) than two.
Really people shouldn't refuse the teardown request.
bug:4183397
Change-Id: I54ea1bf0d2cd2ef16fcf2eafc69895ad2fe33ffd
As a work around for the issue of picking
the wrong interface, add a check for selecting
an upstream interface that has a valid IP configuration
Bug: 3362306
Change-Id: I3e8ab5ef30b69f1adab755d83f5b65c078f73936
Two issues.
1) remove default routes for non-default networks.
2) don't report mobile is the active default network just because
it is active.
bug:4157610
Change-Id: I9e7c94718a5b1f08840b219b304ba3904259a65f