Commit Graph

3987 Commits

Author SHA1 Message Date
Makoto Onuki
49f6fbcd1f Merge "Implement the launcher side permission." into nyc-dev 2016-03-14 22:12:16 +00:00
Makoto Onuki
2d5b465fa9 Implement the launcher side permission.
Only the default launcher can call the LauncherApps shortcut APIs.

Bug 27548047

Change-Id: I6d597fcad80c5201a2f93b8cbecd567fc79926d8
2016-03-14 15:00:58 -07:00
Todd Kennedy
791a154648 Merge "Fix API" into nyc-dev 2016-03-14 21:31:44 +00:00
Todd Kennedy
948b702f39 Fix API
change name and allow passing in a boolean

Change-Id: I29b9765fedbd6b49878bb75df782012ad87a6866
2016-03-14 14:29:52 -07:00
Wale Ogunwale
0fbdab8397 Merge "Added more info to FLAG_ACTIVITY_LAUNCH_ADJACENT documentation" into nyc-dev 2016-03-14 19:27:39 +00:00
Wale Ogunwale
6bdf257d43 Added more info to FLAG_ACTIVITY_LAUNCH_ADJACENT documentation
Developers need to add FLAG_ACTIVITY_MULTIPLE_TASK flag if they don't
want an existing instance of their activity to be used.

Bug: 27604971
Change-Id: I80791ba9b8a68e4ffcf7a5b9a963f27239071037
2016-03-14 19:26:37 +00:00
Jeff Sharkey
815c6a8716 Merge "Offer to cache ContentResolver-related Bundles." into nyc-dev 2016-03-14 18:36:32 +00:00
Jeff Sharkey
8731408b11 Offer to cache ContentResolver-related Bundles.
There are a handful of core system services that collect data from
third-party ContentProviders by spinning them up and then caching the
results locally in memory.  However, if those apps are killed due to
low-memory pressure, they lose that cached data and have to collect
it again from scratch.  It's impossible for those apps to maintain a
correct cache when not running, since they'll miss out on Uri change
notifications.

To work around this, this change introducing a narrowly-scoped
caching mechanism that maps from Uris to Bundles.  The cache is
isolated per-user and per-calling-package, and internally it's
optimized to keep the Uri notification flow as fast as possible.
Each Bundle is invalidated whenever a notification event for a Uri
key is sent, or when the package hosting the provider is changed.

This change also wires up DocumentsUI to use this new mechanism,
which improves cold-start performance from 3300ms to 1800ms.  The
more DocumentsProviders a system has, the more pronounced this
benefit is.  Use BOOT_COMPLETED to build the cache at boot.

Add more permission docs, send a missing extra in DATA_CLEARED
broadcast.

Bug: 18406595
Change-Id: If3eae14bb3c69a8b83a65f530e081efc3b34d4bc
2016-03-14 11:45:50 -06:00
Polina Bondarenko
7020aa66bf Merge "Renamed HARDWARE_PROPERTIES_SERVICE to hardware_properties." into nyc-dev 2016-03-14 17:41:57 +00:00
Alan Viverette
781fbf28c7 Merge "Ensure all Java-side usages of config flags are using Java flags" into nyc-dev 2016-03-14 15:01:51 +00:00
Alan Viverette
ac85f90466 Ensure all Java-side usages of config flags are using Java flags
Previously we were using native config flags in some places that expected
Java flags, and vice-versa. All usages of config flags are now annotated
to ensure we're using the right type.

Cleans up annotations on most methods that were touched.

Bug: 21161798
Change-Id: Ifd87dfb12199fc8258915d8a510e03ddb681ca89
2016-03-11 15:15:51 -05:00
Todd Kennedy
b0f6e311ce Merge "Allow app downgrades" into nyc-dev 2016-03-11 19:38:35 +00:00
Todd Kennedy
c84d1ab11a Allow app downgrades
only system apps can do this

Change-Id: If0947f13f5c447f9396690bfda3ad40b07fbbb6b
2016-03-11 11:37:17 -08:00
Todd Kennedy
1374af2c7b Merge "Add minSdk to dumpsys" into nyc-dev 2016-03-11 19:26:37 +00:00
Todd Kennedy
89d60189cd Add minSdk to dumpsys
Bug: 27526333
Change-Id: I0148275013ebab899bcb63c07d71a840539c1863
2016-03-11 11:18:32 -08:00
Makoto Onuki
7a6a05f0cc Test for ShortcutManager.updateShortcuts(), also
... fix bugs

Bug 27548047

Change-Id: Ia55d35521912dcba2fb1bb9c20588a83d1a2d004
2016-03-10 18:01:06 -08:00
Adam Lesinski
58f1018c56 Merge "Cache per-Activity Resources objects" into nyc-dev 2016-03-10 20:50:40 +00:00
Adam Lesinski
082614c6a5 Cache per-Activity Resources objects
Each Activity has a Resources object whose underlying state changes
when a configuration change occurs, both global and for that activity only (multi-window).
Views and other clients of the Resources object can safely cache it knowing that
they always have a reference to the most up-to-date resources.

This applies to Resources.Theme objects as well.

Bug:26854894
Change-Id: Ifd3da5a1086e17f747dfc265a447fe92a3a5c692
2016-03-10 11:30:18 -08:00
Kenny Guy
ab750d283a Merge "Update docs to make suspend then uninstall clear." into nyc-dev 2016-03-10 19:19:08 +00:00
Todd Kennedy
23ca16865a Merge "fix docs" into nyc-dev 2016-03-10 18:11:31 +00:00
Todd Kennedy
1ed6b87634 fix docs
No code change; just doc clarification per API Review Council suggestions

Bug: 27531045
Change-Id: Ib1eef9635d68d44be596888b46de0650883d118c
2016-03-10 10:07:00 -08:00
Jesse Hall
39ceeb5472 Refer to hasSystemFeature(String, int) in Vulkan feature docs
Bug: 27531286
Change-Id: Ifb32ae519fc8118923d6216e1d574cbbf83dfd23
2016-03-10 09:04:26 -08:00
Kenny Guy
871f3ebb56 Update docs to make suspend then uninstall clear.
Update docs to say suspending then unintalling an
app unsuspends the app. Point out admin can block
uninstall if they want.

Bug: 26935242
Change-Id: I4390fa20c9d8954b36ff80fc449b62891eee598c
2016-03-10 14:04:43 +00:00
Joe Onorato
04a72a2a51 Merge "Add an API for apps to get their System Health / Battery Stats data." into nyc-dev 2016-03-10 00:52:03 +00:00
Joe Onorato
713fec85b8 Add an API for apps to get their System Health / Battery Stats data.
Change-Id: Ib27e1be469b826f6d83d73ce6024102bbdb1d47a
2016-03-09 15:47:24 -08:00
Todd Kennedy
f96eee36df Merge "remove splits" into nyc-dev 2016-03-09 23:43:21 +00:00
Todd Kennedy
eb9b05392a remove splits
Individual splits can now be removed for an application. The
application will be terminated if it's running when a split is
removed.

To remove a split, either use either "uninstall":
    $ adb shell cmd package uninstall <PACKAGE> <SPLIT>

or "install-remove":
    $ adb shell cmd package install-create -r -p <PACKAGE>
    $ adb shell cmd package install-remove <SESSION> <SPLIT>
    $ adb shell cmd package install-commit <SESSION>

For "install-remove" you must use '-r' and '-p' when creating
the session.

Bug: 27547051
Change-Id: I4d71a19ad45e39f6622d9ab6791ea8c4230a79e0
2016-03-09 15:34:00 -08:00
Polina Bondarenko
8333c7327f Renamed HARDWARE_PROPERTIES_SERVICE to hardware_properties.
Bug: 27531271
Change-Id: I7a86c6e320fa7fd803db3927c4cdfeeb019762ca
2016-03-09 19:02:41 +01:00
Makoto Onuki
5504622fb0 ShortcutManager: add remaining APIs.
- Icons are now persisted. (under /data/system_ce, as PNGs)
- the "load icon" APIs in LauncherApps are supported.
- Implement updateShortcuts()

- Addressed all the comments on the previous CL
- @hide the newly added constructor for PersistableBundle

- Enhance incoming shortcut validation
- A lot of internal clean-up.

Bug 27548047

Change-Id: I8e3c1ccd3e0a997a6d271c84d81170f0c022b60e
2016-03-08 18:37:32 -08:00
Makoto Onuki
43204b8357 Implement LauncherApps.startShortcut().
Bug 27548047

Change-Id: I357732e22be0959fb573fd6cdaee7c6b439ef7c4
2016-03-08 17:26:28 -08:00
Makoto Onuki
ed58f5f0aa Merge "Introducing ShortcutManager" into nyc-dev 2016-03-08 18:01:05 +00:00
Tenghui Zhu
e4e4da5cc6 Merge "Add tileMode support into GradientColor" into nyc-dev 2016-03-08 17:25:48 +00:00
David Brazdil
9aa6db03f0 Add option to clear profile data to 'cmd package compile'
Adds an option which clears all profile data of a given package.

Bug: 27516490
Change-Id: Ie83ef1f06ca47d35ffb206c29341dc68166afeb3
2016-03-08 14:24:54 +00:00
David Brazdil
990fb6b5c9 Add option to compile all packages with 'cmd package compile'
To help investigate performance regressions, an option is added to
'adb shell cmd package compile' to compile all packages with the
given mode.

Bug: 27391290
Change-Id: I70a3a518e08b54535bb34f13f0cedda3a1f7085f
2016-03-08 14:06:18 +00:00
Teng-Hui Zhu
1664a829eb Add tileMode support into GradientColor
So VectorDrawable can have tileMode supported Gradient color.
b/27126035

Change-Id: Icbf5983be165f04dc640627f6208fb1292f15625
2016-03-07 15:02:32 -08:00
Jeff Sharkey
fdc5ba8f43 Merge "Move more PM calls to ParceledListSlice." into nyc-dev 2016-03-05 21:06:39 +00:00
Jeff Sharkey
d5896630f6 Move more PM calls to ParceledListSlice.
Since the data returned by these calls can grow unbounded based on
various GET flags, we need to switch 'em over.

Bug: 27391893
Change-Id: Ie849ca30dbaaa91158da4c83675657715629a0ee
2016-03-04 16:31:34 -07:00
Makoto Onuki
6f7362d925 Introducing ShortcutManager
What's supported:
- Most APIs are implemented, except for SM.updateShortcuts(),
the icon APIs in LA, and LA.startShortcut().
- Persisting information, except for icons
- Throttling

In addition, now PersistableBundle has a public copy
constructor from a Bundle. (Do we want to @hide it?)

TODOs:
- Add icon support
- Implement missing APIs
- Listen to PACKAGE_* broadcasts and do clean-up
- Support multi-launcher apps (pinned shortcuts per launcher)
- Dev option to reset throttling
- Load throttling config from Settings
- Backup & restore
- Figure out LauncherApps permissions (BIND_APPWIDGETS??)
- Other minor TODOs in the code
- Better javadoc

Note: This requires Idf2f9ae816e1f3d822a6286a4cf738c14e29a45e

Bug 27325877

Change-Id: Ia5aa555a4759df5f79a859338f1dc5e624cd0e35
2016-03-04 15:24:49 -08:00
Todd Kennedy
40a6e6a10e Merge "dump apk signing version" into nyc-dev 2016-03-04 18:34:00 +00:00
Adam Lesinski
c4dd2e7d52 Merge "Move the guts of Resources to ResourcesImpl" into nyc-dev 2016-03-04 00:16:47 +00:00
Todd Kennedy
66c5553c2e dump apk signing version
bug: 26905579
Change-Id: I5c2682904f2fb83ffce572fe2eb35c38e1b72f01
2016-03-03 15:49:17 -08:00
Todd Kennedy
dfa93abf2f Fix javadoc
Make referenced constants @SystemApi and change argument name to
match its actual meaning.

bug: 25441401
Change-Id: I4277799b95f394edb4305be05f57437717a86691
2016-03-03 15:24:33 -08:00
Todd Kennedy
e8498cd006 Merge "Splits without restart" into nyc-dev 2016-03-03 21:34:57 +00:00
Calin Juravle
0c9ef61944 Merge "Better handling of various types of compilation in DexOptimizer" into nyc-dev 2016-03-03 10:54:02 +00:00
Vadim Tryshev
66ae66a7f7 Adding getManagedUserBadgedDrawableForDensity() to PackageManager.
It allows badging an image regardless of of the user (no
user id parameter). The styling for managed users is applied.

This is useful for new cases where the existing functions
wouldn't badge the icon, but we need it.

Bug: 25192539
Change-Id: I2fd2f226f626fb2e6cda1cfe072013350e12b41c
2016-03-02 14:55:04 -08:00
Calin Juravle
693f997cc8 Better handling of various types of compilation in DexOptimizer
From the runtime perspective extract-only/profile-guide-compiled/fully-
compiled oat files are up-to-date and don't need dex2oat. However,
wihout knowing the exact "class" of the aot file we are not able to do a
full compilation of something previously only-extracted, or limit
profile-guide compilation to only previously profile-guide or extract-
only oat files.

GetDexOptNeeded now accepts a mask of desired types of compilation
that the runtime takes into account when advising what's needed.

This CL adds the necessary handling in DexOptimizer.

Also:
- removes the contraint to use extract-only oat files only when
profiles are enabled.
- removes mDexOptPerformed which interfere with the different types of
compilation and only saved a call to GetDexOptNeeded.

Bug: 27189430
Change-Id: Iced2bdcc3aa7866ff888a3bace43f4b71fffb353
2016-03-02 18:27:10 +00:00
Todd Kennedy
39bfee5e36 Splits without restart
In specific cases [as determined by the installer], we can install
splits without restarting the application. The split must be purely
additive [i.e. it should not modify class(es)/resource(s) defined
in the base or other splits. Otherwise, the behaviour could be
inconsistent [e.g. if a modified class was already loaded, the
modified version won't be loaded until the process is restarted].
The platform does not perform any verification that the split is
purely additive.

Bug: 26463098
Change-Id: I3526c3b1b847a8e0afabc7a4787fa770422196b7
2016-03-02 07:57:01 -08:00
Vadim Tryshev
093622f089 Revert "Adding getManagedUserBadgedDrawableForDensity() to PackageManager."
This reverts commit 9f68f41a58.

Caused breakage.

Change-Id: I441737f61f6f38ed9f440211b52bbac0f74982e3
2016-03-02 01:51:42 +00:00
Adam Lesinski
fb302ccd8e Move the guts of Resources to ResourcesImpl
In order to satisfy the requirement that clients can
cache a Resources object when a configuration change happens,
we move the caches and all other method bodies to ResourcesImpl.
These can then be swapped out for the correct version when needed,
while allowing clients to keep holding the existing Resources references.

This is part 1 of 2 CLs. The next one will do the actual switching of implementations
based on configuration changes for multiwindow.

Bug:26854894
Change-Id: I41156194a3541e59053b4048c3a15981c7d8a506
2016-03-01 16:58:19 -08:00
Vadim Tryshev
9f68f41a58 Adding getManagedUserBadgedDrawableForDensity() to PackageManager.
It allows badging an image regardless of of the user (no
user id parameter). The styling for managed users is applied.

This is useful for new cases where the existing functions
wouldn't badge the icon, but we need it.

Bug: 25192539
Change-Id: I20ca2d7265cbc3a47c050a72ec1843cc0a481c74
2016-03-02 00:41:26 +00:00