Being on SD card and being forward-locked are package-wide flags that
shouldn't depend on an APK having an <application> stanza.
Bug: 6563724
Change-Id: If5f2159cd8e3fa136f959b656d82b05ea6bdfae5
AudioService is currently notified of wired headset and A2DP
sink connection states via broadcast intents from WiredAccessoryObserver
and BluetoothA2dpService. This is a problem as there is no guaranty that
AudioService can take actions upon the change before other apps are notified.
For instance, the Play On feature requires the UI to be refreshed when a device
is inserted/removed and we must guaranty that the UI component can read
new A2DP enable state from AudioManager after it receives a device connection state
change intent.
- Added hidden methods to AudioManager so that WiredAccessoryObserver
and BluetoothA2dpService can notify AudioService of device connection directly.
- The wired accessories connection intents are now sent by AudioService.
- The A2DP state change intent is delayed by BluetoothA2DPService when
ACTION_AUDIO_BECOMING_NOISY is sent by AudioService
- ACTION_AUDIO_BECOMING_NOISY intent is not sent when disconnecting A2DP
while a wired headset is present and vice versa.
Bug 6485897.
Change-Id: Ie160b3ee5f451132065530772b868593c90afd94
This makes it possible to retrieve the account list in the order of creation,
if we want to display them in the account settings screen in that order.
Bug: 6579937
Change-Id: I2025aaa8b770fbb78be978dfde64ef95823fd5aa
- Smaller right_icons
- Higher-contrast text colors
- Dividers between actions
- Dividers above actions and overflows
- Consistent 8dp gutter on left of content
- BigTextStyle should not show line3 unless there is a subtext.
- Collapse summary ("overflow") text into line3. This is a
little wild because now the contentText, subText, and
summaryText all share this spot, but the various
variables all have different times when they're
expressed so you have greater control over what shows
where in the 1U and the expanded form.
- Do not show contentText in BigText's line3. If you have
subtext or summarytext, show that; otherwise suppress
line3 entirely.
Bug: 6558134 // line3
Bug: 6508804 // other visuals
Change-Id: Ib79e818a332d17000e9a8fce333eff8f8cf043aa
This fixes a bug where sometimes the handle wasn't visble in the
incoming call screen. The problem was that the animation was
interrupted on its transition from alpha = 0 to alpha = 1 by reset()
and the new handle animation wasn't started.
Change-Id: I3ab4259db1115da20e7f54b91bbfe3b496940214
...device from JRN59D to JRN60
Deal correctly with multiprocess content providers that need to
be loaded into a secondary process; wasn't correctly detecting the
case where the IContentProvider returned by the activity manager
is null. (installProvider used to be given the direct IContentProvider,
now it gets the ContentProviderHolder and much check whether the
provider inside is null.)
Change-Id: I888622e275a459031ab849952941f39cf9c02ee0
This fixes a few recent regressions caused by other bug fixes:
- add new flags to animateCollapse() so we can selectively close panels. Fixes regression caused by attempt to close recent apps from startAssistActivity() which had the side effect of closing the search panel before the animation completes.
- adds tuneable holdoff delay for responding to home key press.
- minor tweaks to MultiWaveView animations.
Change-Id: Ia48434b8d59e7b0290a5e9783960c2f684068218
1. We use a delayed callback to throttle the amount of accessibility
scroll events fired by the view tree. The callback to do so was
not properly reset when removed putting the view tree in a bad
state resulting in no scroll events being fired at all.
bug:6549005
Change-Id: Ibf72d7e009e4545a336c9471f46015910290703e
1. This attribute specifies whether a view can take accessibility
focus. It has three values: 1) auto - the system determines
based on whether the view is actionable and has actionable
predecessor. Accessibility services can put accessibility focus
on such a node at will; 2) yes ; this view always takes access
focus; 3) no - the view cannot takes accessibility focus and
accessibility services cannot put accessibility focus on it.
Change-Id: I2ebf4e7c75bf6b39e1742b6868b37ccdd4cc7d28
1. Iterators were skipping content on reversing direction.
2. The cursor was positioned at the beginning of the next text segment
when moving forward and at end of the previous text segment when moving
backwards. This is incorrect and now the cursor is positioned at the
end of the segment when moving forward and at the beginning when moving
backward.
3. The cursor position was not properly set when reaching the end/start
of the text.
4. The iterators were reporting strictly the next/previous segment even
if the cursor is within such a segment. Thus, when traversing some
content may be skipped. Now moving forward moves the selection to
the next segment end and the start position is either the old index
if it was within a segment or the start of the segment. Same in
reverse.
bug:6575099
Change-Id: Ib48a649cec53910339baf831a75e26440be6e576
...content provider and updating its oom adj
This introduces the concept of an "unstable" reference on a content
provider. When holding such a reference (and no normal stable ref),
the content provider dying will not cause the client process to be
killed.
This is used in ContentResolver.query(), .openAssetFileDescriptor(),
and .openTypedAssetFileDescriptor() to first access the provider
with an unstable reference, and if at the point of calling into the
provider we find it is dead then acquiring a new stable reference
and doing the operation again. Thus if the provider process dies
at any point until we get the result back, our own process will not
be killed and we can safely retry the operation.
Arguably there is still the potential for a race -- if somehow the
provider is killed way late by the OOM killer after the query or
open has returned -- but this should now be *extremely* unlikely.
We also continue to have the issue with the other calls, but these
are much less critical, and the same model can't be used there (we
wouldn't want to execute two insert operations for example).
The implementation of this required some significant changes to the
underlying plumbing of content providers, now keeping track of the
two different reference counts, and managing them appropriately. To
facilitate this, the activity manager now has a formal connection
object for a client reference on a content provider, which hands to
the application when opening the provider.
These changes have allowed a lot of the code to be cleaned up and
subtle issues closed. For example, when a process is crashing, we
now have a much better idea of the state of content provider clients
(olding a stable ref, unstable ref, or waiting for it to launch), so
that we can correctly handle each of these.
The client side code is also a fair amount cleaner, though in the
future there is more than should be done. In particular, the two
ProviderClientRecord and ProviderRefCount classes should be combined
into one, part of which is exposed to the ContentResolver internal
API as a reference on a content provider with methods for updating
reference counts and such. Some day we'll do that.
Change-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c
- Added radio buttons to indicate the selected item
- "Add account" is one of the list options instead of a button
- Removed icons
- Added "Cancel" and "OK" buttons
- Use dialog theme
- Omit description text by default
Bug 6505441
Change-Id: I672a11481ee99e183142142bddf8f97b7b149d37
This cleans up the animation for swipe to search from the navbar. In particular:
1. Wait for initial animation to finish if gesture was too quick.
2. Better fade animation
3. Hide background and fade in when ring is selected
4. Smoother target and outer ring animation when switching between states.
Change-Id: I401197760cf9f06b6ff3e1cdb80bee86a03ef276
Make clearer how the platform is handling key events following some
unfortunate uses by third party applications. Also highlight the
changes in Jelly Bean default keyboard.
Bug: 6566711
Change-Id: Ibcdaf54c6d629fd0733529bfe2fffc82f555f084
Bug 6476578
The latest bug report show a query.length() of 33 while
mQueryTextView.length() is 0 on line 514.
I can see 2 reasons which can explain this discrepancy:
- the mQueryTextView has a filter, which alters the text.
- some asynchronous event (IME?) changes the text in the mean time.
I would favor the second one, which seems to break a lot of single
thread assumptions in the code and generates other IOOB exceptions.
Note that depending on what they are used for, it may be more consistent
to use mQueryTextView.getText() instead of query in the following
assignment.
Change-Id: Ie8a5486b11a80543f8f90980454933c5a74c073e
Unhide the following methods:
android.app.KeyguardManager.isKeyguardLocked()
android.app.KeyguardManager.isKeyguardSecure()
Fix some javadoc typos
Change-Id: Iedcd9f6a5261b7a3b47431edff013f629e1dc45d