The detach of the wallpaper engine was coming in after the containing
service was destroyed. This was possible because these are different
IPC interfaces so will not be serialized. The fix is to keep track
of all of the active engines in the serice, and detach any remaining
ones when the service is destroyed.
Change-Id: I8810786a777dd4f7b15cfbd2e0da25866a4f3ec5
Binary XML file line #37: Error inflating class <unknown> after adding a secondary account
Now that I have these debug logs, I want to keep them since they will make
debugging these kinds of issues a lot easier in the future. (Note in this
case there was no problem in the framework.)
Change-Id: If2b0bbeda4706b7c5dc1ba4a5db04b74f40e1543
Fixes b/2244560 (Time Stamp On Bug Reports And Pictures Is One Hour Off)
Change-Id: I69324a33f80e41ce68a0e6fdba08b80ed9453e19
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '820a4e7dd6adeff162a92ca40ebe2f109561036b' into eclair
* commit '820a4e7dd6adeff162a92ca40ebe2f109561036b':
docs change for ESD: add samples html pages for offline docs
Merge commit '6d95fc0a2ca910212a43c4547c0ef000659b72dc' into eclair
* commit '6d95fc0a2ca910212a43c4547c0ef000659b72dc':
docs for ESR: add docs to bluetooth explainin that discovery should
This is a second attempt to fix the audio routed to earpiece syndrom.
The root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type.
When this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop.
Results a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece.
The fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet.
The net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal.
The same modification is made for AudioRecord although no bug related to record has been reported yet.
Also fixed a potential problem if record stop is called while the record thread is exiting.
* changes:
DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.
* changes:
Fix bug 2271468 Update the javadoc for MediaRecorder.AudioSource to define how the two new audio sources behave when used on devices that don't support them.
Add optional flag to Wakelock.release() to specify whether we should wait for proximity sensor to go negative before turning on the screen.
Clear the "waiting for proximity sensor to go negative" state when the power key is pressed.
Part of the fix for b/2243198 (Black screen lockup after ending call)
Change-Id: I813fdb7aa4192cd3384a25be9e59d7d4b90da53a
Signed-off-by: Mike Lockwood <lockwood@android.com>
* changes:
docs: misc edits to samples page and intro docs make samples page accessible from offline version instead of redirecting to the user filesystem and include instructions for creating projects based on the sample apps. fix a link and add some content to the What is android doc.
Don't hold the global package log while instantiated an AssetManager+Resources, since
this is a fairly heavy-weight operation, and if done in the background can starve the
foreground.
Change-Id: I5ad37324fb7c27ffdbf28e1498ca0ad667479580
Due to a change in cpu stepping values, the batterystats.bin file needs to
be wiped for Battery Use app to show CPU cost correctly.
Bumping up the version number of the file fixes this.
This is an uber hack. Since there is a race between resizing the view and getting
the orientation-changed notification, this just tries to avoid drawing the tabs in the
wrong orientation (based on what we *expect* to be the orientation specified in the layout
file for the SlidingTab). This masks the problem *most* of the time.