the touch incon url instead. The DownloadTouchIcon class will handle the case that
this file does not exist on the server.
Change-Id: I8ab8fd65b571584d7b648af72c568f0b01c2dcaf
Merge commit 'd15d0e9fd33109f60bd30b26bae782f2fe5531a4'
* commit 'd15d0e9fd33109f60bd30b26bae782f2fe5531a4':
Flush binder buffer after setting raw heap to avoid leaking a reference.
Merge commit '3ef6ebe874022c4ec8fbb00067833a6f636c1e2f' into gingerbread-plus-aosp
* commit '3ef6ebe874022c4ec8fbb00067833a6f636c1e2f':
Flush binder buffer after setting raw heap to avoid leaking a reference.
Merge commit '7df7447112371fb5e46f6084b55ac2ccdfde139d' into gingerbread
* commit '7df7447112371fb5e46f6084b55ac2ccdfde139d':
Flush binder buffer after setting raw heap to avoid leaking a reference.
The problem was:
1. In handleShutter(), thread A in CameraService calls
registerBuffers(IMemoryHeap) and it's received by thread B
in system_server. [transaction 1]
2. While thread A is waiting for the reply, thread B calls
back to thread A to get the id of the heap
(IMemoryHeap.getHeapID). [transaction 2]
3. Thread A replies transaction 2 and is preemptied in kernel.
Thread B gets the reply and finishes registerBuffers and send
reply for transaction 1.
4. When thread A runs again, it gets the reply for transaction 1
and returns to handleShutter().
5. At this point the transaction buffer for transaction 2 (which
holds a reference to IMemoryHeap) is not freed because the
BC_FREE_BUFFER command is kept in thread A's local command
queue and not sent to the kernel.
6. Normally when thread A makes next transaction, the
BC_FREE_BUFFER command will be sent together (piggyback) with
the commands for that transaction. But in this case thread A
is a callback thread from camera driver, so it does not make
any binder calls afterwards, and the IMemoryHeap is never freed
(until the next time handleShutter is called).
Change-Id: I435a258187509bdbbaf353339eb9ea577610cbd2
Merge commit '5c57e03d3dbd474deb73f51b564c4fb929a2a816'
* commit '5c57e03d3dbd474deb73f51b564c4fb929a2a816':
Log full exception when failing to inflate notification view
Merge commit '6ffd9ff07733a855daeda75416cea88e7456e9d6' into gingerbread-plus-aosp
* commit '6ffd9ff07733a855daeda75416cea88e7456e9d6':
Log full exception when failing to inflate notification view
Merge commit '39c921c6e5316696d8c61d1ee465f9b5f894c4ed'
* commit '39c921c6e5316696d8c61d1ee465f9b5f894c4ed':
Get to the point of being able to do native drawing.
Merge commit '8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb' into gingerbread-plus-aosp
* commit '8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb':
Get to the point of being able to do native drawing.
The texture cache was previously checking the number of stored textures. This was
not very useful as this could easily lead to an abuse of memory. The new cache
instead tracks the total size occupied in RAM by the cached textures. When a new
texture is generated, older textures are kicked out as needed.
Change-Id: Ib27142f4a018d5bf84774c1fb6f45a67a85f20bc
When inflating a notification's view fails, include the exception in
the log message. Without this exception all we get is "couldn't
inflate view for notification <package>/<id>", which isn't very
helpful for tracking down the particular error in the view.
This exception used to be included in the log message, but it was
removed in 005847b03b2 -- any particular reason why?
Change-Id: I623b9e4c8291e4c035f26380e5f22ad6b65176a7
Merge commit '64fa7f072a2eff834206ce245f137993b010f5c0'
* commit '64fa7f072a2eff834206ce245f137993b010f5c0':
Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
Merge commit 'f520411a35db5248934a4b50859ca72e3f865593' into gingerbread-plus-aosp
* commit 'f520411a35db5248934a4b50859ca72e3f865593':
Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
Merge commit 'c03befe3d62eb2a3e1d56fec0ca188a6094d53dd' into gingerbread
* commit 'c03befe3d62eb2a3e1d56fec0ca188a6094d53dd':
Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
Problem:
When the bluetooth device is removed, the AudioService clears all active SCO connections
and unlinks from the client application's binder interface death.
The problem is that the unlinking is done even if no more connections are active for a given client,
which throws a runtime exception that is not catched causing the system server to crash.
The fix consists in calling unlinkToDeath() in ScoClient.clearCount() only if the number of
active SCO connections for this client is not 0. The NoSuchElementException exception is also
catched when calling unlinkToDeath()
Change-Id: I7086424301fc63a5666da61c38169349d3e078f4
Switched all native code to go through Mesh class.
Removed SimpleMesh
Added java Mesh class
Will need to port all existing code to use java Mesh, then remove java SimpleMesh.
Change-Id: Idb9c03d0b06b4ef87db28dffcffa1881d39120e5
Merge commit '58f35ff41601769ca4f357575a9385f16c01b991'
* commit '58f35ff41601769ca4f357575a9385f16c01b991':
Make real API for native code to get its window.
Merge commit '54a181b1a2b1517a9479b21fbf7705a688232faf' into gingerbread-plus-aosp
* commit '54a181b1a2b1517a9479b21fbf7705a688232faf':
Make real API for native code to get its window.
The next step will be to add an FBO cache to avoid churning memory on every
frame we draw. This change also adds support for drawBitmap(Bitmap, Matrix, Paint).
Change-Id: I7825cdcf0cad9bffe6219e05d8328a53d4a6e583
Current implementation looks at the timestamps of all incoming frames in
CameraSource::dataCallbackTimestamp().
It drops all frames until enough time has elapsed to get the next time lapse frame.
When enough time has passed to capture the next time lapse frame, the frame is no longer dropped
and the timestamp of this frame is modified to be one frame time (1/framerate) ahead of the
last encoded frame's time stamp.
Change-Id: I82b9d5e96113dffa6901aac3b8a8ef999ffc1d0b