Commit Graph

2001 Commits

Author SHA1 Message Date
Dirk Dougherty
eb47aac14c am 0f70bcfc: am 8ebfb8c9: am fdc0c861: am b18c7254: am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit '0f70bcfce3eb291e95e2a70f9d353efa862796da':
  Doc change: restore warning not to abort NEW_OUTGOING_CALL.
2013-06-01 09:52:14 -07:00
Dirk Dougherty
0f70bcfce3 am 8ebfb8c9: am fdc0c861: am b18c7254: am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit '8ebfb8c9c34caa80cd0d2451d950170c1b522f2a':
  Doc change: restore warning not to abort NEW_OUTGOING_CALL.
2013-06-01 08:35:13 -07:00
Dirk Dougherty
8ebfb8c9c3 am fdc0c861: am b18c7254: am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit 'fdc0c8618b4e51c322f747202ff94508124e7c9c':
  Doc change: restore warning not to abort NEW_OUTGOING_CALL.
2013-06-01 08:32:11 -07:00
Dirk Dougherty
fdc0c8618b am b18c7254: am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit 'b18c725442e498a6447de37c3b9428b09837eda9':
  Doc change: restore warning not to abort NEW_OUTGOING_CALL.
2013-06-01 08:28:48 -07:00
Dirk Dougherty
b18c725442 am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit 'a404a62951ad8a2d657a587feb12780e725296e3':
  Doc change: restore warning not to abort NEW_OUTGOING_CALL.
2013-06-01 08:26:32 -07:00
Adam Powell
04fe6ebb9f Fix a bug resolving the correct icon/logo in action bars
Remove some abstraction-breaking magic in ActionBarView and replace it
with proper resolution of the icon/logo when creating a window. The
old implementation relied on the ActionBarView's context being an
Activity.

Bug 9171554

Change-Id: Idbbb1942622195dcb55e8119f2d64287b07bb509
2013-05-31 15:00:24 -07:00
Dirk Dougherty
4fad5c176a Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs 2013-05-31 21:08:45 +00:00
Adam Powell
087d2b2df7 Merge "Optimizations for ResolverActivity" 2013-05-30 01:43:32 +00:00
Adam Powell
0256c6f8d3 Optimizations for ResolverActivity
Load app icons using AsyncTask instead of during list item binding.

Make sorting resolved components by display name case insensitive.

Change-Id: I8e69781ed021035b9f0dac349791b3d8a674cf60
2013-05-29 18:14:08 -07:00
Dirk Dougherty
8f114bb2ae am 2bf15756: am 91ea7882: am f64588a2: am de8ac602: am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit '2bf15756cc416644a4777d76a94947bee75d8b3b':
  Doc change: adjust description of NEW_OUTGOING_CALL.
2013-05-29 15:25:32 -07:00
Dirk Dougherty
932fbcc817 Doc change: restore warning not to abort NEW_OUTGOING_CALL.
Change-Id: Icdd4ae184b2a989ac2967420cb5b471aac70808f
2013-05-29 15:19:14 -07:00
Dirk Dougherty
2bf15756cc am 91ea7882: am f64588a2: am de8ac602: am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit '91ea7882cdba6bef7918fcd4ff645a9693fdc861':
  Doc change: adjust description of NEW_OUTGOING_CALL.
2013-05-29 15:18:45 -07:00
Dirk Dougherty
91ea7882cd am f64588a2: am de8ac602: am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit 'f64588a2ce6a0e4e76d7d48c47f82785553b13f3':
  Doc change: adjust description of NEW_OUTGOING_CALL.
2013-05-29 11:42:03 -07:00
Dirk Dougherty
f64588a2ce am de8ac602: am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit 'de8ac602e3d74dbcb87dfc4c1cc54fb0553e5f17':
  Doc change: adjust description of NEW_OUTGOING_CALL.
2013-05-28 22:23:11 -07:00
Dirk Dougherty
de8ac602e3 am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs
* commit '963e3ec55f2ecbb132a627c8d0f6c19d83bc60b8':
  Doc change: adjust description of NEW_OUTGOING_CALL.
2013-05-28 22:21:09 -07:00
Santos Cordon
57f0de1291 am d8754689: am c72949c6: am 7999c228: am 7fb15ce7: Update documentation of NEW_OUTGOING_CALL
* commit 'd8754689595ab4b5e4e43a89178080d344374869':
  Update documentation of NEW_OUTGOING_CALL
2013-05-28 22:18:48 -07:00
Santos Cordon
d875468959 am c72949c6: am 7999c228: am 7fb15ce7: Update documentation of NEW_OUTGOING_CALL
* commit 'c72949c6bc6f5654f09482309d9d3ac03aadd67d':
  Update documentation of NEW_OUTGOING_CALL
2013-05-28 22:16:51 -07:00
Dirk Dougherty
a284e2013a Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs 2013-05-29 05:16:01 +00:00
Dirk Dougherty
367ce906c8 Doc change: adjust description of NEW_OUTGOING_CALL.
Change-Id: If2bcfa7410759e08958029578a9b3d0a60a1de4e
2013-05-28 17:59:38 -07:00
Santos Cordon
7fb15ce74b Update documentation of NEW_OUTGOING_CALL
Adds call-handling as a use case for NEW_OUTGOING_CALL

Change-Id: Ie511438bd8d9aa245881f050d32221c81e898745
2013-05-28 16:00:11 -07:00
Dianne Hackborn
f8b8521598 am 89eed125: am c7322005: am f9b41efe: Merge "Don\'t include flags in configuration change if their value hasn\'t changed."
* commit '89eed125590c6286fa64e9074e95196c8cc4bd27':
  Don't include flags in configuration change if their value hasn't changed.
2013-05-28 13:49:56 -07:00
Dianne Hackborn
c73220050e am f9b41efe: Merge "Don\'t include flags in configuration change if their value hasn\'t changed."
* commit 'f9b41efe17718a21df115d95c47a94d97a767076':
  Don't include flags in configuration change if their value hasn't changed.
2013-05-26 00:02:37 -07:00
Dianne Hackborn
f4bf0ae2a7 New ArrayMap class.
This is a new kind of key/value mapping that stores its data
as an array, so it doesn't need to create an extra Entry object
for every mapping placed in to it.  It is also optimized to reduce
memory overhead in other ways, by keeping the base object small,
being fairly aggressive about keeping the array data structures
small, etc.

There are some unit and performance tests dropped in to some
random places; they will need to be put somewhere else once I
decided what we are going to do with this for the next release
(for example if we make it public the unit tests should go in
to CTS).

Switch IntentResolver to using ArrayMap instead of HashMap.

Also get rid of a bunch of duplicate implementations of binarySearch,
and add an optimization to the various sparse arrays where you can
supply an explicit 0 capacity to prevent it from doing an initial
array allocation; use this new optimization in a few places where it
makes sense.

Change-Id: I01ef2764680f8ae49938e2a2ed40dc01606a056b
2013-05-24 16:36:14 -07:00
Santos Cordon
5c6370a405 am 8e3f01e9: am c1de2404: Merge "Update documentation of NEW_OUTGOING_CALL" into jb-mr2-dev
* commit '8e3f01e90ed51b055e0addb7d5114b732bd514b9':
  Update documentation of NEW_OUTGOING_CALL
2013-05-17 17:19:00 -07:00
Santos Cordon
ba70136713 Update documentation of NEW_OUTGOING_CALL
Adds call-handling as a use case for NEW_OUTGOING_CALL

bug: 8987211
Change-Id: Icd9c53a2dd1a5948a749e133600db21c2560fd1f
2013-05-17 15:58:12 -07:00
Danny Baumann
e7123a6601 Don't include flags in configuration change if their value hasn't changed.
This makes the check in updateFrom() match the logic in diff().

Change-Id: I3ab4e8460f7fbf985ef55b9514a8aa90d401d486
2013-05-15 11:12:42 +02:00
Amith Yamasani
ecd5afe1ef resolved conflicts for merge of 069d7e9b to master
Change-Id: Ia8fd5de3d4cc275fd358132bcb2c198d1e7b6877
2013-05-09 17:07:08 -07:00
Amith Yamasani
6fc1d4e8e6 Cache the scaled avatar drawables in the keyguard user switcher
Loading the avatar icons and drawing them into the sized bitmap
turns out to be quite expensive and the cost increases with number
of users. Caching them shaves off several hundred milliseconds from
Keyguard inflation time during user switching on the lockscreen.

For instance, 15ms vs. 750ms with 3 avatars on a certain 7" tablet.

Bug: 7986933
Change-Id: I3e2065bfa25aa263133ba204ca364c3b04d7c0ff
2013-05-09 14:44:38 -07:00
Dianne Hackborn
3aa49b6fec New UndoManager.
Basic implementation of an undo manager.  Supports
multi-level undo/redo, building on the top undo state
as edits occur, managing multiple distinct entities in
the undo state (such as embedded objects in a document),
and saving/restoring the full undo state.  Still some
work remaining on correctly dealing with dependencies
between undo states that hold multiple owners.

Also do a simple implementation of undo state in TextView
to see how things actually work.  The implementation here
is very primitive: it needs a lot more work to correctly
identify when to merge undo ops, is not trying to do
anything smart with style spans, etc.

Change-Id: Ie30f4e133351e2f569ffb48c6c44a2b19cadee27
2013-05-07 15:05:09 -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
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
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
Jeff Sharkey
9ab3fd4565 Unhide extra to fix docs build.
Change-Id: Ib757b5d62e6ff7f4623680fb5faba337de46aa02
2013-05-01 18:14:16 -07: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 Sharkey
32559e191f Decorate AssetFileDescriptor with Closeable.
Change-Id: I1f5f462b781a6e8fad77337006febd9c54694c0b
2013-04-29 11:22:20 -07:00
Jeff Sharkey
2b4d22cda3 Disable various sampling event logs.
They're unused at the moment.

Change-Id: Ib629b405e7b6666d38fcd0ebaa16490bfb0e95f0
2013-04-26 10:52:00 -07:00
Amith Yamasani
4699b68859 am 269c068d: am df181185: Merge "Hide TYPE_CHOICE_LEVEL since there\'s no visual representation for it yet." into jb-mr2-dev
* commit '269c068de9ffb44aefa0bca99c77636263f8b8fb':
  Hide TYPE_CHOICE_LEVEL since there's no visual representation for it yet.
2013-04-25 13:50:26 -07:00
Amith Yamasani
d5e946a52c Hide TYPE_CHOICE_LEVEL since there's no visual representation for it yet.
Bug: 8704663
Change-Id: Ia9931e3844305c8f84c127506ffedf3a17eeb80d
2013-04-24 21:37:36 -07:00
Matthew Xie
ae8ffa0f4e am 2e0a94d2: am b442d074: Merge "Add hardware feature android.hardware.bluetooth.le" into jb-mr2-dev
* commit '2e0a94d22b1bd25c4fa9442e03c596bd0cb3fe76':
  Add hardware feature android.hardware.bluetooth.le
2013-04-23 15:54:55 -07:00
Matthew Xie
b442d07469 Merge "Add hardware feature android.hardware.bluetooth.le" into jb-mr2-dev 2013-04-23 22:47:52 +00:00
Matthew Xie
a722772b28 Add hardware feature android.hardware.bluetooth.le
The feature is used to differ platforms that support bluetooth low
engery radio
bug 8369273

Change-Id: Ibe23da73f7ecfa854bdb8b8bfc1a32b8e3aeee56
2013-04-23 11:53:41 -07:00
Nick Pelly
dfe49e9c9f am 09e9e1a5: am edced26f: Merge "Add ContentValues & CursorWindow to framework.aidl" into jb-mr2-dev
* commit '09e9e1a5e7e3dd161b73f4254f239cab0410438a':
  Add ContentValues & CursorWindow to framework.aidl
2013-04-23 11:16:11 -07:00
Nick Pelly
edced26f16 Merge "Add ContentValues & CursorWindow to framework.aidl" into jb-mr2-dev 2013-04-23 00:07:19 +00:00
Nick Pelly
bb392ba5f7 Add ContentValues & CursorWindow to framework.aidl
By adding these stubs, they will be automatically added to framework.aidl
in sdk builds.

This makes it easier for unbundled apps to pass these objects across
AIDL calls.

ContentValues & CursorWindow are already public Parcelables. It is an
oversight that they were not already in framework.aidl.

There are a lot of other public Parcelables that are missing from
framework.aidl. This just fixes two commonly requested ones.

Change-Id: If61e19b1206da1680413d9ea03de87a90b6d233e
2013-04-23 08:30:34 +10:00
Dianne Hackborn
4c2b007b5e am 5b00f558: am b3bffa80: Merge "Follow up on issue #8159072: Spinner widget should be RTL\'ized" into jb-mr2-dev
* commit '5b00f5584a7894bb79f9ce369d88cea5d886ff22':
  Follow up on issue #8159072: Spinner widget should be RTL'ized
2013-04-20 21:36:51 -07:00
Dianne Hackborn
f1ae269c06 Follow up on issue #8159072: Spinner widget should be RTL'ized
Only allow through changing direction configs for drawables.

Explicitly map layout direction values to an index in the
preload arrays.

Drawables that don't vary by configuration should go in to both
the rtl and ltr preloads.

Change-Id: Ib92dd11738082a795e02d1d4191adb54702d651c
2013-04-19 14:50:27 -07:00
Amith Yamasani
8dc25e0680 am ba567014: am e37c8f78: Merge "Improve API and documentation" into jb-mr2-dev
* commit 'ba56701493ede3f5f338a03173da0327a215b223':
  Improve API and documentation
2013-04-19 12:49:40 -07:00