Commit Graph

21311 Commits

Author SHA1 Message Date
Gilles Debunne
8d0d468fd2 am 8a440477: Merge "Clean-up in TextView" into ics-mr1
* commit '8a440477fd203d74b73b32dc2b357f07dfc36067':
  Clean-up in TextView
2011-11-15 10:01:21 -08:00
Gilles Debunne
8a440477fd Merge "Clean-up in TextView" into ics-mr1 2011-11-15 09:59:45 -08:00
John Reck
46fc72eb9d am a0c6bf5a: Merge "Call onScrollChanged when scrolling layers" into ics-mr1
* commit 'a0c6bf5af6af4b0fd59347b78d3a507c416a46e6':
  Call onScrollChanged when scrolling layers
2011-11-15 09:58:49 -08:00
John Reck
a0c6bf5af6 Merge "Call onScrollChanged when scrolling layers" into ics-mr1 2011-11-15 09:56:17 -08:00
Wu-cheng Li
5975fe1e17 am b90a70d1: Merge "Improve camera face detection javadoc." into ics-mr1
* commit 'b90a70d1542edd5a95e73b75192e6eb5a66401cc':
  Improve camera face detection javadoc.
2011-11-15 09:25:57 -08:00
Jeff Brown
14684154b1 am 9058435d: Merge "Fix races when content providers are acquired and released." into ics-mr1
* commit '9058435dc1a741030c042c4d6f2512f5d1605e5d':
  Fix races when content providers are acquired and released.
2011-11-15 09:25:18 -08:00
Wu-cheng Li
b90a70d154 Merge "Improve camera face detection javadoc." into ics-mr1 2011-11-15 06:14:11 -08:00
Wu-cheng Li
8c13670c13 Improve camera face detection javadoc.
bug:4460717
Change-Id: I6e040911ce802e597e77dfdde1c92b75d51975c8
2011-11-15 17:55:37 +08:00
Jeff Brown
ddaa9ac896 Fix races when content providers are acquired and released.
This change fixes race conditions that occur very regularly when
content providers are accessed from multiple threads at the same
time.

When a content provider is not already in the application's cache,
the application needs to ask the ActivityManager to obtain it.
Meanwhile, another thread can come along and do the same thing.
This can cause problems because the application attempts to
install two copies of the provider and the reference counts
and other bookkeeping can get muddled.

Similarly, there are races between releasing the last reference
to a content provider and acquiring the content provider.  It's
possible for one thread to snatch the content provider from the
jaws of death.  We need to handle this explicitly to ensure that
the content provider does not accidentally get released right
after it was acquired by the other thread.

This change ensures that the reference count bookkeeping and
provider map are maintained in parallel while holding the same lock.
Previously because the lock was dropped and reacquired in the
middle of acquisition and removal, it was possible for a
content provider with a zero reference count to be returned
to the application.  Likewise, it was possible for a content
provider with a non-zero reference count to be disposed!

This change also performs compensatory actions when races are
detected to ensure that the necessary invariants are maintained
throughout.  In particular, it ensures that the application
drops a duplicate reference to a content provider when no
longer needed.

Another way to solve this problem would be to explicitly prevent
the races from happening in the first place by maintaining a
table of content providers that are in the process of being
acquired.  The first thread to attempt to acquire the provider
would store a record.  The next thread would find the record
and block until the first thread was finished.  I chose not
to implement the code in that manner because we would still
have needed to perform compensatory actions in the case where
the same provider binder has multiple logical names.  Also,
it could cause deadlocks if the attempt to acquire
a content provider were re-entrant for some bizarre reason.

Bug: 5547357
Change-Id: I2ad39a8acc30aaf7ae5354decd0a0a41e9b9c3da
2011-11-14 18:31:13 -08:00
Daisuke Miyakawa
96c73c18ed am d8f5e6ba: Merge "Allow ContactsProvider to remove dulicates" into ics-mr1
* commit 'd8f5e6badb0dc11055508b83f20e48c82a7058bd':
  Allow ContactsProvider to remove dulicates
2011-11-14 17:56:41 -08:00
Daisuke Miyakawa
d8f5e6badb Merge "Allow ContactsProvider to remove dulicates" into ics-mr1 2011-11-14 17:54:17 -08:00
John Reck
83b9e1d99d Call onScrollChanged when scrolling layers
Bug: 5533389
 Treat layer scrolling as a no-op scroll by calling
 onScrollChanged with old scroll == new scroll

Change-Id: I1dc2b94b37c65bf088806b8d28be32883e3b8bee
2011-11-14 16:17:54 -08:00
Jim Miller
00a4ac1d43 am ff95f657: Merge "Fix 5579440: Add transport control view to tablet unlock screens" into ics-mr1
* commit 'ff95f6572596c48b58f5a73d23b2273866ea3fab':
  Fix 5579440: Add transport control view to tablet unlock screens
2011-11-14 16:16:41 -08:00
Jim Miller
ff95f65725 Merge "Fix 5579440: Add transport control view to tablet unlock screens" into ics-mr1 2011-11-14 16:14:07 -08:00
Adam Cohen
8222bbf39c am 6066a2b4: Merge "Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)" into ics-mr1
* commit '6066a2b4de36549b7d8fe36507b7254e501f0b28':
  Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)
2011-11-14 14:36:11 -08:00
Adam Cohen
6066a2b4de Merge "Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)" into ics-mr1 2011-11-14 14:33:06 -08:00
Jim Miller
faed16030d Fix 5579440: Add transport control view to tablet unlock screens
This updated tablet layouts to support showing album art and transport
control views in PIN, pattern and password screens of lock screen.

It also allows the addition of a background protect asset and
the ability to show the system wallpaper on layouts that define a
transport_bg_protect view.

Also updated layout to use new ICS-style buttons on lock screen and
fixed bug with "forgot pattern" button where we were showing the
emergency call icon.

To avoid problems with leading ones in the mono-space clock font,
we now right-justify status text on tablet and remove the AM/PM
indicator.

Status font size adjusted by UX.

Added background protection drop shadow to transport control.

Fixed portrait mode to be right-justified when transport is showing.

Change-Id: I790292fc39f4588f87adc9d9241706817ae6baab
2011-11-14 14:09:05 -08:00
Adam Cohen
8e2e572224 Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)
Change-Id: I4646095f4cde9514425be8ab2dbf805d9788aa5c
2011-11-14 13:28:50 -08:00
Daisuke Miyakawa
19352e0852 Allow ContactsProvider to remove dulicates
Bug: 5484956
Change-Id: Ie88af0c3d21919ca201f4fcdd46ca09e9f8d94c0
2011-11-14 13:16:07 -08:00
Dave Burke
3d151e1966 am 9d66da8a: Merge "Revert "Discard framebuffer rendering queues when discarding layers"" into ics-mr1
* commit '9d66da8ae61a8520f46ee7df3cbb374852d9da91':
  Revert "Discard framebuffer rendering queues when discarding layers"
2011-11-14 12:28:09 -08:00
Dave Burke
7077506f99 Revert "Discard framebuffer rendering queues when discarding layers"
This reverts commit da96f8ac2c.
2011-11-14 11:39:30 -08:00
Mathias Agopian
7c112d1bfb am 28587497: Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817" into ics-mr1
* commit '2858749704ea7b130499cf2ac7b3e1c3331f1582':
  Discard framebuffer rendering queues when discarding layers Bug #5581817
2011-11-14 00:54:30 -08:00
Mathias Agopian
2858749704 Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817" into ics-mr1 2011-11-14 00:52:09 -08:00
Adam Powell
4b620213b7 am a8743f15: Fix bug 5425280 - Two ActionBar icons show up
* commit 'a8743f152aac4a8ef97c79bdad5232614453ce2a':
  Fix bug 5425280 - Two ActionBar icons show up
2011-11-11 20:34:31 -08:00
Adam Powell
a8743f152a Fix bug 5425280 - Two ActionBar icons show up
Change-Id: Ic82f8ce648f9314a0800eeff326df7d8dfe5027b
2011-11-11 18:35:53 -08:00
Christopher Tate
432c210fe3 am c51bb4d3: Merge "XML parsing optimizations" into ics-mr1
* commit 'c51bb4d394dd47e48abc8a6d9cbc740f821546ff':
  XML parsing optimizations
2011-11-11 16:21:52 -08:00
Christopher Tate
60201f2b4e XML parsing optimizations
Traceview showed approximately 10% of total parse time inside the
synthetic 'trampoline' methods generated to provide inner classes
with access to their outer class's private fields.  The bottleneck
in this particular case is in XmlBlock and its inner class Parser.

Making the bottlneck outer-class members and methods package-scope
instead of private removes that 10% overhead being spent within
these access trampolines.

Traceview tends to overemphasize the significance of very small
methods such as these trampolines.  That said, the measured speed
gain on the ParseLargeXmlResFg op due to this patch is between
5% and 6%.

Change-Id: Ia0e3ae5408d1f9992b46e6e30dd2407090379b07
2011-11-11 16:10:42 -08:00
Dianne Hackborn
75348437a3 am d400d03f: Merge "Fix issue #5595933: GREF leak due to race condition in..." into ics-mr1
* commit 'd400d03f4a6384449f8b0d3c8a9aa7e1e8aa5a16':
  Fix issue #5595933: GREF leak due to race condition in...
2011-11-11 14:27:03 -08:00
Christopher Tate
090fb77e58 am 847fbbea: Merge "Localized optimizations in views and bitmaps" into ics-mr1
* commit '847fbbeaf9e3ba187a45d0a631f0c087ce25b7f6':
  Localized optimizations in views and bitmaps
2011-11-11 14:27:01 -08:00
Dianne Hackborn
d400d03f4a Merge "Fix issue #5595933: GREF leak due to race condition in..." into ics-mr1 2011-11-11 14:24:58 -08:00
Christopher Tate
847fbbeaf9 Merge "Localized optimizations in views and bitmaps" into ics-mr1 2011-11-11 14:24:53 -08:00
Nick Pelly
1d80311106 am 48b651cb: Merge "Changes for access control." into ics-mr1
* commit '48b651cb2a3afab979c2a46185fd7edfa5424387':
  Changes for access control.
2011-11-11 13:08:18 -08:00
Nick Pelly
48b651cb2a Merge "Changes for access control." into ics-mr1 2011-11-11 13:06:44 -08:00
Christopher Tate
1373a8eb58 Localized optimizations in views and bitmaps
* Don't call context.getResources() redundantly when unnecessary;
  similarly for Resources.getCompatibilityInfo()

* During bitmap creation, don't bother clearing to 0: it's unnecessary
  because now that the raw bits are stored in a VM-side byte array, it
  was cleared at initialization time.  Also, don't use the sanity-
  checking public entry point to erase to a color, because we know
  that we're by definition in a "legal" path to erase to the initial
  contents and don't need to incur the overhead of the (inappropriate)
  sanity checking.

Change-Id: Idaca4d64fdecefd5d51337646ead32e1db510e02
2011-11-11 12:46:48 -08:00
Dianne Hackborn
5a6ef737ed Fix issue #5595933: GREF leak due to race condition in...
...LoadedApk.ServiceDispatcher.connected , LoadedApk.forgetServiceDispatcher

Don't be stupid if we receive a new binding to a ServiceConnection after it
has already been unbound.

Change-Id: I85a49de97372bf9af55542a89031f0b7a2ac8fbb
2011-11-11 12:31:52 -08:00
Matthew Xie
0900fe24d7 am a303f0ec: Merge "Send CONNECT_OTHER_PROFILE to Device profile for hfp and a2dp incoming connect" into ics-mr1
* commit 'a303f0ecfc5472d3b2e65cb7de9f7413a9a83d9a':
  Send CONNECT_OTHER_PROFILE to Device profile for hfp and a2dp incoming connect
2011-11-11 12:18:04 -08:00
Matthew Xie
a303f0ecfc Merge "Send CONNECT_OTHER_PROFILE to Device profile for hfp and a2dp incoming connect" into ics-mr1 2011-11-11 12:16:41 -08:00
Matthew Xie
98f06da8ed Send CONNECT_OTHER_PROFILE to Device profile for hfp and a2dp incoming connect
Send CONNECT_OTHER_PROFILE to Device profile for low priority hfp and a2dp
incoming connect. In the case when HFP autoconnect is off but a2dp autoconnect
is on, if HF autoconnect to HFP, phone will reject HFP but connect a2dp.
Before this fix, phone reject HFP. A2dp will not get connected unless the HF do
media auto-connect, which most carkits do not do.
Also do similar change for incoming a2dp connection
bug 5091838

Change-Id: Ife1815f527bcd94e0d9ffc645028484fa9c49a43
2011-11-11 12:11:35 -08:00
Narayan Kamath
b0e5414647 am 754c72ed: Notifiy callers when a speech synthesis error occurs.
* commit '754c72ed9e8e83e5a913aa7552fc2e1b1b5277e0':
  Notifiy callers when a speech synthesis error occurs.
2011-11-11 11:50:18 -08:00
Svetoslav Ganov
ffd9a1f226 am d00e75e9: am 7b8bec28: Merge "PopupWindow dismiss() can get into a recursive loop." into ics-mr0
* commit 'd00e75e94d1aa5cee740a06a4ce760e49016f7f6':
  PopupWindow dismiss() can get into a recursive loop.
2011-11-11 11:50:12 -08:00
Jeff Sharkey
94ca29d461 am 51c00a57: Merge "Clamp non-monotonic stats instead of dropping." into ics-mr1
* commit '51c00a57f4f956b4b0ce9562fa571b475ee6f6ae':
  Clamp non-monotonic stats instead of dropping.
2011-11-11 11:50:04 -08:00
Adam Powell
456d05febc am 0ddcad0b: Merge "Make the overridden ImageView#setVisibility remotable" into ics-mr1
* commit '0ddcad0b4e203fe56aeca74547b13f6063ccb13b':
  Make the overridden ImageView#setVisibility remotable
2011-11-11 11:49:58 -08:00
Adam Cohen
1f0788e2ba am d562d300: Merge "Deferring wallpaper update to improve workspace scrolling (issue 5506959)" into ics-mr1
* commit 'd562d300cde63ae023f09fc3c7ded0988dead5d1':
  Deferring wallpaper update to improve workspace scrolling (issue 5506959)
2011-11-11 11:49:56 -08:00
John Reck
b7c41d4853 am 9490fe40: Merge "Fix lastVisible/global rects" into ics-mr1
* commit '9490fe4095171b9af380812b895101f8142d3cd5':
  Fix lastVisible/global rects
2011-11-11 11:49:53 -08:00
Chet Haase
f25b08f929 am 692fda9d: Merge "Fix leak in LayoutTransition" into ics-mr1
* commit '692fda9da31e2a25fd295140ec0d8b6cd0a934ee':
  Fix leak in LayoutTransition
2011-11-11 11:49:46 -08:00
Romain Guy
85ab135b2b am 50a66f0e: Merge "Terminate EGL when an app goes in the background" into ics-mr1
* commit '50a66f0e9c5a85a6af4a99eb66656a69eba24572':
  Terminate EGL when an app goes in the background
2011-11-11 11:49:42 -08:00
Jeff Hamilton
bb951c8939 Changes for access control.
The package name is now required when using the
NFC extras APIs so the context is stored away
and used to derive the package name to be sent
to the NfcService.

Bug: 4515759
Change-Id: I1a3aba3fc026e0090a914b0686fc4b8dec25b927
2011-11-11 08:55:26 -08:00
Narayan Kamath
754c72ed9e Notifiy callers when a speech synthesis error occurs.
bug:5589877
Change-Id: Ideca8966ea1caa6789b3273e388dd1f25c1e2758
2011-11-11 14:21:43 +00:00
Svetoslav Ganov
d00e75e94d am 7b8bec28: Merge "PopupWindow dismiss() can get into a recursive loop." into ics-mr0
* commit '7b8bec280f20e8a5863d8214bbc195497335eba6':
  PopupWindow dismiss() can get into a recursive loop.
2011-11-11 08:02:27 +00:00
Svetoslav Ganov
7b8bec280f Merge "PopupWindow dismiss() can get into a recursive loop." into ics-mr0 2011-11-11 00:00:02 -08:00