We were updating limits and such before, but we were not applying them
to the current situation if we were already throttled. Now it can result in
us throttling or changing our throttle rate or unthrottling or even making
the ui come or go (disabling/enable throttling)
bug:2622543
bug:2619879
Change-Id: I64a62634d54f4768ab8625f8d72f9f66a239cb19
When a service transitions from foreground to background, we now push it
to the top of the LRU list. Also fix the activity manager to take care
of killing processes if we go beyond a reasonable number of background
process to keep around.
Change-Id: Ic9f44c02af7a111ee6f1d06142386b301948bafe
Need to clear the attached hidden flag on the window, even if it does
not yet have an actual surface.
Change-Id: I0a90f6b03cd8e347a3eae4d6bea3ab93f7128bf4
Throttle is useless when ntp and imsi are not yet ready. In the real world
the second check won't happen for 10 minutes letting people do what they want
for 10 minutes each boot. Trim this down with a quicker first check.
bug:2614247
Change-Id: I84ec33f31e8fed37b3933482fbc187b8e9e94e79
we can continue the interrupted request to support
streaming the content even with a brief disconnection.
Note: we don't update the headers for partial content
as the headers we care should not be updated. See
a list in chromium/net/http/http_response_headers.cc.
We currently also don't support cache for partial content.
Fix http://b/issue?id=2616477
we switch to use the layout size. Otherwise it will
first use the old dimension which can exceed the
limit, which in turn causes the Browser to crash.
Fix http://b/issue?id=2616263
Previously, it was conceivable that a 3rd party application on a non-GED
device could publish a service that supported the (hidden) IBackupTransport
interface and spoofed the Google backup transport's package and component
name. This could allow it to secretly intercept all data moved through the
backup mechanism.
Fix by ensuring that the package in question exists and is part of the
OS itself (FLAG_SYSTEM in its ApplicationInfo description) before binding
to it.
Fixes bug #2457063
Change-Id: I3487572be45c2014fa209beacfe3ac6f8270f872
It is for bug 2571583 to provide better failure information of network operator selection.
Network selection returns ILLEGAL_SIM_OR_ME when the failure is
permanent and no retries needed, such as illegal SIM, ME, HRL config, etc.
Change-Id: Iaf70bef64d3cbf35e4d9915418cbb5b78607f73e
An ANR has been reported because somebody else was hogging the Netd
link. We can't pause the server thread for that, so make a new thread.
bug:2609904
Change-Id: I0430a08621da1cda0a0010ce15826cceee59a529
Phone calls and rings are treated as a new client, with a dedicated
client ID that identifies it in the audio focus stack. When it is
present in the stack, others clients cannot request audio focus
(request is denied).
Because the phone state is now mostly handled like a new client,
there is no need monitor mode changes and to keep track of
undispatched focus changes, as those will delayed focus gains
will now automatically happen at the end of the call when the
phone client is removed from the focus stack.
Change-Id: I11ff73b015ab93f07040755fd8ee75c8d675e025
This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.
In certain edge cases (encoded audio track contains silence), each buffer would turn out to be an amazing 6(!!!) bytes, we'd spend lots and lots of time streaming network data to fill the codec's buffers of size 6144 bytes with .. silence.
Change-Id: I9f449f310fc64ca384bd02e4a783e33cf5b46fcc
related-to-bug: 2609049
QA-Impact: streamed (http) playback of aac audio content on Droid.
In case of A2DP write errors, there is an overflow in the calculation
of the sleep duration to simulate the timing of a successful write.
Change-Id: Ic4e570aebf07fac69735aab1bbc2fc73512ee795
the is_music, is_ringtone, etc columns. This ensures that custom
ringtones will still be shown in the ringtone picker after a rescan.
Bug 2594125
Change-Id: I56761240d6f6e699514169d80a445317ba0de9e2
The problem occurs if the device is powered down in silent mode. When the device restarts,
AudioService reads current ringer mode from saved settings but does not call setRingerModeInt()
to perform actions required when ringer mode changes.
The volumes of streams affected by ringer mode are actually at 0 because they are also read from settings
but their mute state is not applied correclty. When we later exit from silent mode, the streams
other than STREAM_RING that are affected by ringer mode are not restored as they are not considered
muted. This applies to STREAM_SYSTEM but also to STREAM_NOTIFICATION if its volume is controlled independently
from STREAM_RING.
The fix consists in calling setRingerModeInt() when AudioService starts.
Change-Id: Ica75b9874938dda1bc1b634c3e97db4a650d295c
There was a regression introduced by change 4c637b9e34f4c8db69a64ad21a4e2bcfa7485b5f
fixing issue 2578813. As the A2DP device disconnection is notified to the audio policy manager
after a delay, there is a period during which the A2DP device is actually not connected but the
A2DP output is considered present by audio framework. If a playback is started during this period,
The A2DP output requests the activation of the A2DP sink which in turn triggers a reconnection
of the A2DP sink.
The fix consists in suspending the A2DP output immediately when receiving the A2DP disconnection
intent so that any activity on A2DP output is ignored until the output is actually closed by the
audio policy manager.
Change-Id: I16eaace45e12bfc970f50836b46a73b756b493f0