Commit Graph

4201 Commits

Author SHA1 Message Date
Makoto Onuki
157b1628fd ShortcutManager: deal with changing resource IDs on app update
- When an app is upgraded, all the resource IDs may change.  So
if a shortcut is previously published with an icon for res ID 100
and the publisher is upgraded, resource #100 may refer to something
different.

- So now the service also remembers resource names for icon resources,
as wells as string resources.  When an app is updated, the service
fetch the updated resource IDs by name.

- Also extract all string resources when a shortcut is published
and persist them, so that even when the original string resources are
removed from the app, the launcher can still show the extracted strings.

- When the system locale changes, re-extract all string resources.

- Also really hide the constants in ShortcutInfo that were
accidentally made public.

Change-Id: I23c29b45c1de5d76175229190a1533c9c62c5960
2016-06-07 16:11:30 -07:00
Makoto Onuki
37087ad710 Merge "ShortcutManager: Implement usage report API" into nyc-mr1-dev 2016-06-03 15:21:45 +00:00
Todd Kennedy
bb8a42da70 Round icons
Allow applications to specify "android:roundIcon" in all places
they can already specify the rectangular "android:icon".

Bug: 28981414
Change-Id: I167163d650db80f4949274d365e7fee9aceacb3a
2016-06-02 15:57:54 -07:00
Makoto Onuki
ac042501c8 ShortcutManager: Implement usage report API
Bug 28536054

Change-Id: I293e8eaad523e3b0d76d562fc381601633451ed3
2016-06-02 15:57:40 -07:00
David Sehr
2855609944 Merge "Installer connection support for dump_profiles" into nyc-dev
am: 7c5bcfc21a

* commit '7c5bcfc21ac87c56c57b1929ce04481fa0e116c7':
  Installer connection support for dump_profiles

Change-Id: I6cf3d4fe88577ef1d149c3c4b1c3ee7160d9c7e6
2016-06-01 23:03:50 +00:00
Jeff Sharkey
f02954ccd5 Merge "Release AssetManagers when ejecting storage." into nyc-dev
am: 380f3b12a4

* commit '380f3b12a4725a0534d62ada7c6f3bd67ebd0d01':
  Release AssetManagers when ejecting storage.

Change-Id: I54282cfcf53279f87e66cc1263ae9663fe94bc04
2016-06-01 23:03:38 +00:00
Makoto Onuki
60585d12e7 Merge "ShortcutManager: API rename" into nyc-mr1-dev 2016-06-01 22:44:11 +00:00
David Sehr
7c5bcfc21a Merge "Installer connection support for dump_profiles" into nyc-dev 2016-06-01 22:16:05 +00:00
TreeHugger Robot
380f3b12a4 Merge "Release AssetManagers when ejecting storage." into nyc-dev 2016-06-01 22:14:57 +00:00
Jeff Sharkey
98bf12f999 Release AssetManagers when ejecting storage.
When ejecting a storage device, the system process needs to rapidly
release any open FDs to prevent itself from being killed by vold.

This change examines all ResourceImpls cached inside the system
process and evicts any that reference the storage device being
ejected.  (ResourcesManager will gladly recreate any evicted entries
when asked again in the future.)

Also replace broken use of WeakHashMap, since we want the values to
be weak references, not the keys.

Bug: 28867548
Change-Id: Ib9cfc66497149b6d3f8d49213e9779408a331d2a
2016-06-01 14:52:27 -06:00
Benjamin Franz
3c826b160c Merge "Add an intent extra to force master clear" into nyc-mr1-dev 2016-06-01 17:13:15 +00:00
Makoto Onuki
eddbfecb8d ShortcutManager: API rename
The words "title" and "text" implies that "text" is a secondary label
that's shown with the title, but it turned out the launcher would show
only one of those depending on how much space it has.

So now we change them to "shortLabel" and "longLabel"

Note we're only changing the API surface -- in order to mimimize
the impact to the code, internally we'll keep using the old names.

- Also remove "shortcutRank" while I'm here -- it should be implied
from the order of the XML elements.

Bug 29057378

Change-Id: I3203f63b0318c7462c1c61fef43cf9755fa8c008
2016-06-01 10:09:10 -07:00
fionaxu
36befb2dbc Merge "trim and strip html tags for load safe label name" into nyc-dev
am: c16bc88fc9

* commit 'c16bc88fc99a6446c77d0b075f242c042bb31ded':
  trim and strip html tags for load safe label name

Change-Id: Ic79f077813fcf2124fe1cbf031cb4e0770a02a51
2016-06-01 16:55:51 +00:00
Chen Xu
c16bc88fc9 Merge "trim and strip html tags for load safe label name" into nyc-dev 2016-06-01 16:47:19 +00:00
David Sehr
a877708286 Installer connection support for dump_profiles
Bug: 28748264
Change-Id: I22322b5a0716a030d9873edcc6dfd7f3ef2d3bca
2016-06-01 08:21:27 -07:00
Benjamin Franz
f9d5e6a3db Add an intent extra to force master clear
Currently, if a priv-app sends ACTION_MASTER_CLEAR, whilst
DISALLOW_FACTORY_RESET is set, the factory reset is blocked. This CL
introduces a new extra for master clear that let's the priv-app bypass
the user restriction.

Bug: 28689894
Change-Id: I4bf979a3826454e977f1abff4562f85c8d0eec4a
2016-06-01 15:45:59 +01:00
fionaxu
e630f35322 trim and strip html tags for load safe label name
Bug: 28557603
Change-Id: I30b6c1d32e97c1fb71ba83c2845c310fe3b7f579
2016-05-31 18:42:18 -07:00
Andrii Kulian
ae01e27755 Merge "Update override config to include some changes from global config" into nyc-dev
am: 88be465ce5

* commit '88be465ce572f84649e01744a7ec96b6346b3686':
  Update override config to include some changes from global config

Change-Id: I2b15d9856f87e66ae9eb1ab6c9b84f7ac3add2ce
2016-06-01 01:20:50 +00:00
Andrii Kulian
f12fce1a3a Update override config to include some changes from global config
In override config for task we set Configuration#screenLayout field based on
initial global config + shrink to fit the area on screen given for this task.
However this field also contains information (like layout direction) that we
do not intend to override and it can be changed in global config separately.
In this case we need to update the override config with changes from global
config.

Bug: 28616488
Change-Id: I22673257621b3f9ae7933b37bd0fb9446c6042ea
2016-05-31 13:14:55 -07:00
Nicolas Geoffray
ff078da846 Merge "Cleanup performDexOpt with instruction sets." into nyc-dev
am: 89f4bff149

* commit '89f4bff149c62baf8371118aed2c4e6ac29976c5':
  Cleanup performDexOpt with instruction sets.

Change-Id: Id973c65cbe87f54a743bfcb89fbe7e4aea45d1c8
2016-05-31 11:36:34 +00:00
TreeHugger Robot
89f4bff149 Merge "Cleanup performDexOpt with instruction sets." into nyc-dev 2016-05-31 11:23:44 +00:00
Christopher Tate
8cc9f36067 Merge "Don\'t call .toString() on potentially null CharSequence" into nyc-dev
am: b182735757

* commit 'b182735757630db7e84e577c999b9e7d8a288353':
  Don't call .toString() on potentially null CharSequence

Change-Id: I7242f7f064f6695956a9b529f38c2ece82effbcb
2016-05-28 00:57:39 +00:00
Christopher Tate
f135b271bf Don't call .toString() on potentially null CharSequence
We're building an exception message string, but by explicitly invoking
.toString() we're accidentally triggering an NPE rather than the typed
exception we want to throw.  Build the string in a way that will be
safe and sensical even if the CharSequence is null.

Bug 29009255

Change-Id: I1813260f0b36fd44506b8327f997dd20c2d6c8bf
2016-05-27 17:13:10 -07:00
Makoto Onuki
5b11a81f9f Merge "ShortcutManager: Implement get-drawable APIs" into nyc-mr1-dev 2016-05-27 22:48:33 +00:00
Felipe Leme
8c8ea506d9 Merge "Allow apps to bypass Power Save restrictions when launched from a Notification\'s PendingIntent." into nyc-dev
am: efa291a860

* commit 'efa291a8605e91d775faf46ada349ec7f81fcdb9':
  Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.

Change-Id: Ibd09b082140b66d25bd8583040761581bb20af76
2016-05-27 20:04:22 +00:00
Felipe Leme
a1b79bfd7a Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.
This scenario typically happens when the device is on Doze Mode and a
notification action is triggered from a Wear device.

In a nutshell, the workflow is:

- ProcessRecord has a flag telling whether a process has "whitelist
  management" privileges.
- When NotificationManager binds a new NotificationListenerService, it
  sets the BIND_ALLOW_WHITELIST_MANAGEMENT flag.
- On bind(), ActiveService asserts that only system apps can set that
  flag.
- On computeOomAdjLocked(), ActivityManagerService sets the
  ProcessRecord flag if necessary.
- Upon creating a notification, NotificationManager calls AM to mark its
  PendingIntents as coming from a notification.
- When PendingIntentRecord sends it to the target, it checks if it's
  from a notification and if so calls AM to do the temp whitelist.
- On unbind(), ActiveService removes the ProcessRecord flag if necessary.

Fixes: 28818704

Change-Id: I00d46036a2cbb73f7f733fd35bf0b743a02807a1
2016-05-27 11:45:09 -07:00
Makoto Onuki
04b9aab945 ShortcutManager: Implement get-drawable APIs
Bug 28594168

Change-Id: I750e800b59dca56877ba78baac808aff93acd19d
2016-05-27 10:49:17 -07:00
Makoto Onuki
22fcc68e6b ShortcutManager: Support manifest shortcuts
- Now apps can publish shortcuts via AndroidManifest.xml
(Sample: I5b127150)

- Rename some APIs per API council feedback

- Publishers can now "disable" shortcuts.
(https://docs.google.com/presentation/d/1raUn1QBURDb1yrd6mSmVxII9ezNh3MWukODdtufJ29U/edit#slide=id.g13ef592464_7_39)

Bug 28785283
Bug 28536066

Change-Id: I4a126841e43e40139bb4baa6d0f98ad7b3a75ac1
2016-05-27 09:40:58 -07:00
Nicolas Geoffray
fb6cf77a67 Cleanup performDexOpt with instruction sets.
Always use the packages' derived instruction sets.

This fixes a bug where otas and background dexopt would only
look at one instruction set.

bug:28994818

Change-Id: I730b59d24943c71de30adb485a823fd79c6806a6
2016-05-27 14:15:31 +01:00
Jeff Sharkey
19e2f49181 Merge "API council feedback: hide and document." into nyc-dev
am: dfe232c763

* commit 'dfe232c7636d16379191442bdb2bac59d7a60f5c':
  API council feedback: hide and document.

Change-Id: Icfcb4e2a9892ecc5dab61cb78598e48fa7714a26
2016-05-25 20:51:07 +00:00
TreeHugger Robot
dfe232c763 Merge "API council feedback: hide and document." into nyc-dev 2016-05-25 20:43:56 +00:00
Adam Lesinski
5e5e871fdc Merge "Improve performance of LocaleList with Resources" into nyc-dev
am: bb26248bbb

* commit 'bb26248bbba6e4014ea89a97b86618b7289a5f29':
  Improve performance of LocaleList with Resources

Change-Id: I307b4a7c78ff04797fda041afa8106b082951bc9
2016-05-24 21:34:48 +00:00
Adam Lesinski
b61e405397 Improve performance of LocaleList with Resources
We allow each individual Resources object to select the best
Locale for the given APK. This allows one update to the configuration
instead of multiple updates, once the locale is chosen.

The Java locale is selected from the app context's locale.

Bug:28625993
Bug:27325465
Change-Id: I99e1e53f522e560f3b80bbd1e1c605f552dbdff0
2016-05-24 12:54:48 -07:00
Chad Brubaker
c6a49bb008 Merge "Use an attribute for the network security config resource" into nyc-dev
am: 6812bdf387

* commit '6812bdf38797101d3744befe70f3501b75f01ce6':
  Use an attribute for the network security config resource

Change-Id: I470b8e991d590135223066d18b49ff123e0b1f6e
2016-05-23 02:32:19 +00:00
TreeHugger Robot
6812bdf387 Merge "Use an attribute for the network security config resource" into nyc-dev 2016-05-23 02:23:26 +00:00
Seigo Nonaka
5ac2c3b4a0 Merge "Clear locales without changing layout direction." into nyc-dev
am: 6686711ba2

* commit '6686711ba289740a20dc15133aed4a2b5bac5d44':
  Clear locales without changing layout direction.

Change-Id: I5c7714d3ef54fc7caf6580837d48a1b79e56a892
2016-05-20 19:52:54 +00:00
Roozbeh Pournader
6686711ba2 Merge "Clear locales without changing layout direction." into nyc-dev 2016-05-20 19:42:31 +00:00
Seigo Nonaka
bd5cac67b8 Clear locales without changing layout direction.
Calling Configuration.setLocales with emtpy LocaleList may change the
layout direction to LTR. To clear the locales in Configuration without
layout direction change, introduce hidden API to Configuration.

Bug: 28695661
Change-Id: I47c339dffb83099bd329ddb60237dab27b05f593
2016-05-20 17:59:35 +00:00
Jeff Sharkey
d21cad13a6 API council feedback: hide and document.
Hide isMetered() and clarify moveDatabaseFrom() docs.

Bug: 28870582, 28775585
Change-Id: Iabe63045c39ce7f662488f4224b56387c3c59519
2016-05-20 11:34:55 -06:00
Chad Brubaker
c845b2a21c Use an attribute for the network security config resource
Originally we went with the meta-data approach to make unbundling
easier, however with the amount of platform changes that the config
ended up relying on it would be better to focus on exposing it through
the platform.

Bug:28763009
Change-Id: Iaf80001b1980220cd2e1e05faf2dc86af41700e1
2016-05-19 17:25:41 -07:00
Andrii Kulian
ede05733f0 Merge "Workaround for ignored resizeableActivity param" into nyc-dev
am: 005f9a73fb

* commit '005f9a73fbecdb8d0d05eb699d0f02d745110495':
  Workaround for ignored resizeableActivity param

Change-Id: I93844e807cbedc50b26f98916fe3e79e0ef9afa2
2016-05-19 08:06:02 +00:00
Andrii Kulian
005f9a73fb Merge "Workaround for ignored resizeableActivity param" into nyc-dev 2016-05-19 07:57:20 +00:00
Andrii Kulian
1699b51cbe Merge "Rename minWidth/Height attributes" into nyc-dev
am: 42b3acf9d3

* commit '42b3acf9d3eed15324bfa67e92ad751a10e45718':
  Rename minWidth/Height attributes

Change-Id: Id7d89884ea46b3900459af10f5b4a4b32139ddd8
2016-05-19 01:48:29 +00:00
Andrii Kulian
42b3acf9d3 Merge "Rename minWidth/Height attributes" into nyc-dev 2016-05-19 01:42:15 +00:00
Andrii Kulian
3f8dc15861 Workaround for ignored resizeableActivity param
If <uses-sdk> tag is below <application> in AndroidManifest.xml then,
when activity is parsed, targetSdkVersion param is not yet set correctly.
Because of that we're defaulting to RESIZE_MODE_FORCE_RESIZEABLE and the
param resizeableActivity will be ignored.
This CL checks if resizeableActivity was set explicitly when targetSdkVersion
is less than N (or not set).

Bug: 28020462
Change-Id: I099f6c00dd50547ddea873e47dbb447869d0be6f
2016-05-18 17:49:26 -07:00
Amith Yamasani
dbf0dbd8c2 Merge "Retail mode flag and some clients for it" into nyc-mr1-dev 2016-05-18 20:57:12 +00:00
Svet Ganov
75a364eabf Merge "Hide ephemeral API" into nyc-dev
am: 68c2919f70

* commit '68c2919f70299352ae649e1d7a05e9431f8b7aa0':
  Hide ephemeral API

Change-Id: I033dcf9e551cf3a110aea0b3493e3cdad9a38d80
2016-05-18 20:16:33 +00:00
Svetoslav Ganov
68c2919f70 Merge "Hide ephemeral API" into nyc-dev 2016-05-18 20:10:28 +00:00
Robert Sesek
a83b4cfc74 Merge "Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE." into nyc-dev
am: f45bc095c6

* commit 'f45bc095c6cef916f5f801fb320b3413f0fc099a':
  Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE.

Change-Id: Ie16d11c4aaa515a570b8b717241d556903198d24
2016-05-18 15:32:18 +00:00
Robert Sesek
f45bc095c6 Merge "Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE." into nyc-dev 2016-05-18 15:25:41 +00:00