Commit Graph

2292 Commits

Author SHA1 Message Date
Jeff Brown
e769cdf017 am 1491aaf5: am 14006523: am 33282d66: am a41ddccd: Merge "Fixed typo errors in documentation"
* commit '1491aaf503de47491bc97457c77bb51c0320793e':
  Fixed typo errors in documentation
2014-03-11 00:38:01 +00:00
Jeff Brown
1400652309 am 33282d66: am a41ddccd: Merge "Fixed typo errors in documentation"
* commit '33282d66155e8d68acea512989ec61cb15fae1ce':
  Fixed typo errors in documentation
2014-03-11 00:11:14 +00:00
Jeff Brown
a41ddccdc6 Merge "Fixed typo errors in documentation" 2014-03-11 00:06:25 +00:00
Narayan Kamath
ca35c18a37 am cd4874cf: am d265bcc4: Merge "Inform libcore of time format pref. changes."
* commit 'cd4874cfdc00d17454529b5dca85a487c7c2de77':
  Inform libcore of time format pref. changes.
2014-03-07 16:11:29 +00:00
Jorim Jaggi
2d171a5bce Merge "Change appearance of notifications to light theme." 2014-03-07 14:07:07 +00:00
Narayan Kamath
ccb2a086fe Inform libcore of time format pref. changes.
- Introduce a boolean extra for intent TIME_CHANGED that
  specifies if the user wants a 24 hour format or not.
- Have the ActivityManagerService inform running processes
  of changes to this preference.
- Add plumbing in ActivityThread to inform j.t.DateFormat

(cherry-picked from dd491cc756233c088fd26eba4918671fcc9cfc30)

Change-Id: Ib90636bda4bc8332cfa22def831877b524b5c486
2014-03-07 13:55:23 +00:00
Narayan Kamath
27ad525c7e Inform libcore of time format pref. changes.
- Introduce a boolean extra for intent TIME_CHANGED that
  specifies if the user wants a 24 hour format or not.
- Have the ActivityManagerService inform running processes
  of changes to this preference.
- Add plumbing in ActivityThread to inform j.t.DateFormat

Change-Id: I05fafb903ae54e39c03a048b7a219dc5a93fd472
2014-03-07 13:48:04 +00:00
Jorim Jaggi
39fa59fc49 Change appearance of notifications to light theme.
Change-Id: Ic15e96582d6b46b4dc195b1c7c0cef38f25f0d38
2014-03-07 14:34:17 +01:00
Narayan Kamath
21fc8ba39c Support deprecated language codes.
Locale.toLanguageTag will transform the obsolete (and
deprecated) language codes "in", "ji" and "iw" to
"id", "yi" and "he" respectively.

All versions of android prior to "L" used the deprecated
language tags, so we will need to support them for backwards
compatibility.

bug: 13230947

Change-Id: Ib63567786bcbe780ceb0487d8f583b75a5452aea
2014-03-06 12:15:43 +00:00
John Spurlock
9abfa111a3 am 388eece1: am d708b2f1: am e3a6a7b4: am 841aa8db: am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter.
* commit '388eece1eae65d460d1cd29afe1ac9df79bf2885':
  Doc fixups to ContentResolver, MediaRouter.
2014-03-03 17:39:44 +00:00
John Spurlock
d708b2f12b am e3a6a7b4: am 841aa8db: am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter.
* commit 'e3a6a7b4693e6efd29f973c8cfe91f5778f847f4':
  Doc fixups to ContentResolver, MediaRouter.
2014-03-03 17:07:22 +00:00
John Spurlock
e3a6a7b469 am 841aa8db: am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter.
* commit '841aa8db20d09d80cd71ef2ed8eaebd4ebccfcc5':
  Doc fixups to ContentResolver, MediaRouter.
2014-03-03 17:04:01 +00:00
John Spurlock
841aa8db20 am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter.
* commit '5237a792aabaa49063b15cefa26f0341ea9cd311':
  Doc fixups to ContentResolver, MediaRouter.
2014-03-03 17:00:49 +00:00
John Spurlock
5237a792aa am 8c44c394: Doc fixups to ContentResolver, MediaRouter.
* commit '8c44c394bf82a9a8b30bef32ddf46aeed31d8ae4':
  Doc fixups to ContentResolver, MediaRouter.
2014-03-03 16:57:22 +00:00
John Spurlock
8c44c394bf Doc fixups to ContentResolver, MediaRouter.
Change-Id: Ie821f971adf8fbbbbb6347713ae658e421d81cb8
2014-03-03 10:14:41 -05:00
Narayan Kamath
a393735a5d am 2589067d: am 9fc8e6fe: am f61add84: am 2000fe58: Merge "Make getAssetInt throw unconditionally."
* commit '2589067d10b5f6a67eb1f789b4cf5943914dd9d2':
  Make getAssetInt throw unconditionally.
2014-02-27 13:25:43 +00:00
Narayan Kamath
9fc8e6fe8f am f61add84: am 2000fe58: Merge "Make getAssetInt throw unconditionally."
* commit 'f61add84c28be06c190d5594a41a7ef84b7666fe':
  Make getAssetInt throw unconditionally.
2014-02-27 13:19:15 +00:00
RoboErik
8fb4cf1ef4 Merge "Move Session apis to android.media.session" 2014-02-26 18:13:35 +00:00
RoboErik
2f5b057da7 Move Session apis to android.media.session
This is to make it easier to distinguish the new apis from the old
ones.

Change-Id: Ic5eaf65e8bd054a844f87b9118c4bb18f30ac8a7
2014-02-25 16:01:55 -08:00
Narayan Kamath
2d19d202bd Make getAssetInt throw unconditionally.
All callers have been moved over to getNativeAsset, and
this method has been hidden from the public API internally.

Change-Id: I5f29b5ddb4449adadf426e49a4085c7320289a15
2014-02-25 15:48:07 +00:00
Kenny Guy
e21c52a8c9 Merge "Hide managed profiles from user switchers." 2014-02-25 13:01:38 +00:00
Kenny Guy
1a447535ce Hide managed profiles from user switchers.
Hide managed profiles from lockscreen user switcher on tablets.
Hide managed profiles from power menu user switcher on phones.
Add flag to enable multi user ui turned off by default.

Change-Id: I4c69a6f7b0f39c249fc85fd940318df1ddab073f
2014-02-24 19:24:42 +00:00
Nicolas Prevot
531270a4a1 Adding the requiredForProfile flag.
Enabling to use requiredForProfile in application manifests
It determines which applications will be installed for managed profiles
and for restricted profiles

Change-Id: I14b4de2c9f41c2bbf5cd9fd0ca6caf5ce2d04131
2014-02-24 18:03:14 +00:00
Sander Alewijnse
627de95925 Merge "Enables a profile owner or device owner to set and clear default intent handler activities." 2014-02-24 10:16:28 +00:00
Alan Viverette
cc3f33853b Allow alpha modulation in ColorStateList items
This makes it much easier to define a disabled state color as an alpha
modulation of some base color.

Change-Id: Ie2ecf40b1f6560fcd8eda208d780616dddfc0d08
2014-02-22 16:52:46 -08:00
Elliott Hughes
449e46600f am 0047d3e0: am e253b514: am 29d60b95: am 8d41e653: Merge "Miscellaneous small documentation fixes."
* commit '0047d3e025b43fd2dc05734f7ea6229291445046':
  Miscellaneous small documentation fixes.
2014-02-21 17:37:54 +00:00
Elliott Hughes
e253b514f4 am 29d60b95: am 8d41e653: Merge "Miscellaneous small documentation fixes."
* commit '29d60b95fa8019c0542f46551057c4d376bb8a7a':
  Miscellaneous small documentation fixes.
2014-02-21 17:28:51 +00:00
Elliott Hughes
8d41e653ba Merge "Miscellaneous small documentation fixes." 2014-02-21 17:19:21 +00:00
Sander Alewijnse
f475ca33d9 Enables a profile owner or device owner to set and clear default intent handler activities.
Those intent handlers are persistent preferences. They will remain the default intent
handler even if the set of potential event handlers for the intent filter changes
and if the intent preferences are reset.

Change-Id: Id0cfae46f93c10d89e441f272096a205ec518dd0
2014-02-21 15:24:20 +00:00
Matt Casey
59270bffe5 Merge "Add more MediaStore constants for playback intents" 2014-02-21 01:18:24 +00:00
Matt Casey
bd7bcf0fba Add more MediaStore constants for playback intents
Constants are derived from this doc:
https://docs.google.com/a/google.com/document/d/1lmlFcTeefLDRp_bpMrXk3yK9nKxoTVfpcShanpLxiMg/edit#heading=h.b16863tyyjzv

That doc contains the full explanation of these changes.

I'm making this change on behalf of {elmas,pengr} who don't have
android source access but designed this in collaboration with
rharagutchi on the play music team. I'll probably have to route any
significant questions through them.

Bug: 12874557
Change-Id: I85a4bee57a2bde519da0dc6de2cad9d036da225c
2014-02-20 17:06:09 -08:00
Justin Koh
0be0a5039b am 7206ac56: am a79ac472: am 744d3473: Merge "Add hardware feature describing a watch." into klp-modular-dev
* commit '7206ac561291298f08809614be95963966a72ca8':
  Add hardware feature describing a watch.
2014-02-20 23:01:25 +00:00
Justin Koh
a79ac472d7 am 744d3473: Merge "Add hardware feature describing a watch." into klp-modular-dev
* commit '744d3473f8a0f9f95e3fdf83670faf6d1551839e':
  Add hardware feature describing a watch.
2014-02-20 17:41:31 +00:00
RoboErik
3328868544 Merge "Initial round of MediaSession APIs" 2014-02-20 00:25:10 +00:00
RoboErik
01fe661ae5 Initial round of MediaSession APIs
This is far from complete but puts the basic components in place
for an app to interact with media sessions.

Change-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f
2014-02-19 13:41:37 -08:00
Justin Koh
b5731f091c Add hardware feature describing a watch.
Add hardware feature describing a watch so that hardware can specify that
it is a device that is worn on the body (perhaps the wrist).

Change-Id: I9d4cb7e86067f6ad41b39bcc545222b3b0fbf890
2014-02-18 18:12:24 -08:00
Adam Lesinski
5441745eff am 019b1f26: am 2ea983a5: am 3d9bcb90: Create FEATURE_ constants for print and backup
* commit '019b1f2668ac17f5e52b6ce32a524d26134a062a':
  Create FEATURE_ constants for print and backup
2014-02-18 23:03:37 +00:00
Adam Lesinski
2ea983a567 am 3d9bcb90: Create FEATURE_ constants for print and backup
* commit '3d9bcb90ee6c0ffff93642539ae64fb672c7f14a':
  Create FEATURE_ constants for print and backup
2014-02-18 22:57:37 +00:00
Adam Lesinski
3d9bcb90ee Create FEATURE_ constants for print and backup
Bug:13079822

Change-Id: I6f4b759951d45989e8aad4011fae431ee2ecae0c
2014-02-18 14:33:00 -08:00
Deepanshu Gupta
857ba4af85 Fix layoutlib by avoiding Java7 calls
This change also fixes a NPE in TypedArray caused by changes in the
framework.

Change-Id: Ie64237c567fa16c35c807db22ce9a4b609ee411d
2014-02-17 10:43:01 -08:00
Narayan Kamath
8c1fc83445 am 28879bbf: am be57fca4: Merge "Extended locales in AAPT / AssetManager."
* commit '28879bbfe89dc4bf2067a7183975ecffb82f68e6':
  Extended locales in AAPT / AssetManager.
2014-02-17 11:06:38 +00:00
Narayan Kamath
788fa41482 Extended locales in AAPT / AssetManager.
Support 3 letter language codes, script codes &
variants. The bulk of the changes are related to
the implementation of command line filtering of
locales etc. The previous code assumed that the
value of each "axis" (locale, density, size etc.)
could be represented by a 4 byte type. This is
no longer the case.

This change introduces a new class, AaptLocaleValue
which holds a (normalized) locale parsed from a
directory name or a filter string. This class takes
responsibility for parsing locales as well as
writing them to ResTable_config structures, which is
their representation in the resource table.

This includes minor changes at the java / JNI level
for AssetManager. We now call locale.toLanguageTag()
to give the native layer a well formed BCP-47 tag.
I've removed some duplicated parsing code in
AssetManager.cpp and replaced them with functions on
ResTable_config. The native getLocales function has
been changed to return well formed BCP-47 locales as
well, so that the corresponding java function can use
Locale.forLanguageTag to construct a Locale object
out of it.

Finally, this change introduces default and copy
constructors for ResTable_config to prevent having
to memset() the associated memory to 0 on every
stack allocation.

(cherry-picked from commit 91447d88f2)

Change-Id: I1b43086860661012f949fb8e5deb7df44519b854
2014-02-14 14:08:57 +00:00
Nick Kralevich
d5c8044e7e resolved conflicts for merge of 1cbea39f to master
Change-Id: Ib33484546c6a03cbc4cd96e97d9d785d68e10700
2014-02-12 14:41:25 -08:00
Nick Kralevich
dd3d95f182 resolved conflicts for merge of 4ad93639 to klp-modular-dev-plus-aosp
Change-Id: I7ad222301ec0b863d48a1a9a839469436c385ea0
2014-02-12 11:05:59 -08:00
Kenny Guy
826e51c4da Merge "Add concepts of related users and managed profiles to user manager." 2014-02-11 19:27:36 +00:00
Kenny Guy
a52dc3eb40 Add concepts of related users and managed profiles to user manager.
Related users are a group that will share things like notifications.
Managed profiles are a profile of another user.

Change-Id: I2d0532f1abf939810f0fa3fc7c77ad13fa567833
2014-02-11 15:33:14 +00:00
Narayan Kamath
91447d88f2 Extended locales in AAPT / AssetManager.
Support 3 letter language codes, script codes &
variants. The bulk of the changes are related to
the implementation of command line filtering of
locales etc. The previous code assumed that the
value of each "axis" (locale, density, size etc.)
could be represented by a 4 byte type. This is
no longer the case.

This change introduces a new class, AaptLocaleValue
which holds a (normalized) locale parsed from a
directory name or a filter string. This class takes
responsibility for parsing locales as well as
writing them to ResTable_config structures, which is
their representation in the resource table.

This includes minor changes at the java / JNI level
for AssetManager. We now call locale.toLanguageTag()
to give the native layer a well formed BCP-47 tag.
I've removed some duplicated parsing code in
AssetManager.cpp and replaced them with functions on
ResTable_config. The native getLocales function has
been changed to return well formed BCP-47 locales as
well, so that the corresponding java function can use
Locale.forLanguageTag to construct a Locale object
out of it.

Finally, this change introduces default and copy
constructors for ResTable_config to prevent having
to memset() the associated memory to 0 on every
stack allocation.

Change-Id: I899a56a9a182ee6be52b9389d1ae59266f5482e9
2014-02-10 15:50:16 +00:00
Alan Viverette
8eea3ea559 Add APIs for obtaining themed Drawable from Theme, Context
BUG: 12611005
Change-Id: Ic0057be4e4c2d0c61ce02a019b3f7d0625e3a016
2014-02-03 18:42:24 -08:00
Mårten Kongstad
48d22323ce Runtime resource overlay, iteration 2
Support any number of overlay packages. Support any target package.

UPDATED PACKAGE MATCHING
------------------------
In Runtime resource overlay, iteration 1, only a single overlay package
was considered. Package matching was based on file paths:
/vendor/overlay/system/framework-res.apk corresponded to
/system/framework-res.apk. Introduce a more flexible matching scheme
where any package is an overlay package if its manifest includes

    <overlay targetPackage="com.target.package"/>

For security reasons, an overlay package must fulfill certain criteria
to take effect: see below.

THE IDMAP TOOL AND IDMAP FILES
------------------------------
Idmap files are created by the 'idmap' binary; idmap files must be
present when loading packages. For the Android system, Zygote calls
'idmap' as part of the resource pre-loading. For application packages,
'idmap' is invoked via 'installd' during package installation (similar
to 'dexopt').

UPDATED FLOW
------------
The following is an outline of the start-up sequences for the Android
system and Android apps. Steps marked with '+' are introduced by this
commit.

Zygote initialization
   Initial AssetManager object created
+    idmap --scan creates idmaps for overlays targeting 'android', \
           stores list of overlays in /data/resource-cache/overlays.list
   AssetManager caches framework-res.apk
+  AssetManager caches overlay packages listed in overlays.list

Android boot
   New AssetManager's ResTable acquired
     AssetManager re-uses cached framework-res.apk
+    AssetManager re-uses cached 'android' overlays (if any)

App boot
   ActivityThread prepares AssetManager to load app.apk
+  ActivityThread prepares AssetManager to load app overlays (if any)
   New AssetManager's ResTable acquired as per Android boot

SECURITY
--------
Overlay packages are required to be pre-loaded (in /vendor/overlay).
These packages are trusted by definition. A future iteration of runtime
resource overlay may add support for downloaded overlays, which would
likely require target and overlay signatures match for the overlay to
be trusted.

LOOKUP PRIORITY
---------------
During resource lookup, packages are sequentially queried to provide a
best match, given the constraints of the current configuration. If any
package provide a better match than what has been found so far, it
replaces the previous match. The target package is always queried last.

When loading a package with more than one overlay, the order in which
the overlays are added become significant if several packages overlay
the same resource.

Had downloaded overlays been supported, the install time could have been
used to determine the load order. Regardless, for pre-installed
overlays, the install time is randomly determined by the order in which
the Package Manager locates the packages during initial boot. To support
a well-defined order, pre-installed overlay packages are expected to
define an additional 'priority' attribute in their <overlay> tags:

    <overlay targetPackage="com.target.package" priority="1234"/>

Pre-installed overlays are loaded in order of their priority attributes,
sorted in ascending order.

Assigning the same priority to several overlays targeting the same base
package leads to undefined behaviour. It is the responsibility of the
vendor to avoid this.

The following example shows the ResTable and PackageGroups after loading
an application and two overlays. The resource lookup framework will
query the packages in the order C, B, A.

        +------+------+-     -+------+------+
        | 0x01 |      |  ...  |      | 0x7f |
        +------+------+-     -+------+------+
            |                           |
        "android"                Target package A
                                        |
                       Pre-installed overlay B (priority 1)
                                        |
                       Pre-installed overlay C (priority 2)

Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
2014-02-03 11:20:30 +01:00
Alan Viverette
edc4664d60 Fix broken build in BridgeResources
Change-Id: Iec58a2acda6b9538bcb5974d3d5c45ea6e53eac5
2014-02-01 01:43:16 -08:00