Commit Graph

32240 Commits

Author SHA1 Message Date
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
Adam Powell
ef5352c3a1 am f581b533: am 2b662e8e: Merge "Fix a NPE in MenuItemImpl when setting null ActionProvider" into jb-mr2-dev
* commit 'f581b533cf0ff774405bae057f5883fe9768c6a8':
  Fix a NPE in MenuItemImpl when setting null ActionProvider
2013-05-06 12:20:14 -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
Adam Powell
f581b533cf am 2b662e8e: Merge "Fix a NPE in MenuItemImpl when setting null ActionProvider" into jb-mr2-dev
* commit '2b662e8ef96c645e38a3debc29afa7454664f6cb':
  Fix a NPE in MenuItemImpl when setting null ActionProvider
2013-05-06 08:44:33 -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
Kenny Root
2b21dd0bbe resolved conflicts for merge of ee0a5faf to master
Change-Id: Iba0ad9e665ad98379761995cb7c32415bcf50e48
2013-05-03 14:50:44 -07: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
Adam Powell
2b662e8ef9 Merge "Fix a NPE in MenuItemImpl when setting null ActionProvider" into jb-mr2-dev 2013-05-03 18:58:35 +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
Satoshi Kataoka
ee0a5fafa7 am 245a3e1c: Merge "Change the initial disabled state of disabled IMEs" into jb-mr2-dev
* commit '245a3e1c1ed265a13d07000ef6e786ec321b85c4':
  Change the initial disabled state of disabled IMEs
2013-05-03 11:19:01 -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
Adam Powell
dcc55855bc Fix a NPE in MenuItemImpl when setting null ActionProvider
Change-Id: I00be010b2197d0f41d0e45b3814474d3ad0c3295
2013-05-03 11:03:10 -07:00
Satoshi Kataoka
245a3e1c1e Merge "Change the initial disabled state of disabled IMEs" into jb-mr2-dev 2013-05-03 02:34:39 +00:00
Jeff Brown
17cf4e4d4a Merge "Really make Surface thread-safe." into jb-mr2-dev 2013-05-03 02:11:03 +00:00
Dianne Hackborn
c9dc93e5ca Merge "Start combining threads in system process." 2013-05-03 01:48:55 +00:00
Dianne Hackborn
8d044e8bc2 Start combining threads in system process.
This introduces four generic thread that services can
use in the system process:

- Background: part of the framework for all processes, for
work that is purely background (no timing constraint).
- UI: for time-critical display of UI.
- Foreground: normal foreground work.
- IO: performing IO operations.

I went through and moved services into these threads in the
places I felt relatively comfortable about understanding what
they are doing.  There are still a bunch more we need to look
at -- lots of networking stuff left, 3 or so different native
daemon connectors which I didn't know how much would block,
audio stuff, etc.

Also updated Watchdog to be aware of and check these new
threads, with a new API for other threads to also participate
in this checking.

Change-Id: Ie2f11061cebde5f018d7383b3a910fbbd11d5e11
2013-05-02 17:42:40 -07:00
Mathias Agopian
b7446f9ddb Merge "simplify Surface{View} dirty rect handling" 2013-05-02 23:26:26 +00: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
Satoshi Kataoka
ed1cdb24ba Change the initial disabled state of disabled IMEs
Bug: 8365223

This change is a supplement for I77f01c70610d82ce9070d4a
The disabled state of disabled pre-installed imes should be changed
to ENABLED_STATE_DISABLED_UNTIL_USED on boot or user switch.

Change-Id: If8ff1b2b95c36d33148def2ab87bd006aa520cc0
2013-05-02 17:53:17 +09: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
Jeff Sharkey
9cbe2ae3ae Merge "Unhide extra to fix docs build." 2013-05-02 01:15:25 +00:00
Jeff Sharkey
9ab3fd4565 Unhide extra to fix docs build.
Change-Id: Ib757b5d62e6ff7f4623680fb5faba337de46aa02
2013-05-01 18:14:16 -07:00
Jeff Brown
fed9c11a99 am f2930d78: am c3112608: Merge "Don\'t dump sql bindargs unless verbose mode is requested." into jb-mr2-dev
* commit 'f2930d783ac52d89cc8fc6db3bed7989544a9cbc':
  Don't dump sql bindargs unless verbose mode is requested.
2013-05-01 17:57:15 -07:00
Jeff Brown
f2930d783a am c3112608: Merge "Don\'t dump sql bindargs unless verbose mode is requested." into jb-mr2-dev
* commit 'c31126088fea61a9b5ba6cdb1fd2791e86800a8a':
  Don't dump sql bindargs unless verbose mode is requested.
2013-05-01 17:54:34 -07:00
Jeff Brown
c31126088f Merge "Don't dump sql bindargs unless verbose mode is requested." into jb-mr2-dev 2013-05-02 00:52:26 +00:00
Jeff Sharkey
037db6cfd0 Merge "External storage provider, document picker UI." 2013-05-02 00:46:46 +00:00
Jeff Sharkey
9e0036ed7d External storage provider, document picker UI.
Continuing to flesh out storage backends by adding an external
storage document backend.  Still rough, but it can traverse files
and directories.

Early pass at OPEN/CREATE_DOC picker UI, which offers to traverse
any known storage backends.  Supports opening subdirectories and
returning a picked file.

Change-Id: Idc3554036b3816a93d9b465ee8a620746859d2ae
2013-05-01 17:44:42 -07:00
Jeff Sharkey
863b117a3a Merge "Start fleshing out new storage APIs." 2013-05-02 00:22:10 +00:00
Jeff Sharkey
9ecfee03fa Start fleshing out new storage APIs.
Introduces new DocumentsContract which storage backends must
implement.  Backends surface a simple directory-like organizational
structure that enables a document to appear at multiple locations in
that hierarchy.  Querying a document or the contents of a directory
will return a Cursor populated with DocumentColumns, which includes
simple metadata.

Adds new OPEN_DOC and CREATE_DOC Intents, and permission to protect
storage backends.

Change-Id: Ib4984bc980182b2cedbe552908e5be94604ef085
2013-05-01 17:21:06 -07:00
Amith Yamasani
0d8750d771 Allow requiredForAllUsers to work on updates to system apps
Bug: 8736380

Also set the default type as the constructor docs imply in RestrictionEntry.

Change-Id: I446504fad8822804d68f09b45ef62f6d79c4b8df
2013-05-01 15:31:49 -07:00
Jeff Brown
cefeb29d53 Don't dump sql bindargs unless verbose mode is requested.
Bug: 8780126
Change-Id: I88e238f9d684cc76731207e75370cbb2e0e476c5
2013-05-01 15:28:37 -07:00
Jeff Brown
fc0ebd7d37 Really make Surface thread-safe.
There were many places where the native object was being
accessed improperly.  Also some places where CloseGuard might
not be acquired or released correctly or where the generation
count might not be updated.

Fixed them all.

That said, Surface isn't intended to be used concurrently
so please don't do it.  This is only intended to make
hard to find crashes less likely.

Bug: 8328715
Change-Id: I981ef33425823e0fd7ad6b64443f2ec9b0c8335e
2013-05-01 15:28:01 -07:00
Elliott Hughes
c3bc1b671e am c255800f: am 6d82f86f: Merge "Show CJK dates as all-numeric in the DatePicker."
* commit 'c255800fb0f46ea5f68d2c145605ac7dcd3a89b6':
  Show CJK dates as all-numeric in the DatePicker.
2013-05-01 14:56:59 -07:00
Elliott Hughes
c255800fb0 am 6d82f86f: Merge "Show CJK dates as all-numeric in the DatePicker."
* commit '6d82f86fa01800ee0523743366e0dc1113178fd9':
  Show CJK dates as all-numeric in the DatePicker.
2013-05-01 14:53:28 -07:00
Elliott Hughes
949e9df25b Show CJK dates as all-numeric in the DatePicker.
Before, we'd have something like 2006 4月12. After, we have 2006 4 12.
The alternative would require using custom NumberPicker.Formatter instances
for the year and day fields in these locales, and that seems significantly
more disruptive.

Bug: 8766552
Change-Id: I568578aae2f80f2acfc53cd277ef3beae6743472
2013-05-01 14:12:05 -07:00
Romain Guy
fa4eb085c3 am b107b7e9: Merge "Prevent TextureView from ever setting a null layer paint Bug #8760436" into jb-mr2-dev
* commit 'b107b7e9ecaee799a7a18b8ab897969ef554fd9b':
  Prevent TextureView from ever setting a null layer paint Bug #8760436
2013-04-30 18:16:11 -07:00
Romain Guy
b107b7e9ec Merge "Prevent TextureView from ever setting a null layer paint Bug #8760436" into jb-mr2-dev 2013-05-01 01:14:41 +00:00
Casey Burkhardt
d9ad188a18 am dd7d8ec1: am 203aa72e: Merge "Rebuilds ActionBar accessibility description as needed" into jb-mr2-dev
* commit 'dd7d8ec17ec1129f33764e025366129d3562ea7e':
  Rebuilds ActionBar accessibility description as needed
2013-04-30 17:26:14 -07:00
Casey Burkhardt
dd7d8ec17e am 203aa72e: Merge "Rebuilds ActionBar accessibility description as needed" into jb-mr2-dev
* commit '203aa72e747794a64a8262ceb6c9cdc8381e77cb':
  Rebuilds ActionBar accessibility description as needed
2013-04-30 17:20:12 -07:00
Casey Burkhardt
203aa72e74 Merge "Rebuilds ActionBar accessibility description as needed" into jb-mr2-dev 2013-05-01 00:15:44 +00:00