Commit Graph

3975 Commits

Author SHA1 Message Date
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
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
Svetoslav Ganov
6cc1ba8e17 Merge "API for safe label to present in the UI" into nyc-dev 2016-03-01 23:42:20 +00:00
Svetoslav Ganov
aa8b0d74f4 API for safe label to present in the UI
bug:23531798

Change-Id: Ic3e0ed3db11445dbc5e562ca1a91b181ec5f2553
2016-03-01 14:31:39 -08:00
Todd Kennedy
a67932374d Revert "Revert "Remove deprecated methods / classes""
This reverts commit 5cbeb59026.

Change-Id: Id96010364d65e6131221ebbcc8ce5889a2da256c
2016-03-01 07:19:33 -08:00
Alan Viverette
5c64b957dd Use asset cookie in XML block cache key
Ensure we're using file paths from the correct package. Also cleans up
synchronization to avoid synchronizing on local variables which, while
not an issue in the current implementation, is generally unsafe.

Bug: 27313689
Change-Id: Ib8550909e7b02ea88d19ce2fc43756a16f9664ab
2016-02-28 15:16:05 -05:00
Jeff Sharkey
f8880561e6 When system server goes down, crash apps more.
Similar to first patch, but now using new "rethrowFromSystemServer()"
method which internally translates DeadObjectException into
DeadSystemException.  New logic over in Log.printlns() now
suppresses the DeadSystemException stack traces, since they're
misleading and just added pressure to the precious log buffer space.

Add some extra RuntimeInit checks to suppress logging-about-logging
when the system server is dead.

Bug: 27364859
Change-Id: I05316b3e8e42416b30a56a76c09cd3113a018123
2016-02-27 17:17:01 -07:00
Alan Viverette
4d85985f80 Merge "Use correct index when obtaining unresolved attribute value" into nyc-dev 2016-02-25 17:25:39 +00:00
Alex Klyubin
921dd754ab Disallow downgrading of non-debuggable packages.
An attacker could downgrade a package to an older version with known
security vulnerabilities and then use some of the vulnerabilities to
access the application's data. This would constitute a bypass of
Android Application Sandbox. Thus, downgrading while keeping
application data is no longer permitted.

To help developers debug their apps, packages marked as debuggable can
still be downgraded while keeping their data. This does not put the
installed base at risk because, as a security measure, most
application stores reject packages marked as debuggable.

To downgrade a non-debuggable (i.e., release) package, uninstall the
package (thus wiping its data), then install the older version of the
package.

Bug: 27327503
Change-Id: Iac75ed3c3831b5d925dfd8b660527cfa95813da8
2016-02-24 14:42:02 -08:00
Jason Monk
2f68e8a62a Add constant to link to app's general settings
Bug: 27276982
Change-Id: Ia438faeb12b24251bb74919f680713a7bc03e0b5
2016-02-24 10:25:42 -05:00
Alan Viverette
5b90e82827 Use correct index when obtaining unresolved attribute value
Change-Id: I03e12157f74901e3188fec6663ae22cfaa849176
2016-02-24 09:06:47 -05:00
Lenka Trochtova
1ddda4793c Prevent ephemeral user from being re-entered after stop.
Once the ephemeral user stops, the user's deletion is scheduled.
It takes a while before the user actually disappears and it is not
desirable for the user to be re-entered in the meantime.
Mark the user as disabled on stop and check this flag
in the activity manager to prevent the user from being switched
to again. Also hide the user from user-switching UI.

BUG: 26795729
BUG: 26780152

Change-Id: I83a61674958954b5a210114b88ffa5ae55922c1f
2016-02-24 11:55:58 +01:00
Alan Viverette
fde0213716 Remove @Nullable annotation from getDrawable() methods
Developers usually do not need to check the result of getDrawable(), so
we shouldn't be annotating it like they do.

Bug: 27134828
Change-Id: I0db0ca806fd89c18781da452fe3f31ef344f3cca
2016-02-23 14:59:51 -05:00
Jesse Hall
791a7df8b2 Merge "PackageManager: add Vulkan system features" into nyc-dev 2016-02-23 15:11:52 +00:00