13569 Commits

Author SHA1 Message Date
Craig Mautner
c36c8e6f1f Fix issue #8868003: Recents thumbnails scale...
...+ zoom to wrong place

We need to make sure the overscan insets are never negative.

master version of ag/307569.

Change-Id: I4beed63a9541e228087b588e32996669755fcc51
2013-05-10 13:33:31 -07:00
Craig Mautner
79a64b621e resolved conflicts for merge of a14a14ab to master
Change-Id: I80259a2887f36fc3af409322dea36aa90a2ee847
2013-05-08 15:00:09 -07:00
Craig Mautner
525f3d9df6 Do not launch home task if activities remain
When a root activity is finishing and it is supposed to return to
home make sure there are only lower activities waiting to start before
going home.

Fixes bug 8632206.

Various other refactorings for efficiency.

Change-Id: I8bbb9de78d0ea9f45a504cf4bad72c698e9cc3d8
2013-05-07 15:01:46 -07:00
Craig Mautner
a14a14ab85 am 84ce55cf: Merge "Don\'t limit the overscan frame to the window frame." into jb-mr2-dev
* commit '84ce55cfd50bdfc7054de5ee9f69de7cf08b61ae':
  Don't limit the overscan frame to the window frame.
2013-05-07 12:32:50 -07:00
Craig Mautner
84ce55cfd5 Merge "Don't limit the overscan frame to the window frame." into jb-mr2-dev 2013-05-07 19:24:57 +00:00
Craig Mautner
a248eeec27 Don't limit the overscan frame to the window frame.
Fixes bug 8829372.

Change-Id: I803ae60fcc38649c0a7a9cb39429333755e47e2b
2013-05-07 11:41:27 -07:00
Kenny Root
1d69bad411 resolved conflicts for merge of a98b0ff8 to master
Change-Id: I1f4a952d360c48426e22a7772726b6867cc19771
2013-05-07 10:14:46 -07:00
Christopher Tate
ec28e4b588 am 5f714213: am e242c731: Merge "Ensure install-during-restore is like install-then-restore" into jb-mr2-dev
* commit '5f714213546d667ac241a92e2052b30dabef8355':
  Ensure install-during-restore is like install-then-restore
2013-05-07 10:01:09 -07:00
Kenny Root
add582122d resolved conflicts for merge of 485d7a31 to master
Change-Id: I058e19af8732df44457bdc614ee810a642dc25e4
2013-05-07 09:51:31 -07: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
d43a71dad8 Merge "Help for the debugging help for issue #8734824." into jb-mr2-dev 2013-05-06 23:46:57 +00:00
Craig Mautner
c87a732e75 Merge "Call ensureActivitiesVisibleLocked from supervisor." 2013-05-06 23:13:12 +00: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
Christopher Tate
5f71421354 am e242c731: Merge "Ensure install-during-restore is like install-then-restore" into jb-mr2-dev
* commit 'e242c731f2288a615d54f329cdeb16157d4c15ea':
  Ensure install-during-restore is like install-then-restore
2013-05-06 14:25:10 -07:00
Christopher Tate
e242c731f2 Merge "Ensure install-during-restore is like install-then-restore" into jb-mr2-dev 2013-05-06 21:12:41 +00: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
Craig Mautner
b59dcfd5e1 Call ensureActivitiesVisibleLocked from supervisor.
- Don't call ActivityStack.ensureActivitiesVisibleLocked directly.
Instead call ActivityStackSupervisor.ensureActivitiesVisibleLocked.

- Add detecting monochrome screenshots to black screenshots.

- minor refactors.

Change-Id: I050b1cd40cacaab451f1460a77a82125a8077ff2
2013-05-06 13:12:58 -07:00
Christopher Tate
2baf6dcfcf Ensure install-during-restore is like install-then-restore
When we've installed an apk from the archive, recheck whether
to apply the system-uid policy restrictions around file system
restores.

Bug 8833099

Change-Id: Ifa1b5877673a0d6ca6acf94e60f314fd0dda008c
2013-05-06 13:10:21 -07:00
Svetoslav Ganov
eea52c9a10 am 4337e038: am 62159c0d: Merge "Multiple bindings to the same accessiblity serice if it dies." into jb-mr2-dev
* commit '4337e038a20b890885fbcb17e6b8b48da999849c':
  Multiple bindings to the same accessiblity serice if it dies.
2013-05-06 12:20:20 -07:00
Dianne Hackborn
c3d95fa664 am 2a44f8d1: am d3956321: Merge "Fix issue #8798662: NPE in..." into jb-mr2-dev
* commit '2a44f8d102a60b1ccca780341cff0b0efb8f19ed':
  Fix issue #8798662: NPE in...
2013-05-06 12:20:17 -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
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
Svetoslav Ganov
4337e038a2 am 62159c0d: Merge "Multiple bindings to the same accessiblity serice if it dies." into jb-mr2-dev
* commit '62159c0d854737f8dc519fba01fd28adea26e57f':
  Multiple bindings to the same accessiblity serice if it dies.
2013-05-06 08:44:49 -07:00
Dianne Hackborn
2a44f8d102 am d3956321: Merge "Fix issue #8798662: NPE in..." into jb-mr2-dev
* commit 'd3956321c173beb1fb096b5171e76ba7b7e1bc1e':
  Fix issue #8798662: NPE in...
2013-05-06 08:44:47 -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 Ganov
62159c0d85 Merge "Multiple bindings to the same accessiblity serice if it dies." into jb-mr2-dev 2013-05-03 21:04:04 +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
Dianne Hackborn
d3956321c1 Merge "Fix issue #8798662: NPE in..." into jb-mr2-dev 2013-05-03 20:47:39 +00:00
Craig Mautner
dfe570527c Merge "Fix layering and launching issues." 2013-05-03 20:41:36 +00:00
Craig Mautner
1ac47791ea Merge "Propagate the return-to-home flag to next task." 2013-05-03 20:41:07 +00:00
Craig Mautner
05d290365f Fix layering and launching issues.
- Replace calls to ActivityStack.resumeTopActivity() with calls to
ActivityStackSupervisor.resumeTopActivities().

- Move dim layers from display scope to stack scope. This applies to
both the animation background dim layer and the FLAG_DIM_BEHIND dim
layer.

- Move windows on stacks that are not targeting wallpaper above the
wallpaper. Otherwise wallpaper placement hides the non-focused stacks.

Change-Id: Ic6b97ac6b094672bb1ddac17ce46ea58c738f073
2013-05-03 13:40:13 -07:00
Dianne Hackborn
ca92a4c38f Fix issue #8798662: NPE in...
...com.android.server.am.ServiceRecord.postNotification()

Change-Id: I3403bc50eb95d410183fc60ef252775a688b6290
2013-05-03 12:07:51 -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
Svetoslav Ganov
bfa1bf0208 Multiple bindings to the same accessiblity serice if it dies.
1. When a service dies we clear its state and remove it from the bound services waiting
   for new onServiceConnected call in which to initialize and add the service. The
   problem is that after clearing and removing a dead service there is a call to
   onUserStateChangedLocked with will end up rebinding to the service, so we get
   multiple onServiceConnected calls as a result of which we add the service twice and
   it becomes a mess. Note that every time the service dies we end up being bound to
   it twice as many times - royal mess! onUserStateChangedLocked is not even needed
   since we cleare and remove the serivce and this method will be called when
   the service is recreated.

2. When a service dies and is recreated by the system we were not adding it properly
   since we regarded only services that we bond to and wait for the connecton. Now
   we are also regarding service which died and are recreated.

bug:8796109

Change-Id: I5ec60c67bd3b057446bb8d90b48511c35d45289d
2013-05-03 01:20:56 -07:00
Dianne Hackborn
98eb06a12e Fix build.
Change-Id: Ib8f99e5137ace23ba4bfa764e81cce1f9f7d1aa8
2013-05-02 19:50:00 -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
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
Dianne Hackborn
0c8949db30 am 4c41f6cd: am 856a5a86: Merge "Fix issue #8768456: Settings > App Info under reports..." into jb-mr2-dev
* commit '4c41f6cd1852aaeeb067ad568c3b77a816769d64':
  Fix issue #8768456: Settings > App Info under reports...
2013-05-02 15:17:32 -07:00
Dianne Hackborn
4c41f6cd18 am 856a5a86: Merge "Fix issue #8768456: Settings > App Info under reports..." into jb-mr2-dev
* commit '856a5a860e11a85f8fbb1ad07f6ef444abeafbaf':
  Fix issue #8768456: Settings > App Info under reports...
2013-05-02 15:15:19 -07:00
Christopher Tate
b4997af5cf am 77a66f44: am b8453357: Merge "Send package-changed broadcasts to the correct users" into jb-mr2-dev
* commit '77a66f44590853cce7c58d643b6064ed5974cf03':
  Send package-changed broadcasts to the correct users
2013-05-02 15:14:06 -07:00
Christopher Tate
77a66f4459 am b8453357: Merge "Send package-changed broadcasts to the correct users" into jb-mr2-dev
* commit 'b84533575601133868bf414c526b5b30de3e62c6':
  Send package-changed broadcasts to the correct users
2013-05-02 15:11:52 -07:00
Dianne Hackborn
856a5a860e Merge "Fix issue #8768456: Settings > App Info under reports..." into jb-mr2-dev 2013-05-02 22:11:36 +00:00
Christopher Tate
1e08f5c3b3 Send package-changed broadcasts to the correct users
Also be sure to drop any pending package-changed broadcasts
that are targeted to a now-removed user.

Bug 8594153

Change-Id: Ib14874b4a67b968bbf6ca12ee095c85383aff324
2013-05-02 14:18:51 -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
Dianne Hackborn
ecc8d6f114 Fix issue #8768456: Settings > App Info under reports...
...app storage size for apps w/ .so files

The lib directories are tagged with the apk install number,
so must be explicitly passed down to installd.

Change-Id: Ic37b03726f9a7405eb05956703f8198223b22595
2013-05-02 11:17:15 -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
Jeff Sharkey
037db6cfd0 Merge "External storage provider, document picker UI." 2013-05-02 00:46:46 +00:00