We were setting the routing to A2DP when the state was Connecting too.
This was incorrect and can cause problems. One such problem was when
handling an incoming connection we set the routing to A2DP before
authorization. And even if authorization succeeds we get out sync with
AVDTP command state.
Merge commit '7566c1debebe072af76411e11d96810fd1409482' into eclair
* commit '7566c1debebe072af76411e11d96810fd1409482':
LocationManager: Fix problem replacing GPS and network providers with a mock provider.
- Reduce the amount that we ask processes to GC after a significant
operation occurs, but introducing a minimum time between GCs and
using this in various ways to schedule them.
- Don't spam all of the processes with onLowMemory(). Now deliver
these using the same gc facility, so we do the processes one at a
time, and don't allow the same process to get this call more than
once a minute.
- Increase the time a service must run before we will reset its
restart delay to 30 minutes (from 10).
- Increase the restart delay multiplication factor from 2 to 4.
- Ensure that we don't restart more than one service every 10 seconds
(unless some external event causes a service's process to be started
for some other reason of course).
- Increase the amount of time that a service must run before we
decide to lower it to a background process.
And some other things:
- Catch IllegalArgumentException in ViewRoot like we do for no
resources to avoid the system process crashing.
- Fix a number of places where we were missing breaks between the
activity manager's message dispatch func(!!).
- Fix reason printed for processes in the background.
- Print the list of processing waiting to GC.
* changes:
dumpsys SurfaceFlinger will now always dump SF's state, even if SF is deadlocked (in this case the state is dumped without the proper locks held which could result to a crash)
* changes:
Implement clean killing of the TTS service. If files were being synthesized to while the service was being killed, it would have left partially written files (with no header). This CL checks if the service is rendering to a file at the time the service is destroyed: if it is, it will stop the rendering and deletes the file.
If files were being synthesized to while the service was being killed,
it would have left partially written files (with no header). This CL
checks if the service is rendering to a file at the time the service
is destroyed: if it is, it will stop the rendering and deletes the file.
(in this case the state is dumped without the proper locks held which could result to a crash)
in addition, the last transaction and swap times are printed to the dump as well as the time spent
*currently* in these function. For instance, if SF is unresponsive because eglSwapBuffers() is stuck,
this will show up here.
* changes:
docs only. add new documentation for installing the new winusb driver. also add a link to the HTC support site for ADP flashing and remove references to the G1 and generalize to "consumer devices"
add new documentation for installing the new winusb driver.
also add a link to the HTC support site for ADP flashing
and remove references to the G1 and generalize to "consumer devices"
Merge commit 'ba223760895e62ad2fcb85476984cb29018860c9' into eclair
* commit 'ba223760895e62ad2fcb85476984cb29018860c9':
Close suggestion cursors that arrive after adapter is closed
New tab assets. We decided to do a straight swap and then assess the
damage.
New default dark background color.
New list divider assets.
Change-Id: Ia00a9bb0ee1bad4f955f1c3b5b67526f62572015
Bluez sends the UUID of the local service being accessed in Agent.Authorize,
not the remote service. So check for Audio Source not Audio Sink.
In most cases this was not a problem because Bluez sends us AdvAudioDist UUID
(0x110D) for incoming A2DP connections, which we already check for. This is a
precautionary change.