Introduce new methods and classes for the audio recording
configuration update and query API.
Callback registration supports a Handler.
Bug 22876530
Change-Id: I819ad464f095d970b5d1d8a3781fcf8dbb310424
During the initial attempt to support automatic language switching in
LatinIME, it turns out that the current EditorInfo#locales is difficult
to use and even confusing in some situations. Based on that
experience, this CL changes as follows:
* Rename EditorInfo#locales to EditorInfo#hintLocales:
This is mainly to avoid possible confusion when to set this. We want
to make it clear that having non-empty LocaleList there is a clear
signal that the user would switch to certain languages regardless of
the currently selected input method subtype.
* Make EditorInfo#hintLocales nullable:
Previously marshaling EditorInfor causes NPE when
EditorInfo#hintLocales is null. This CL relaxes such a restriction.
* Introduce TextView#{set, get}ImeHintLocales():
In the previous implementation [1], we just copied
TextView#getTextLocales() into EditorInfo. This is, however, does not
work well because it is no more or less than the default value. If
LatinIME supports automatic language switching, having the default
value in EditorInfo actually means that whenever you focus in a new
text field, the keyboard language is reset to the default locale.
In order to make this "hint" useful for IME developers, this "hint"
should be specified only when the application developers are confident
to do so.
[1]: I738ffaaf07091d8b980f8bfc6e16227fcb85a96a
0445fdf321e74044dc9f3719922fc8ff4923fdf4
Bug: 22859862
Change-Id: I0a730011874ea8d01e50624ed3f1ecd197d05f94
Allow launchers to read ApplicationInfo from LauncherApps
to support suspended flag.
Provide callback to launchers via LauncherApps for suspend
/unsuspend broadcasts.
Change-Id: I772a121c45f60f926e8343bb6f181bef4e8929d3
Send a protected broadcast to registered receivers only
when packages get suspended.
Bug: 22776761
Change-Id: I043053ed45bdc202ead18518a0c1e39cce47947c
By default we assume downgrade to audio is permitted; this capability
probides a means for a carrier to specifically deny that.
Bug: 22728624
Change-Id: I75e0a5b9e5ad2d970003a4691b6fc0ac0dcfe9e0
When an application is no longer interested in
communicating with a tag, but the tag is kept in
range of the device for a long amount of time, we
will burn a lot of power keeping the connection
to it alive.
Instead, allow the app to signal it's "done" with
the tag, which allows us to put the controller
in a low-power mode. This will save power in scenarios
such as an NFC tag embedded in a car dock or
wireless charging dock.
Bug: 26426491
Change-Id: I7a0149ede46e0c7610b06ed1776344b772677350
New API for an app to request creating a new user with
a given user name and seed account information for the
SetupWizard to use when that user is switched into.
Also adds system APIs to read the seed account data from
UserManager.
Bug: 22776757
Change-Id: I0bc3f11ee19c15e0ee2a908c88d98b13296cc30d
Adding AudioRouting (Java) interface for routing control
in AudioTrack and AudioRecord.
Deprecating current (Marshmallow) Routing APIs in
AudioTrack and AudioRecord.
Adding package-private constructors to AudioTrack and AudioRecord
to connect to native player/recorder.
Bug: 23899814
Change-Id: I7df7a687fbd56a34c1f5769ffe005eba2a059505
CarrierConfigManager is not meant to have hidden keys, but some were
needed after API 23 freeze. So add them to API 24.
Change-Id: Ibf25cd3c779bf90ccf1b113445b823707bfb918e
This is a straightforward upgrading of LocaleSpan.
LocaleSpan was designed to be a mechanism to override text locale only
in a certain substring. Since now text locale supports multiple locales
with LocaleList, it should make sense to let LocaleSpan have the ability
to have multiple locales with LocaleList.
This CL also addresses an existing issue that LocaleSpan maintained only
Language/Country/Variant tags. Now Locale data associated with a
LocaleSpan is guaranteed to be preserved as long as each of them can be
created from a BCP 47 language tag with Locale#forLanguageTag(String).
Bug: 26567158
Change-Id: Ib754796d399cd00f9d02005df88874a5cd5c7642
Introduce a new intent action that triggers setting of the challenge of
the parent user. The existing intent action is repurposed to always
trigger setting the challenge of the calling user.
Change-Id: Ia7afe268b2de95537bed5bbb57163fd23bb55b6a
This is a series of CLs to promote Java Locale object as a primary data
object to represent locale information in Android APIs.
With this CL, developers can get Locale information from SuggestionSpan
without semantically losing the original data. Possible use cases would
be:
- Emoji subtag (CLDR Ticket #9063)
- Stable and reliable 3-letter country codes handling
- Custom attributes based on private extensions.
Note that this CL does not change the current behavior of
SuggestionSpan#getLocale() as is, even if it is created with a malformed
Locale object:
new SuggestionSpan(new Locale(" a ", " b c ", " e"), new String[0], 0)
.getLocale() -> " a b c e".
Bug: 22858221
Change-Id: I96dfd4f819a236ee2e6dbd3e12903d1214223cb0
This CL introduces a API variant of IC#deleteSurroundingText(), named
IC#deleteSurroundingTextInCodePoints(). Major differences from
the existing one are:
- The lengths are supplied in code points rather than code units.
- This API does nothing if there are one or more invalid surrogate
pairs in the requested range. (Failure Atomicity)
Note that due to the asynchronous nature of the input method
architecture in Android, implementing the same logic in the input method
side basically ends up with unreliable and unpredictable results.
Bug: 6526420
Change-Id: I7f6a2c5d3d52079ae71623fd5e40d60c688dd5fb
long.
To represents full range of 32-bit unsigned integer, we should use
jlong instead of jint.
BUG=26284424
Change-Id: Id3fa9e3daa778c204ab8e38f821d454c709c317a