SQLiteDatabase.close() should call releaseReference() rather than
closing the database immediately. SQLiteDatabase should also hold
a reference to itself while performing certain operations to
ensure that they complete normally even if another thread closes
the database at the same time.
Fixed a couple of missing or redundant uses of acquireReference()
related to CursorWindows.
To be honest, the reference counting performed by SQLiteClosable should
not be needed, but we're stuck with it in the API.
Bug: 6104842
Change-Id: I3444a697409905d4a36b56418dc7766f5ba76b59
Bug: 6109044
Tab keys are handled via canTakeFocus & takeFocus (new path)
Arrow keys are handled by seeing if the keyDown was unhandled (similar to old path)
Change-Id: I825de102de31443b1383a8126992c65a4957dcce
Created a Handler and used it to make sendBroadcast call asynchronously.
Deadlock was caused by WindowManagerService Log.wtf call requiring
ActivityManagerService lock while holding its own lock. At the same time
ActivityManagerService was holding its lock while waiting for
WindowManagerService lock.
Tested by forcing a Log.wtf in
WindowManagerServices.updateWindowsAppsAndRotationAnimationsLocked
inside mAppTokens loop. Then ran 'adb shell monkey -v -v 500000'.
Without this fix it would lock up and reboot within a couple of minutes.
With this fix it runs until the Camera app crashes. But that's a
different bug...
Fixes bug 6112676.
Change-Id: I5b360aa08412d117b1765f01bacd931020509db7
As part of scheduling policy cleanup, remove or isolate
all references to the scheduling policy APIs.
Change-Id: Ia1ea2fe711a399039f25217309e061267744b856
The AudioSink latency is currently cached when the associated AudioTrack
is created. However, the AudioTrack latency can change if the AudioTrack is moved
from one output stream to another.
The AudioPlayer must also periodically update its view of the latency
as it is needed to compensate the real audio time used for A/V sync.
This fixes an A/V sync problem seen when switching A2DP on and off while
playing a video.
Change-Id: I28b24049ca114e1af3e24791dcc900f463536ba4
This is especially useful for slow animations such as blinking the
cursor, which only needs to happen after a certain amount of time
has elapsed.
Change-Id: If1163a3480078c75d6461eb8f96d8bf8b625534f
Current AudioTrack implementation enforces that the requested audio
buffer size is at least corresponding the audio latency.
This requirement is too strong and leads to problems with current
stagefright and AudioSink implementations when playing over output
streams with long latency.
Ultimately, the AudioSink design should be changed to specify a minimum
buffer size in time or frames units but not in buffer count units.
Change-Id: I8ba603956f92ac49143a8249572665aa548f2f0f