Commit Graph

5973 Commits

Author SHA1 Message Date
Todd Kennedy
fab8fa6b81 Merge "Allow applications to define failure handlers" into oc-mr1-dev am: e551d361ac
am: 4cb468814c

Change-Id: Idc4d9eec433255f653a8cc842ce73f2d436973e4
2017-08-09 15:18:14 +00:00
TreeHugger Robot
e551d361ac Merge "Allow applications to define failure handlers" into oc-mr1-dev 2017-08-09 14:55:09 +00:00
Makoto Onuki
43af9beff3 Merge "Intern process names." into oc-mr1-dev am: a530d79209
am: 3debaa72d4

Change-Id: Iaa2fe2ca2d7680b99f170f2486b3018704e45432
2017-08-09 01:51:41 +00:00
Philip P. Moltmann
a064b6d12b Revert "Revert session-transfer change" am: 7460c5917b
am: ccf0225c38

Change-Id: I30cc91c765e05e33f9b60005d29ad5f954a2fd23
2017-08-09 01:40:51 +00:00
Philip P. Moltmann
ccf0225c38 Revert "Revert session-transfer change"
am: 7460c5917b

Change-Id: I9f7927993fb3166cc6aeca751dd97aebc277a5db
2017-08-09 01:11:49 +00:00
TreeHugger Robot
a530d79209 Merge "Intern process names." into oc-mr1-dev 2017-08-09 01:10:03 +00:00
TreeHugger Robot
81021c77c8 Merge changes from topic 'ClosebySystem' into oc-mr1-dev
* changes:
  Allow to close session from wrong context.
  Prevent closing by prev owner after transfer.
  Revert "Revert session-transfer change"
2017-08-09 01:01:11 +00:00
Todd Kennedy
f39e0569ca Merge "Add virtual preload bit to ApplicationInfo" into oc-mr1-dev am: 6bf2990e28
am: bc0e1e2766

Change-Id: Ie127f827fc1879dcb04f64810ff5c20446e4905a
2017-08-09 00:29:17 +00:00
TreeHugger Robot
6bf2990e28 Merge "Add virtual preload bit to ApplicationInfo" into oc-mr1-dev 2017-08-08 23:33:03 +00:00
Todd Kennedy
d0084f7583 Allow applications to define failure handlers
Fixes: 37956764
Test: Manual
Test: Create a test app with no handler, see it's not passed to the installer
Test: Create a test app with a handler, see it's passed to the installer
Test: Create a test app with multiple handlers, see one is passed to the installer
Test: Create a test app with a handler defined in a split, see it's not passed to the installer
Change-Id: Idfc3648154afca7ec300019d9695417274118d6f
2017-08-08 22:17:13 +00:00
Makoto Onuki
812d188afb Intern process names.
Bug: 62144301
Test: Boot and start random apps on a secondary user
Change-Id: I8a9b475410c52e1063cff5519b0297ad69dd7925
2017-08-08 14:58:48 -07:00
Todd Kennedy
5eb5a7db83 Add virtual preload bit to ApplicationInfo
Change-Id: I2735b3823a8709b2ffb65cc8085ffcd952d3e1f2
Fixes: 64205417
Test: Manual
Test: Create a sample app and install it as a normal app
Test: See that it returns 'false' for "isVirtualPreload"
Test: Create a sample app and install it as a virtual preload ["--preload"]
Test: See that it returns 'true' for "isVirtualPreload"
Test: Run sample apps after reboot and see they return the correct value
2017-08-08 13:50:07 -07:00
Philip P. Moltmann
7460c5917b Revert "Revert session-transfer change"
This reverts commit 9890f8b426.

Bug: 64467704
Test: cts-tradefed run singleCommand cts-dev -m CtsContentTestCases --test=android.content.pm.cts.InstallSessionParamsUnitTest
      cts-tradefed run singleCommand cts-dev -m CtsContentTestCases --test=android.content.pm.cts.InstallSessionTransferTest
Change-Id: I0cc7e1129d85e4d0de16ade44232a9bd381d6c04
2017-08-08 13:17:15 -07:00
Philip P. Moltmann
3cb46e1a86 Merge "Revert session-transfer change" into oc-mr1-dev am: 7bec053dff
am: ddeb0a578a

Change-Id: I1dd82bedd35f297931608595da7f8b1e496e8285
2017-08-08 20:07:04 +00:00
Philip P. Moltmann
7bec053dff Merge "Revert session-transfer change" into oc-mr1-dev 2017-08-08 19:49:13 +00:00
Philip P. Moltmann
9890f8b426 Revert session-transfer change
This reverts:
5d74493f64
94deaf7725

Bug: 64467704
Test: none, 100% revert
Change-Id: I6534c19c594dadfa41457725988485a67f0ed45f
2017-08-08 11:04:56 -07:00
Todd Kennedy
b6ff3774fc Merge "Add native bindings for getNamesForUids" into oc-mr1-dev am: 8c18e1faf8
am: 3ff3e75fb2

Change-Id: I21a656cd60896a73dd0ca07b47f09af92f874dff
2017-08-08 16:23:09 +00:00
TreeHugger Robot
8c18e1faf8 Merge "Add native bindings for getNamesForUids" into oc-mr1-dev 2017-08-08 15:58:41 +00:00
Philip P. Moltmann
615fefc04a Merge changes from topic 'TransferInstallSession-oc-mr1-dev' into oc-mr1-dev am: fdaad13803
am: f288de8421

Change-Id: Ia429dfd3ee1f44094ba519d22300297326f3421e
2017-08-08 01:07:17 +00:00
TreeHugger Robot
fdaad13803 Merge changes from topic 'TransferInstallSession-oc-mr1-dev' into oc-mr1-dev
* changes:
  Allow to read all params used to create session.
  Allow to transfer+seal a install session
2017-08-08 00:45:48 +00:00
Makoto Onuki
c7421baee7 Merge "Reduce duplicate strings due to the package cache." into oc-mr1-dev am: ce3e863f31
am: a0518fb7ac

Change-Id: I02cfeba937fac4815c55ea158dfdc9723a2a2031
2017-08-07 21:41:12 +00:00
TreeHugger Robot
ce3e863f31 Merge "Reduce duplicate strings due to the package cache." into oc-mr1-dev 2017-08-07 21:05:42 +00:00
Peter Qiu
f4fb876a4e Merge "Revert "PackageManager: update documentation for FEATURE_WIFI_PASSPOINT"" into oc-mr1-dev am: e2dc2d9e9a
am: 7b2c3a73b4

Change-Id: I49c2e7048fdf6d72363f42b8f885f62079125e3f
2017-08-07 20:33:51 +00:00
Peter Qiu
e2dc2d9e9a Merge "Revert "PackageManager: update documentation for FEATURE_WIFI_PASSPOINT"" into oc-mr1-dev 2017-08-07 20:12:05 +00:00
Peter Qiu
50354046ac Revert "PackageManager: update documentation for FEATURE_WIFI_PASSPOINT"
This reverts commit 8493332166.

Change-Id: Ibecf24689952d4888269863ff02d8c97e14a0c31
2017-08-07 20:06:20 +00:00
Peter Qiu
10b9463343 Merge "PackageManager: update documentation for FEATURE_WIFI_PASSPOINT" into oc-mr1-dev am: cbf16572eb
am: 25a08bb2f2

Change-Id: I94f6dafb4b2dbcc060fe0dc8904a39bae7f8ba14
2017-08-07 19:02:45 +00:00
TreeHugger Robot
cbf16572eb Merge "PackageManager: update documentation for FEATURE_WIFI_PASSPOINT" into oc-mr1-dev 2017-08-07 18:19:59 +00:00
Philip P. Moltmann
5d74493f64 Allow to read all params used to create session.
So that they can be verified by the app calling commit().

This really only makes sense if the app calling commit is different from
the app that created the session.

Bug: 37281396
Test: cts-tradefed run cts-dev -m CtsContentTestCases --test=android.content.pm.cts.InstallSessionTransferTest
      Installed and uninstalled packages via the PackageInstaller app

Change-Id: I5c954ca59b7582555bea847f3ddbba0aeefba301
2017-08-07 10:50:58 -07:00
Philip P. Moltmann
94deaf7725 Allow to transfer+seal a install session
... so that one package can supply the data and another one can issue
the commit.

Also allow reading of sealed sessions.

Also lock more in PackageInstallerSession so that we can be sure the
session is not used by the old package anymore once transferred and that
all calls into the session work on consistent data.

Bug: 37281396
Test: cts-tradefed run cts-dev -m CtsContentTestCases --test=android.content.pm.cts.InstallSessionTransferTest
      Installed and uninstalled packages via the PackageInstaller app
      Installed and uninstalled packages via the Google Play Store

Change-Id: Id4b7a0071d703b7d18c9f5bf2bd15ebf67086d07
2017-08-07 10:50:57 -07:00
Jeff Sharkey
1fb3a312e7 Merge "Fix broken javadocs." into oc-mr1-dev am: b79eb54d36
am: 1ad38fe278

Change-Id: I21266d20be036196dbeddb9c4366d641ab1b68a8
2017-08-06 17:00:09 +00:00
Jeff Sharkey
67f9d5070a Fix broken javadocs.
Bug: 64337634
Test: make -j32 doc-comment-check-docs
Change-Id: I20fdd3dcddef09111d35946c41c596c7689effa6
2017-08-06 07:37:08 -06:00
Makoto Onuki
4501c61d65 Reduce duplicate strings due to the package cache.
Change from the previous attempt:
- Fixed the helper class.  The original version had a few bugs.
- Bundle.readFromParcel() now handles a Parcel with a read-write helper
properly.

** Comparison **
The following charts are the actual measurement with and without the fix,
using "dumpsys system".
- The red bar is "total private dirty".
- The X axsis is time since boot.

Without fix:
- #1 First boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=1971317391
-- Private dirty stabilizes at ~16.8M.
-- Loading system packages took 1.8 seconds.

- #2 Second boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=982210726
-- Private dirty stabilizes at ~17.5M.
-- Loading system packages took 0.5 seconds.

With fix:
- #3 First boot:
-- https://docs.google.com/spreadsheets/d/1R6lL0AnAp93HnrqWujJFNgOjj6wvGicgDlbDAevbc3g/edit#gid=791764875
-- Private dirty stabilizes at around the same level as #1.
-- Loading system packages took 1.9 seconds.

- #4 Second boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=1820894299
-- Private dirty stabilizes at around the same level as #1.
-- Loading system packages took 0.7 seconds.

Package manager start up time with and without the fix:
- (Ignored ones that are too fast; probably the thermal throttling didn't kick in.)
- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=499396796
- Before: 3.5 seconds (average of 5 reboots)
- After: 3.6 seconds (average of 5 reboots)

Package scan speed comparison:
- With the fix, first boot.
08-03 08:49:56.851  1000   779   779 I PackageManager: Finished scanning system apps. Time: 2133 ms, packageCount: 143 , timePerPackage: 14 , cached: 0
08-03 08:49:56.971  1000   779   779 I PackageManager: Finished scanning non-system apps. Time: 121 ms, packageCount: 11 , timePerPackage: 11 , cached: 0

- With the fix, second boot.
08-03 08:53:29.387  1000   779   779 I PackageManager: Finished scanning system apps. Time: 484 ms, packageCount: 143 , timePerPackage: 3 , cached: 143
08-03 08:53:29.424  1000   779   779 I PackageManager: Finished scanning non-system apps. Time: 37 ms, packageCount: 11 , timePerPackage: 3 , cached: 11

** Conclusion **
- This CL wil slightly slow down the boot time (0.2 seconds on a thermal-throttled bullhead), but
the system server's ram consumption will go down to the no-cache level.

- Using the package cache is still faster than not using it.

Test: build, boot, reboot, adb-install, reboot
Test: bit FrameworksCoreTests:android.content.pm.PackageParserTest
Test: bit FrameworksServicesTests:com.android.server.pm.PackageParserTest
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsOsTestCases -t android.os.cts.BundleTest

Bug: 64112468
Change-Id: I30691a032cb1dd1c7f6c1966a096c2f0d07a09cb
2017-08-04 14:19:32 -07:00
Todd Kennedy
ad192a392b Add native bindings for getNamesForUids
A new API [getNamesForUids] was recently added to the PackageManager
and this API needs to be accessible to native code. However, there
were two constraints:
1) Instead of hand-rolling the binder, we wanted to auto generate
the bindings directly from the AIDL compiler.
2) We didn't want to expose/annotate all 180+ PackageManager APIs
when only a single API is needed.
So, we chose to create a parallel API that can be used explicitly
for native bindings without exposing the entirety of the
PackageManager.

Bug: 62805090
Test: Manual
Test: Create a native application that calls into the new service
Test: See the call works and data and returned
Change-Id: Ia571ab1607c6c88fef44eb0de6a313a28906c732
2017-08-04 13:36:37 -07:00
Peter Qiu
8493332166 PackageManager: update documentation for FEATURE_WIFI_PASSPOINT
Bug: 64331342
Test: build
Change-Id: I94937e8ff921b01c62e6b478b3ee6e581e38408e
2017-08-04 09:37:50 -07:00
Jeff Sharkey
0bb9c8ead5 Merge "Fix NPE when reading icon for removed session." into oc-dr1-dev am: 65abebbadd am: eb6733e93a
am: 1ab9c0cdff

Change-Id: I24a948b29145434376b03c3e12d23f7c7a83b0f4
2017-08-02 23:04:49 +00:00
Jeff Sharkey
623fbea979 Merge "Fix NPE when reading icon for removed session." into oc-dr1-dev
am: 65abebbadd

Change-Id: I6ef312422ea84b352f8d07a9937c64394b14776a
2017-08-02 22:49:42 +00:00
Jeff Sharkey
1ab9c0cdff Merge "Fix NPE when reading icon for removed session." into oc-dr1-dev am: 65abebbadd
am: eb6733e93a

Change-Id: I4bb82ed141cf10d74c5e6d0c08346cd6aeb73931
2017-08-02 22:43:52 +00:00
Garry Boyer
3edc04d32b Merge "Revert multi-package APK flag to off." 2017-08-02 16:25:34 +00:00
Jeff Sharkey
d1dd2c662e Fix NPE when reading icon for removed session.
The underlying session may have been destroyed before we go back to
read out the icon.

Test: builds, boots
Bug: 63795821
Change-Id: I16eb32c74a0e3b1d0605392878d65f28437006a6
2017-08-02 15:36:12 +00:00
Todd Kennedy
0681d29966 Merge "Add new API to retrieve app names in a batch" into oc-mr1-dev am: 5e049eb884
am: a1cb029caf

Change-Id: I9454b85835e0deb8264f7371748aad90cf04a42d
2017-08-02 14:43:36 +00:00
Todd Kennedy
5e049eb884 Merge "Add new API to retrieve app names in a batch" into oc-mr1-dev 2017-08-02 14:23:16 +00:00
Garrett Boyer
17041530bf Revert multi-package APK flag to off.
Disable tests when multi-package APK is disabled.

Test: Ran framework tests with flag both on and off.
Change-Id: I0aae693816af06eebe1bc6cdeebf8dad4c179260
2017-08-01 14:17:49 -07:00
Fyodor Kupolov
fc1a8ac863 Merge "Log package parse timings" into oc-mr1-dev am: cd0d29e9fc
am: 7881a63734

Change-Id: I45d395d6830c25702797068e14e2341a4e250326
2017-08-01 20:08:32 +00:00
TreeHugger Robot
cd0d29e9fc Merge "Log package parse timings" into oc-mr1-dev 2017-08-01 19:46:29 +00:00
Calin Juravle
565cab11ff Merge changes from topic 'class-loaders-mr1' into oc-mr1-dev
* changes:
  Use the class loader context when optimizing secondary dex files
  Add DexClassLoader to the list of supported class loaders
2017-08-01 18:38:05 +00:00
Makoto Onuki
443d9cacfe Merge "Revert "Reduce duplicate strings due to the package cache."" into oc-mr1-dev am: f6764fb7f7
am: a843ab3727

Change-Id: I3fd60202b73e6905e14f908f739cb53a8fe722db
2017-08-01 16:37:17 +00:00
Makoto Onuki
f6764fb7f7 Merge "Revert "Reduce duplicate strings due to the package cache."" into oc-mr1-dev 2017-08-01 16:11:27 +00:00
Fyodor Kupolov
28a988f7d5 Log package parse timings
Log time it takes to parse a package (parse=) and update the cache
(update_cache=), if time exceeds 100ms threshold.

This can be useful for analyzing bugreports of slow PM init post-OTA.

Test: manual
Bug: 62462279
Change-Id: I4099b21fae6a5db8c8f1cbc2147a33b9ee51767a
2017-07-31 18:45:32 -07:00
Makoto Onuki
63e624a61e Revert "Reduce duplicate strings due to the package cache."
The pool is just broken.... I need to fix it and re-evaluate.

This reverts commit e86a29c6e6.

Change-Id: I296df71e76ffff1d1d0fc8a50e3493e20c124a7b
2017-08-01 00:42:33 +00:00
Bryce Lee
d2ed053f6e Merge "Do not call onConfigurationChanged for appBound position changes." into oc-dr1-dev am: 33d4702a12 am: 05865fb40a
am: 94795bcaf8

Change-Id: Ifb914ce593e914e83db9cea9c9c574c627216d6f
2017-07-31 19:00:08 +00:00