Commit Graph

26830 Commits

Author SHA1 Message Date
Adam Powell
187309bdcc am 5d536c94: am 539bcca9: Merge "Fix bug 5594320 - Overlay action bar decor layout causes two measure passes" into ics-mr1
* commit '5d536c945da075036f151e5dbac86d74d32e2fc9':
  Fix bug 5594320 - Overlay action bar decor layout causes two measure passes
2011-11-15 11:30:13 -08:00
Jeff Brown
a4db1b7278 am 642de92b: am 9058435d: Merge "Fix races when content providers are acquired and released." into ics-mr1
* commit '642de92b3500446ab2d2a84fbe4ff9c083e8c1af':
  Fix races when content providers are acquired and released.
2011-11-15 11:29:59 -08:00
Daisuke Miyakawa
2b6517cd2c am f2213aca: am d8f5e6ba: Merge "Allow ContactsProvider to remove dulicates" into ics-mr1
* commit 'f2213acaae5073ea3b4f3f566f0e8c7dc976765b':
  Allow ContactsProvider to remove dulicates
2011-11-15 11:29:51 -08:00
Adam Powell
539bcca99d Merge "Fix bug 5594320 - Overlay action bar decor layout causes two measure passes" into ics-mr1 2011-11-14 19:47:55 -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
Jeff Brown
bf677de46a Merge "Clean up GenerationCache." 2011-11-14 18:28:59 -08:00
Daisuke Miyakawa
d8f5e6badb Merge "Allow ContactsProvider to remove dulicates" into ics-mr1 2011-11-14 17:54:17 -08:00
Jim Miller
6162960c1e am 3dd55677: am ff95f657: Merge "Fix 5579440: Add transport control view to tablet unlock screens" into ics-mr1
* commit '3dd5567710168da330741cb4c4263cc03dd942f1':
  Fix 5579440: Add transport control view to tablet unlock screens
2011-11-14 16:21:10 -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 Powell
136a10a2b8 Fix bug 5594320 - Overlay action bar decor layout causes two measure passes
The existing action bar overlay decor layouts hit a case in
RelativeLayout that causes two measure passes for the main content. As
this can be expensive, stick the bar and the content overlay into
their own sub-layout and switch things to use a FrameLayout at the top
level instead.

Be explicit about the layout_width/height on ActionBar-containing
decor layouts as the older decor layouts are.

Change-Id: I4330f0f25841dd8058b94a320f93bf67fb56bf17
2011-11-14 15:34:51 -08:00
Adam Cohen
e23a588eb5 am 621f9716: am 6066a2b4: Merge "Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)" into ics-mr1
* commit '621f971691e3e819ddcd95898f4f93498e00c2ad':
  Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)
2011-11-14 14:38:30 -08:00
Tsu Chiang Chuang
6a54a997e3 Merge "Adding mobile microbenchmark tests." into ics-mr1 2011-11-14 14:35:42 -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
28a5ec9613 am 2cfb873c: am 9d66da8a: Merge "Revert "Discard framebuffer rendering queues when discarding layers"" into ics-mr1
* commit '2cfb873c9f0b56f2c7d694a21c968511223933af':
  Revert "Discard framebuffer rendering queues when discarding layers"
2011-11-14 12:30:04 -08:00
Dave Burke
9d66da8ae6 Merge "Revert "Discard framebuffer rendering queues when discarding layers"" into ics-mr1 2011-11-14 12:25:53 -08:00
John Wang
196c215a8b am 6504d74b: am 72a31ab9: Merge "[maguro] Fix STK issues" into ics-mr1
* commit '6504d74b8f7b98f7c2d5fb550042c644510d5f34':
  [maguro] Fix STK issues
2011-11-14 12:14:09 -08:00
John Wang
72a31ab98f Merge "[maguro] Fix STK issues" into ics-mr1 2011-11-14 12:10:16 -08:00
Mathias Agopian
d8fa1ad452 am 738d8cae: am c93a151f: Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1
* commit '738d8cae2239d194429676f2889cfae3c8f7ba08':
  Define, document, and test the behavior of very large SurfaceTextures
2011-11-14 11:54:38 -08:00
Mathias Agopian
c93a151fde Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1 2011-11-14 11:49:42 -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
dujin.cha
e81932e92a [maguro] Fix STK issues
1. Fix Bug 5574160 (Abnormal Setup menu)
2. Fix Bug 5558273 (GetInkey issue)
3. Fix BUg 5558612 (No default alpha id)
4. Fix Vodafone UK ALS issue.

Bug : 5574160, 5558273, 5558612

Change-Id: Ief74d0e4f4f28dff7a435e9dab1fab1ca1d9bfaf
Signed-off-by: dujin.cha <dujin.cha@samsung.com>
2011-11-14 10:46:19 -08:00
Mathias Agopian
3f511aaf1c am a16ee939: am 28587497: Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817" into ics-mr1
* commit 'a16ee9390e1fcea8ff7cbefd253659c37f2999a3':
  Discard framebuffer rendering queues when discarding layers Bug #5581817
2011-11-14 07:49:07 -08:00
Adam Powell
cd6faca836 am b22eec57: am a8743f15: Fix bug 5425280 - Two ActionBar icons show up
* commit 'b22eec57d559fc9dd5663abdc37d6b6e6a4f641f':
  Fix bug 5425280 - Two ActionBar icons show up
2011-11-14 07:48:58 -08:00
Adam Powell
b22eec57d5 am a8743f15: Fix bug 5425280 - Two ActionBar icons show up
* commit 'a8743f152aac4a8ef97c79bdad5232614453ce2a':
  Fix bug 5425280 - Two ActionBar icons show up
2011-11-14 07:46:00 -08:00
Kristian Monsen
e1d2f3cf85 Fix build
Change-Id: I8198f7a8470e7c9500ab2f6512162bbb55ea6ee7
2011-11-14 15:28:14 +00:00
Kristian Monsen
10a09dc163 Merge "Removing the ability to get native instrumentation as part of nav dump" 2011-11-14 04:28:32 -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
Jeff Brown
d9e688cab3 Clean up GenerationCache.
Use const references to keys and values where appropriate to avoid
copying them unnecessarily.

Deleted some dead code.

Simplified a few pieces that were doing unnecessary redundant work.

Change-Id: Ib2145b7094a40db2d679e05dafe050fe1e87b846
2011-11-11 22:14:07 -08:00
Jeff Brown
ad169f49af am 0e4669c8: am f1f0c873: Fix bug in TextLayoutCacheKey handling embedded nulls.
* commit '0e4669c81009cea51d9d7b42b7ff665f44e78aa6':
  Fix bug in TextLayoutCacheKey handling embedded nulls.
2011-11-11 20:37:12 -08:00
Jeff Brown
0e4669c810 am f1f0c873: Fix bug in TextLayoutCacheKey handling embedded nulls.
* commit 'f1f0c873b1d119a19342cb67ca77b59607951659':
  Fix bug in TextLayoutCacheKey handling embedded nulls.
2011-11-11 20:34:48 -08:00
Jeff Brown
6f0464e79d am f1f0c873: Fix bug in TextLayoutCacheKey handling embedded nulls.
* commit 'f1f0c873b1d119a19342cb67ca77b59607951659':
  Fix bug in TextLayoutCacheKey handling embedded nulls.
2011-11-11 19:22:04 -08:00
Mathias Agopian
b89d88f531 Define, document, and test the behavior of very large SurfaceTextures
updateTexImage() now throws a runtime exception when its native
counterpart fails

Bug: 5506633

Change-Id: I151a6f685d465966e7df4df624412ab2da62e95f
2011-11-11 18:44:35 -08:00
Adam Powell
a8743f152a Fix bug 5425280 - Two ActionBar icons show up
Change-Id: Ic82f8ce648f9314a0800eeff326df7d8dfe5027b
2011-11-11 18:35:53 -08:00
Fabrice Di Meglio
8661489545 Merge "Improve the logging in TextLayoutCache." 2011-11-11 16:58:10 -08:00
Svetoslav Ganov
531ded5514 Merge "Added missing comments in Instrumentation#sendStringSync" 2011-11-11 16:52:37 -08:00
Svetoslav Ganov
f434e37945 Added missing comments in Instrumentation#sendStringSync
Change-Id: Ib20c5f9763c4ff97dec02fbb79721da93e964bc7
2011-11-11 16:50:25 -08:00
Svetoslav Ganov
55c6ccce95 Merge "Instrumentation sendStringSync(String) may try to inject obsolete events." 2011-11-11 16:46:07 -08:00
Christopher Tate
c45fa2a823 am 0fbd9eba: am c51bb4d3: Merge "XML parsing optimizations" into ics-mr1
* commit '0fbd9ebab891530290b4d52fd5e81f6b4d7278d8':
  XML parsing optimizations
2011-11-11 16:24:19 -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
Jeff Brown
06daa7b6b2 Improve the logging in TextLayoutCache.
Also deleted some dead code.

Change-Id: I1feb5744177ae751ff1417f49f3c45139a35246b
2011-11-11 15:46:05 -08:00
Jeff Brown
f1f0c873b1 Fix bug in TextLayoutCacheKey handling embedded nulls.
We were not passing the length of the UTF-16 string to
String16::setTo.  As a result, it was copying the contents of
the text up to the first null it found.

First problem, these strings are not typically null terminated!

Second problem, if the string contained a null character, then
we might truncate it.  However, we only truncated the string
when the copy constructor was invoked (say, when we called
get() on the cache) but not in internalTextCopy() (before
adding the key to the cache).

As a result of the second problem, we would first search
the cache for a key that matched a partially copied truncated
string (potentially reading uninitialized memory that followed it).
Finding none, we would add the entry to the cache using
the correct key.

If the cache already had a value associated with the correct key,
then the put would fail, returning false.  Charging ever onwards,
we would add the size of the entry to the cache size.

Proceeding in this manner, it was possible for the cache to
believe it had less remaining space than it really did.  At that
point, it was possible for the cache to evict all entries and
yet still not think it had room to add a new one, so it would
continue trying to make space indefinitely.

Bug: 5576812
Change-Id: I05251594f6b2da0a5dc09f7200f04fe9100ec766
2011-11-11 15:41:40 -08:00
Jeff Brown
0f6ba9267f Merge "Seems to break text views all over. Particularly noticeable is that the labels in launcher icons appear left-justified. Multi-line text fields also wrap after every character." 2011-11-11 15:30:45 -08:00
Jeff Brown
033a001a61 Seems to break text views all over. Particularly noticeable is that the labels in launcher icons appear left-justified. Multi-line text fields also wrap after every character.
Revert "Fix bug #5387832 [UI/Visual] Address of the website is not displayed properly(second line of the address is partly shown)"

This reverts commit caa8c06de5
2011-11-11 15:30:16 -08:00
Dianne Hackborn
942d51f6a6 am 0b554bab: am d400d03f: Merge "Fix issue #5595933: GREF leak due to race condition in..." into ics-mr1
* commit '0b554bab585fe2d7eaaca8692106e0cbbc3aabe4':
  Fix issue #5595933: GREF leak due to race condition in...
2011-11-11 14:28:57 -08:00
Christopher Tate
951aa9d8ea am 9acae658: am 847fbbea: Merge "Localized optimizations in views and bitmaps" into ics-mr1
* commit '9acae658e179796beee91d673f9f70af49ae3c9b':
  Localized optimizations in views and bitmaps
2011-11-11 14:28:55 -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