Commit Graph

29818 Commits

Author SHA1 Message Date
Romain Guy
4cb81d6423 Reduce the number of measurement passes in RelativeLayout
Change-Id: I96ad8676f6344a1e0877f9dfbe782747bc0ff36d
2013-05-10 17:58:44 -07:00
Zhentao Sun
2ae118d107 am e0dda90b: am aa64548d: Merge "Fixed unreleased wake lock isues and NPE." into jb-mr2-dev
* commit 'e0dda90bde531b12dda8ce0909040b070c3b2b84':
  Fixed unreleased wake lock isues and NPE.
2013-05-07 11:47:19 -07:00
Zhentao Sun
e0dda90bde am aa64548d: Merge "Fixed unreleased wake lock isues and NPE." into jb-mr2-dev
* commit 'aa64548d9f7ee0d3378bc62657e0b86d486038d6':
  Fixed unreleased wake lock isues and NPE.
2013-05-07 11:44:46 -07:00
Zhentao Sun
aa64548d9f Merge "Fixed unreleased wake lock isues and NPE." into jb-mr2-dev 2013-05-07 18:43:24 +00:00
Victoria Lease
176498b5ea Merge "enable selection of Linkify-annotated text" 2013-05-07 18:08:09 +00:00
Romain Guy
fd06074c68 am c4818d86: am 4c95c537: Merge "Optimize list view scrolls Bug #8108706" into jb-mr2-dev
* commit 'c4818d860b90813bde082c381de933933abc574c':
  Optimize list view scrolls Bug #8108706
2013-05-07 10:25:20 -07:00
Scott Main
2b6daf130a am 0ba3d91f: am 05759d15: Merge "add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126" into jb-mr2-dev
* commit '0ba3d91f2da7773492739aad267d6d825d1465fd':
  add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126
2013-05-07 10:18:42 -07:00
Kenny Root
1d69bad411 resolved conflicts for merge of a98b0ff8 to master
Change-Id: I1f4a952d360c48426e22a7772726b6867cc19771
2013-05-07 10:14:46 -07:00
Elliott Hughes
977b2531ae am 4cd60897: am 601afaef: Merge "Someone\'s IDE chose the wrong Date."
* commit '4cd60897c73ddd67d7f267432073363cbf75371e':
  Someone's IDE chose the wrong Date.
2013-05-07 10:01:04 -07:00
Kenny Root
add582122d resolved conflicts for merge of 485d7a31 to master
Change-Id: I058e19af8732df44457bdc614ee810a642dc25e4
2013-05-07 09:51:31 -07:00
Romain Guy
c4818d860b am 4c95c537: Merge "Optimize list view scrolls Bug #8108706" into jb-mr2-dev
* commit '4c95c5377a75a3d6c5f3ed8b09a56071d51fadb1':
  Optimize list view scrolls Bug #8108706
2013-05-06 19:09:25 -07:00
Romain Guy
4c95c5377a Merge "Optimize list view scrolls Bug #8108706" into jb-mr2-dev 2013-05-07 02:05:38 +00:00
Romain Guy
5549cb590d Optimize list view scrolls
Bug #8108706

Change-Id: I8679b584132e82b7bb3301a38800de4ddfc57be6
2013-05-06 18:42:08 -07:00
Scott Main
0ba3d91f2d am 05759d15: Merge "add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126" into jb-mr2-dev
* commit '05759d1531f4e36b51f386fa884454eeda88ecb8':
  add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126
2013-05-06 17:06:40 -07:00
Scott Main
05759d1531 Merge "add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126" into jb-mr2-dev 2013-05-06 23:56:41 +00:00
Dianne Hackborn
a98b0ff812 am d43a71da: Merge "Help for the debugging help for issue #8734824." into jb-mr2-dev
* commit 'd43a71dad80dfca65b0758f4333360516f6ad300':
  Help for the debugging help for issue #8734824.
2013-05-06 16:48:16 -07:00
Dianne Hackborn
26ef95f0c1 Merge "Add new app ops for various interesting audio service things." 2013-05-06 23:32:58 +00:00
Robert Greenwalt
5dd3f51a19 am 8c04cd04: am 341666c4: Merge "Fix sync problem in NsdManager" into jb-mr2-dev
* commit '8c04cd041dfc96ef4af662d50aad63d998314d27':
  Fix sync problem in NsdManager
2013-05-06 16:20:30 -07:00
Dianne Hackborn
ba50b97cff Add new app ops for various interesting audio service things.
Media buttons: note when an application tries to take ownership
of the media buttons.
Audio focus: note when an application tries to take audio focus.
Volume levels: note changes to the volume level of the various
streams.

Maybe we should also have some ops for muting streams, soloing
streams, etc?

Change-Id: I79a5d477b0bad4ff61486cdb73ffb1196a674964
2013-05-06 16:12:12 -07:00
Dianne Hackborn
8bd64df2ad Help for the debugging help for issue #8734824.
Add a new "hang" am command that lets you hang the system
process.  Useful for testing.

Change-Id: Ice0fc52b49d80e5189f016108b03f9fd549b58a7
2013-05-06 16:07:26 -07:00
Elliott Hughes
4cd60897c7 am 601afaef: Merge "Someone\'s IDE chose the wrong Date."
* commit '601afaef5220aef928a9235e50376c462538a942':
  Someone's IDE chose the wrong Date.
2013-05-06 14:04:34 -07:00
Fabrice Di Meglio
7caa1a87fe am a8549041: am 8c2e3a41: Merge "Optimize RTL properties resolution" into jb-mr2-dev
* commit 'a8549041ccdf38f8ddbdc5fc2bce84d737a89a7e':
  Optimize RTL properties resolution
2013-05-06 13:56:17 -07:00
Svetoslav
100ed154b7 am b0675df8: am faa47b52: Merge "Idle maintenance scheduling broken." into jb-mr2-dev
* commit 'b0675df8fd377230edc392e02ba0eba275b57992':
  Idle maintenance scheduling broken.
2013-05-06 13:56:14 -07:00
Dianne Hackborn
485d7a31a8 am 5b88a2fd: Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS
* commit '5b88a2fd7b77880f6e09ae4a1de509bebe28bc3a':
  Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS
2013-05-06 13:47:04 -07:00
Zhentao Sun
cfa496f7cd Fixed unreleased wake lock isues and NPE.
Fixed b/8834502. Wake lock might not be released when the callback is null.
NPE is thrown when the callback is null in some cases too.

Change-Id: I27d3af810669e446cfb57aba8715c80cba3e15e7
2013-05-06 11:22:44 -07:00
Dianne Hackborn
5b88a2fd7b Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS
IActivityController has a new callback which the Watchdog calls
when it detects that the system process is hung.  This may be
use full monkey.  All hail the monkey!

Also add a new private feature to Binder to be able to turn off
all incoming dump() calls to a process.  The watchdog uses this
when it reports it is hung, so that if someone, say, wants to
collect a bug report at this point they won't get stuck waiting
for things that are all busted.

Change-Id: Ib514d97451cf3b93f29e194c1954e29f948c13b1
2013-05-06 11:16:18 -07:00
Robert Greenwalt
8c04cd041d am 341666c4: Merge "Fix sync problem in NsdManager" into jb-mr2-dev
* commit '341666c40d222145f7dfd44bdbed48590c4dc5da':
  Fix sync problem in NsdManager
2013-05-06 11:12:02 -07:00
Dave Burke
38996cdcf1 am 236cc476: Temporarily revert field name change (DO NOT MERGE)
* commit '236cc476e6792a11502ba4f40c7ab4586f40d282':
  Temporarily revert field name change (DO NOT MERGE)
2013-05-06 11:11:51 -07:00
Fabrice Di Meglio
a8549041cc am 8c2e3a41: Merge "Optimize RTL properties resolution" into jb-mr2-dev
* commit '8c2e3a412aaee8359a48265a101ca27e7b67301c':
  Optimize RTL properties resolution
2013-05-06 11:11:03 -07:00
Svetoslav
b0675df8fd am faa47b52: Merge "Idle maintenance scheduling broken." into jb-mr2-dev
* commit 'faa47b526fc35be01b1bc46a78679adde87f6701':
  Idle maintenance scheduling broken.
2013-05-06 11:10:57 -07:00
Elliott Hughes
c00df6d52e Someone's IDE chose the wrong Date.
Part 1 of the mystery of the java.sql.Date in preloaded-classes solved.

Change-Id: I33fffec1f86e34167a76afc839d9f4ce31fa31f7
2013-05-06 10:53:28 -07:00
Robert Greenwalt
341666c40d Merge "Fix sync problem in NsdManager" into jb-mr2-dev 2013-05-06 16:37:44 +00:00
Dave Burke
236cc476e6 Temporarily revert field name change (DO NOT MERGE)
VisualOn is using hidden fields, causing HBO and Xfinity to crash.
Bug: 8549617
Bug: 8331866

Change-Id: I35a9fe66dea8d56f4fcff9b492679226a17f4acc
2013-05-06 00:21:30 -07:00
Fabrice Di Meglio
8c2e3a412a Merge "Optimize RTL properties resolution" into jb-mr2-dev 2013-05-04 00:48:12 +00:00
Fabrice Di Meglio
09ecb255a6 Optimize RTL properties resolution
- dont bother children about resolving RTL properties if the ViewGroup parent
has not done anything

Change-Id: Iedf8a337097e04e1ab0054d59fc347e06b347ea7
2013-05-03 17:33:31 -07:00
Romain Guy
8add80211e Merge "Add an on-screen overdraw counter" 2013-05-04 00:27:28 +00:00
Romain Guy
78dd96d5af Add an on-screen overdraw counter
The counter can be enabled by setting the system property called
debug.hwui.overdraw to the string "count". If the string is set
to "show", overdraw will be highlighted on screen instead of
printing out a simple counter.

Change-Id: I9a9c970d54bffab43138bbb7682f6c04bc2c40bd
2013-05-03 17:08:20 -07:00
Svetoslav
faa47b526f Merge "Idle maintenance scheduling broken." into jb-mr2-dev 2013-05-03 23:33:09 +00:00
Svetoslav
6a08a12b8e Idle maintenance scheduling broken.
1. The scheduling was relying on receiving battery level broadcasts
   which however are not sent if the device is asleep. The maintenance
   window was not bound and we could miss a frame if the user did
   not interact the device longer than the min time between two
   maintenance windows.

2. Hide the idle maintenance intents since this will be rewritten
   to user services.

bug:8688454

Change-Id: I17b421b09823cb46ec218cabda19e02432d94f8c
2013-05-03 14:03:06 -07:00
Romain Guy
89852c1401 Merge "Prevent a crash on devices that remove non-core services" 2013-05-03 20:36:51 +00:00
Romain Guy
927bc7d720 Prevent a crash on devices that remove non-core services
Change-Id: Id7fcf0f1f7b6ddec8e860b3c4cde98aec63d04b6
2013-05-03 11:32:09 -07:00
Jeff Brown
b468877f7f am f87d4ea7: am 17cf4e4d: Merge "Really make Surface thread-safe." into jb-mr2-dev
* commit 'f87d4ea77a6950c3d6d381347f2346c12bee25f4':
  Really make Surface thread-safe.
2013-05-03 11:24:20 -07:00
Jeff Brown
f87d4ea77a am 17cf4e4d: Merge "Really make Surface thread-safe." into jb-mr2-dev
* commit '17cf4e4d4a576009efbfce93bd64b687601b71c7':
  Really make Surface thread-safe.
2013-05-03 11:18:58 -07:00
Jeff Brown
17cf4e4d4a Merge "Really make Surface thread-safe." into jb-mr2-dev 2013-05-03 02:11:03 +00:00
Mathias Agopian
b7446f9ddb Merge "simplify Surface{View} dirty rect handling" 2013-05-02 23:26:26 +00:00
Robert Greenwalt
af2eefb701 Fix sync problem in NsdManager
The NsdManager init was thinking it was done before the AsyncChannel
was fully setup and if the setup were slow and the app fast, the app
could make calls to the NsdManager that it wasn't ready for.

bug:8545006
Change-Id: I2cb2a7c0a1c7f3d2b81ac0f66d37346e6d2d720d
2013-05-02 15:45:32 -07:00
Romain Guy
3b748a44c6 Pack preloaded framework assets in a texture atlas
When the Android runtime starts, the system preloads a series of assets
in the Zygote process. These assets are shared across all processes.
Unfortunately, each one of these assets is later uploaded in its own
OpenGL texture, once per process. This wastes memory and generates
unnecessary OpenGL state changes.

This CL introduces an asset server that provides an atlas to all processes.

Note: bitmaps used by skia shaders are *not* sampled from the atlas.
It's an uncommon use case and would require extra texture transforms
in the GL shaders.

WHAT IS THE ASSETS ATLAS

The "assets atlas" is a single, shareable graphic buffer that contains
all the system's preloaded bitmap drawables (this includes 9-patches.)
The atlas is made of two distinct objects: the graphic buffer that
contains the actual pixels and the map which indicates where each
preloaded bitmap can be found in the atlas (essentially a pair of
x and y coordinates.)

HOW IS THE ASSETS ATLAS GENERATED

Because we need to support a wide variety of devices and because it
is easy to change the list of preloaded drawables, the atlas is
generated at runtime, during the startup phase of the system process.

There are several steps that lead to the atlas generation:

1. If the device is booting for the first time, or if the device was
updated, we need to find the best atlas configuration. To do so,
the atlas service tries a number of width, height and algorithm
variations that allows us to pack as many assets as possible while
using as little memory as possible. Once a best configuration is found,
it gets written to disk in /data/system/framework_atlas

2. Given a best configuration (algorithm variant, dimensions and
number of bitmaps that can be packed in the atlas), the atlas service
packs all the preloaded bitmaps into a single graphic buffer object.

3. The packing is done using Skia in a temporary native bitmap. The
Skia bitmap is then copied into the graphic buffer using OpenGL ES
to benefit from texture swizzling.

HOW PROCESSES USE THE ATLAS

Whenever a process' hardware renderer initializes its EGL context,
it queries the atlas service for the graphic buffer and the map.

It is important to remember that both the context and the map will
be valid for the lifetime of the hardware renderer (if the system
process goes down, all apps get killed as well.)

Every time the hardware renderer needs to render a bitmap, it first
checks whether the bitmap can be found in the assets atlas. When
the bitmap is part of the atlas, texture coordinates are remapped
appropriately before rendering.

Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
2013-05-02 13:32:09 -07:00
Amith Yamasani
821b58a93d am f5a553a4: am 55a08c5a: Merge "Allow requiredForAllUsers to work on updates to system apps" into jb-mr2-dev
* commit 'f5a553a4278a68fda9795dea759840d4f93546d7':
  Allow requiredForAllUsers to work on updates to system apps
2013-05-01 21:28:18 -07:00
Amith Yamasani
f5a553a427 am 55a08c5a: Merge "Allow requiredForAllUsers to work on updates to system apps" into jb-mr2-dev
* commit '55a08c5ab91014eb42ecdc9e7039c7bae1f00058':
  Allow requiredForAllUsers to work on updates to system apps
2013-05-01 21:27:14 -07:00
Amith Yamasani
55a08c5ab9 Merge "Allow requiredForAllUsers to work on updates to system apps" into jb-mr2-dev 2013-05-02 04:26:01 +00:00