27091 Commits

Author SHA1 Message Date
Mathias Agopian
68d3478860 partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)
We used to guarantee that a layer in SurfaceFlinger would never be
destroyed before all references (to its ISurface) on the client
side would be released. At some point, this guarantee got
relaxed to allow to free gralloc resources sooner. This last
change was incorrect, because:
- in implementations with reference-counting the gralloc resources
wouldn't be released anyways, until all the mapping were gone
- in implementations without ref counting, the client side
would most likely crash or do something bad
- it also caused the SharedBufferStack slot to be reallocated
to another surface, which could be problematic if the client
continued to use the surface after the window manager destroyed it.

So, we essentially reinstate the guarantee that layers won't be
destroyed until after all references to their ISurface are
released.

NOTE: This doesn't entirely fix 3306150 because there is another
problem there where the Browser continues to use a surface after it
has been destroyed.

also improve SurfaceFlinger 'dumpsys' log

list the purgatory, which shows windows that have been closed,
but for which the client still has references.
2011-01-25 14:19:13 -08:00
Mathias Agopian
8aa11d82f3 fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE)
we were not clearing the screen entirely, which caused garbage when
the screen wasn't entirely covered by windows.

Change-Id: Ia7aa13c36a8a314e0e8427d419b16b9aa2165ddf
2011-01-25 14:18:58 -08:00
Mathias Agopian
84c6f5a44c workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)
we make sure to call compositionComplete after everytime we do
composition with the GPU (even for the screenshot case), which is
where the buffer locks are released.

Change-Id: I450430d1e4d1ee9ce1023970642378c42cdcfa4c
2011-01-25 14:18:29 -08:00
Mathias Agopian
728d849fc9 minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE)
Change-Id: I1ddbbbec4fa5b2521ef3787bc28efe1bc90d0060
2011-01-25 14:18:15 -08:00
Marco Nelissen
c929677e01 Merge "Increase the number of useful bits in the spectrum." into gingerbread 2011-01-25 10:06:16 -08:00
Nick Pelly
b134223f91 Make Mifare Classic increment/decrement operands little endian
Also make sure they are non-negative.

This is not documented in Mifare Classic spec, but based on findings from NXP:
- Operand should be stored in little-endian format in the transceive buffer
- Tag ignores the sign bit on the operand, its effectively 31-bit unsigned
- Overflow and underflow generates an error.

Change-Id: Id3389b3894ded732c4b00d564ca53f5df651359e
2011-01-25 07:45:07 -08:00
Hung-ying Tyan
cc019c0caa Merge "Get mute state from active call." into gingerbread 2011-01-24 21:13:08 -08:00
Hung-ying Tyan
14b6d0620b Merge changes Ib70e0cf2,I0691cd70 into gingerbread
* changes:
  SipService: registers broadcast receivers on demand.
  SipService: release wake lock for cancelled tasks.
2011-01-24 19:41:42 -08:00
Jeff Brown
d8bdc06f81 Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT (DO NOT MERGE)
Fixed a bug in the handling of SENSOR_LANDSCAPE and SENSOR_PORTAIT
on devices that have a natural landscape orientation.  The old code
was disabling 180 degree orientation detection when it shouldn't have.

Bug: 3381359
Change-Id: I19bd2519e7f69a24835840fbf542aa7349981029
2011-01-24 17:07:36 -08:00
Andreas Huber
efebdf4bd4 DO NOT MERGE: Support non-multiple-of-16 dimensions in MPEG4/H.263 software decoder
Change-Id: I6c27c00a6e13cb3635e61089c0db0989f5810c37
related-to-bug: 3384367
2011-01-24 15:59:14 -08:00
Justin Ho
28c4f69a93 Updated checkbox assets
Change-Id: I93c979816bc3310c510bf8942c273ce8c411150d
2011-01-24 13:05:06 -08:00
Arnaud Ferir
5e81a6e21e Fix trace mismatch.
Change-Id: Ie6e9a2baef63d2b5621593203742c2ffeaafc4ba
2011-01-24 12:15:21 -06:00
Sylvain Fonteneau
c5a418ecb7 Handle mock tags in android.nfc.Tag conversion to Parcel.
When generating a mock tag (after a NDEF exchange over LLCP), one of
the internal fields is set to null. This was causing NullPointerException
when being converted to a Parcel.

This is fixed by not including this field in the Parcel for mock tags.

Change-Id: I000e2faa54d71fd755ba7993e1e258743aad98fb
2011-01-24 12:15:13 -06:00
John Wang
93300ce2d3 Merge "Enable recovery in RIL wakelock release check." into gingerbread 2011-01-24 09:14:14 -08:00
Marco Nelissen
dbc0fe985f Increase the number of useful bits in the spectrum.
Change-Id: I3efc2ac8db689285566df35cb6f594aab41141db
2011-01-24 08:47:55 -08:00
Nick Pelly
c896d85c15 Merge "Add operands to mifare classic increment, decrement." into gingerbread 2011-01-23 22:12:25 -08:00
Nick Pelly
1e233af3a7 Add operands to mifare classic increment, decrement.
Change-Id: Ib35f615142bda48a5e33888a09ebae2880624788
2011-01-23 22:11:44 -08:00
Nick Pelly
da01b4abb8 Merge "Make MifareClassic methods more consistent." into gingerbread 2011-01-23 21:36:14 -08:00
Nick Pelly
e45083b11b Make MifareClassic methods more consistent.
Remove method overloading for combinations of sector+block addressing.
Instead provide methods that more closly match the raw commands, and more
efficient helpers to convert between blocks and sectors.

o fix off-by-one bug in getBlockCountInSector()
o add BLOCK_SIZE
o remove DESFIRE not operating in classic emulation (SAK 0x20)
o hide isEmulated(), there is no use case, and the info is available elsewhere
o getTotalBlockCount() -> getBlockCount()
o getBlockCount(int) -> getBlockCountInSector(int)
o introduce blockToSector() and sectorToBlock()
o remove authenticateBlock()
    make it really clear that authentication is per sector, and reduce function
    explosion. blockToSector() allows you to use authenticateSector...
o explicit authenticateSectorWithKeyA() / authenticateSectorWithKeyB()
    get rid of magic boolean
o remove all (int sector, int block) parameters
    always address by absolute block. this makes the API crystal clear, and
    helps reduce function explosion
o validation of all sector and block indices
o dont & 0xff when converting to byte - its redundant
o Remove TYPE_OTHER. Mifare Classic types are well-known and stable.

Change-Id: I3c9f8254ff307f31b388b3d7592c862d5de6afa5
2011-01-23 21:32:57 -08:00
Jeff Hamilton
e1e70c5761 Merge "Allow null filters for foreground dispatch to act as catch all." into gingerbread 2011-01-23 19:17:22 -08:00
Jim Miller
42a461570b Fix 3379239: Catch exceptions from workaround for OOM.
This catches possible exceptions caused by attempting to
unregister a receiver that may have already been unregistered.
This is related to the OOM issue workaround in Change I99a7e0c3.

Change-Id: Ib69a8acc6b12659125c958a03efac0a8a68a3859
2011-01-23 13:40:31 -08:00
Jeff Hamilton
9f20cd7ff2 Allow null filters for foreground dispatch to act as catch all.
Change-Id: Idf3d2e344a6e87035ccb5b533ed9e81fec596132
2011-01-23 12:15:28 -06:00
Jaikumar Ganesh
1c9761e30d Merge "Do Not Merge Connect other profiles when priority is auto connect." into gingerbread 2011-01-21 21:25:01 -08:00
Jaikumar Ganesh
40e6c210f8 Do Not Merge Connect other profiles when priority is auto connect.
ACL auto connection was removed so other profiles
won't auto connect when priority was auto connect.

Reduced connect other profiles time delay.

Bug: 3281016
Change-Id: Ic56ca6e95f618f02bc316d1f80014e58c4b6c3bc
2011-01-21 19:05:54 -08:00
John Wang
696794fc13 Enable recovery in RIL wakelock release check.
Wakelock will get released while
1) no request pending to be sent out, in which mRequestMessagesPending increases
before calling EVENT_SEND and decreases while handling EVENT_SEND.

and

2) no waiting requests sent to RIL but no replied, in which mRequestMessagesWaiting
increases while sending request and decreases while handling response.

Both will be cleared while WAKE_LOCK_TIMEOUT occurs to recovery from out of sync situation.

bug: 3369427, 3370827
Change-Id: Ib2fc54db3b155bd3fb1296ad83720b7836708caf
2011-01-21 17:46:08 -08:00
John Reck
398a589cce Merge "DO NOT MERGE - Create db path if it doesn't exit" into gingerbread 2011-01-21 14:03:30 -08:00
John Reck
bf8af78973 DO NOT MERGE - Create db path if it doesn't exit
Bug: 3241808
 Make sure the directory the caller is trying to open the icon db
 in actually exists and create it if it doesn't.

Change-Id: Icc0a67b0ceba03a746ac2cd3b84fc34c2c8b4fe2
2011-01-21 11:42:15 -08:00
Jeff Hamilton
dc54a8c742 Merge "API changes for NFC." into gingerbread 2011-01-21 11:34:20 -08:00
Jeff Hamilton
4e21e1d21a API changes for NFC.
Bug: 3366009
Change-Id: Ia28e03e1501421906b640b78d4c9a59a20e9c668
2011-01-21 13:32:58 -06:00
Jean-Michel Trivi
a314f32ba9 Merge "Bug 3365937 notify TTS initialization listener of binding errors" into gingerbread 2011-01-21 09:09:30 -08:00
Eric Laurent
c5694ebda9 Merge "do not merge - Fix issue 3371096." into gingerbread 2011-01-20 17:43:04 -08:00
Jean-Michel Trivi
1e13a02320 Bug 3365937 notify TTS initialization listener of binding errors
The creation of a TextToSpeech object causes the TTS service to
 start, and the initialization listener to be called when the
 service is connected. But the listener is never called when
 the service binding failed to be notified of this error.
The fix consists in checking the result of the bind to service
 operation, and notify the listener in case of an error.

More log was added in case speak() and synthesizeToFile() are
 called but the service is not known to have started.

Change-Id: I7dcc1fa44be31fee3177ec6215fca3306377b934
2011-01-20 17:25:48 -08:00
Dianne Hackborn
11576102a9 Fix issue #3373438: Update GBMR versions
Change-Id: Ic4b4f1b0534fd2fbd6322eae01a4cb9d5a67cc6f
2011-01-20 12:16:43 -08:00
Eric Laurent
ab1fe306ae do not merge - Fix issue 3371096.
EffectModule::process() was copying effect chain input buffer to
output buffer if no effect was active instead of accumulating it.

Change-Id: If4ca75601ea69a088d0f71d88aec53e90a1dec89
2011-01-20 12:05:25 -08:00
Dave Sparks
65d39eeb9b Merge "DO NOT MERGE: Prefill the cache before trying to instantiate the media extractor." into gingerbread 2011-01-19 19:23:32 -08:00
Mathias Agopian
822d4ce616 Merge "fix [3369027] Sensor.TYPE_ROTATION_VECTOR is unstable and returns NaNs when running slowly" into gingerbread 2011-01-19 17:32:21 -08:00
Jeff Brown
d0725eef67 Merge "Never drag scroll views with no children. (DO NOT MERGE)" into gingerbread 2011-01-19 17:03:03 -08:00
Andreas Huber
a2ab9aace3 DO NOT MERGE: Prefill the cache before trying to instantiate the media extractor.
The latter is an operation that otherwise could block on the datasource
for a significant amount of time. During that time we'd be unable to
abort the preparation phase without this prefill.

Change-Id: I3bc889b264f599bfd5c2bbdf48b88ccb55d86172
related-to-bug: 3362836
2011-01-19 15:44:23 -08:00
Mathias Agopian
a97ead75db fix [3369027] Sensor.TYPE_ROTATION_VECTOR is unstable and returns NaNs when running slowly
The cut-off frequency of the lowpass filter was too high
for the sampling rate used by DELAY_NORMAL.

Now we use the same filters used for the gravity vector
(cascaded biquad at 1.5 Hz)

Change-Id: Iac290a716cc47a78337a8f0e45b103e49b4d9d78
2011-01-19 15:32:38 -08:00
Mathias Agopian
a0bafb4713 Merge "Use EGL_NATIVE_VISUAL_ID to select EGLConfig" into gingerbread 2011-01-19 11:31:07 -08:00
Jeff Brown
39bc6197ba Never drag scroll views with no children. (DO NOT MERGE)
Fixes a regression from Froyo.  Previously, when a scroll view
had no children, its onTouchEvent would return because the scroll
view would only start dragging if the user touched one of its children.
In Gingerbread, the user can drag from anywhere within the scroll
view, not just by touching a child.  However, it makes no sense
to drag a scroll view that has no children so an empty scroll view
should just ignore touches like any other empty view group would.

This change fixes applications that for some reason or other happen
to have empty scroll views in strange places.

Bug: 3246230
Change-Id: I76c6136d3cd74968983033014d60deec1718ce30
2011-01-19 11:20:46 -08:00
Andreas Huber
e9a00235c1 Merge "DO NOT MERGE: Apparently our native TCP sockets do not return an error from blocking "connect"" into gingerbread 2011-01-19 08:11:39 -08:00
Nick Pelly
b7d6ffd76f Merge "Change signature of MifareClassic.authenticate*() to throw IOException." into gingerbread 2011-01-18 18:53:42 -08:00
Nick Pelly
50d0bcb45b Merge "Support for TagLostException (API)." into gingerbread 2011-01-18 18:53:40 -08:00
Nick Pelly
0316d4a24f Change signature of MifareClassic.authenticate*() to throw IOException.
Update API for this and the previous commit.

Change-Id: I19275a5d00081bd0f00afea59a2b673344a32954
2011-01-18 18:52:37 -08:00
Brad Fitzpatrick
597fa828fa Merge "Watchdog can get deadlocked on activity manager" into gingerbread 2011-01-18 18:52:04 -08:00
Martijn Coenen
bf34061bb4 Support for TagLostException (API).
Change-Id: Idf2c3253f7bc5f371133c4f18bfc2afde69c3010
2011-01-18 18:32:50 -08:00
Nick Pelly
b735aa0b6f Merge "Fix javadoc which broke build." into gingerbread 2011-01-18 17:07:56 -08:00
Nick Pelly
a8ca533d34 Fix javadoc which broke build.
Change-Id: Ie3cac9bec04e80defae44ba02086ad0cdfd301a9
2011-01-18 17:07:05 -08:00
Brad Fitzpatrick
0971a1367f Watchdog can get deadlocked on activity manager
Bug: 3351719
Change-Id: Idf3907709340062849a09dd094137e86256ed739
2011-01-18 16:42:20 -08:00