When returning a StaticLayout.Builder object to the pool, it is
important to clear everything out. If not, then the object may have
stale state from a previous layout operation. This was causing CTS
test failures and probably other mischief.
Bug: 20636917
Change-Id: I76fb20076ee954fcb476131a8fbe8833d72fbc0d
The auxiliary subtypes should be listed if the input method picker is
opened from NavBar keyboard icon. However there is only
IMM#showInputMethodPicker() API to open input method picker and this is
also used from LockScreen or Settings UI. Auxiliary subtypes should not
be listed there(Id7cf5d122). Thus framework shows auxiliary subtypes
based on IMMS#mInputShown and LockScreen state, but it is not a perfect
solution. If a physical keyboard is connected, the soft input may be
gone. As the result, auxiliary subtypes won't be listed even if it is
opened from NavBar keyboard icon.
To fix this issue, this CL introduces IMM#showInputMethodPicker(boolean)
to be able to decide showing auxiliary subtypes by caller.
Note that IMM#showInputMethodPicker(boolean) is still hidden with @hide.
There is no public API change in this CL.
Bug: 20763994
Change-Id: I1e50ee42838a1bf64a612da4904aa93458d44ea4
Allow a calling app to supply an array of additional Intents to the
system ChooserActivity.
The chooser will present a merged list of targets that can handle any
of the Intents supplied, including both the standard EXTRA_INTENT as
well as any of the intents supplied in EXTRA_ALTERNATE_INTENTS. These are
treated as ordered; EXTRA_INTENT is considered the first/primary
Intent and EXTRA_ALTERNATE_INTENTS are sorted most important first.
Targets are queried for all supplied Intents. If the same component is
returned for more than one Intent, the target is associated with the
most important Intent that matched.
This allows calling apps to supply several different payloads for an
action depending on what the intended targets are able to support. For
example, an app performing ACTION_SEND may supply image/jpeg data to
compatible targets or a hosted web link to targets that only support
text/plain. The user will have the opportunity to pick from a single
merged list of choices using the best available payload, and will not
be bothered with the implementation details of how the payload will be
delivered to the recipient.
If the calling app wishes to provide further disambiguation or
refinement after the user makes a choice, for example to let the user
choose which of the source intents to send from the primary or
alternates, show a progress dialog as a full-resolution version of a
photo is downloaded from the server before being sent along or while
reticulating splines, the caller can supply an IntentSender to
ACTION_CHOOSER including the extra EXTRA_REFINEMENT_INTENT_SENDER.
This should be the IntentSender obtained from a PendingIntent pointing
at an activity to launch to perform the refinement.
The refinement activity should report that it is finished by obtaining
the ResultReceiver from EXTRA_RESULT_RECEIVER. Available intents to
send to the selected target will be contained in EXTRA_INTENT and
EXTRA_ALTERNATE_INTENTS.
To complete the refinement and send the result along to the chosen
target, the refinement activity should select one of the supplied
intents and send it to the ResultReceiver in a Bundle with the key
EXTRA_INTENT and the result code RESULT_OK. To cancel the refinement,
and let the user select another choice, send RESULT_CANCEL.
While refinement activities cannot modify the filterEquals-affecting
fields of the Intent they return, they may modify extras to provide
additional or altered details to the final recipient. These extras
will be filled into the Intent sent to the final target.
Change-Id: I7ad4739eadd1a0e307675847ccf47ea948918a3a
BUG: 20185340
Add ContentObserver to be notified when device provisioned
system setting bit is flipped. Stash all messages that come
along before then, similar to how we were doing it for
onBootCompleted, and fire them off when ready.
Change-Id: Ied9fe2262b2a96ea3316b6dd7c57e23628e19581
This propagates the concept that 0 is an invalid crypto operation
handle to the outside of AndroidKeyStore abstraction.
Bug: 20864436
Change-Id: I1e5abb66c5d41d8fc32aac44372495a708c2b6e2
Also updates default fade duration for scrollbars to match Material
spec and moves around some padding in AlertDialog so that scrolling
text and list items aren't so close to the title.
Bug: 19098033
Change-Id: I40dca6a931480c4c48463e3ea5b8361534cbd8d7
Implement JNI for AudioTrack and AudioRecord routing
callbacks:
- Added files core/jni/android_media_DeviceCallback.cpp/.h
for JNI callback implementation used by both AudioTrack
and AudioRecord.
- Made AudioManager AudioPort and AudioPatch methods static
in order to call them without context.
Also added IO handle information to AudioMixPort.
Change-Id: Icee182aa68310d4b12fd1469f48e78110889acf1
We are passing the wrong parameters for setting hotspot bounds.
Bottom and right are in the wrong order, correct it.
Change-Id: I2762fc3a4c29f05ba8b7e71a5c6cad0be16c2ae0
Including a fromProfile in addition to the requestedProfile.
- Changed VideoCallImpl to generate the fromVideoProfile based on the
call's current videoState. This ensures the InCall UI only needs to
pass in the new video profile; the VideoCall Impl already has enough
knowledge to generate the fromProfile.
- Changed VideoCallImpl to track the current videoQuality, which forms
a part of the fromVideoProfile.
Bug: 20704229
Change-Id: I89f293f03a2b13fc8c1dcfd8a07ab8640d3950e0
- Ignore events that are marked as availability=free for consideration
as DND trigger events. All-day events are conventionally marked
as free by default.
Bug: 20064962
Change-Id: Ie26c81a6b79bdd86444092886f9bc123470575a7
Rename the DevicePolicyManager functions setKeyguardEnabledState and
setStatusBarEnabledState to setKeyguardDisabled and
setStatusBarDisabled respectively.
Bug: 20820039
Change-Id: I06f6a19ac55b24e66e9f2cb340ead5d940cb2235