Commit Graph

1979 Commits

Author SHA1 Message Date
Siarhei Vishniakou
55656e4cb9 Fix GamepadTestCase#testButtonA CTS test
Hid command, JNI layer:
- Removed dependency of the hid device on libandroid_runtime
and libutils. Using ALooper from libandroid to process callbacks from
/dev/uhid file descriptor.
- Switched to using "CREATE2" and "INPUT2" constructs in uhid driver

Hid command, Java layer:
- Removed delay workarounds, user now responsible for waiting for
onInputDeviceChanged notification prior to using the hid commands.

UiAutomation:
- Added a new executeShellCommandRw function that allows bidirectional
communication to shell command

platform.xml:
- Added uhid permissions to bluetooth stack for /dev/uhid access

- CTS test now consistently passes

Bug: 34052337
Test: CTS test case invoked with the following command:
run cts -t android.hardware.input.cts.tests.GamepadTestCase
-m CtsHardwareTestCases --skip-system-status-check
com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker

Change-Id: Ic916c513b7e652b1e25675f0f38f0f1f3a65d214
2017-05-12 21:01:02 +00:00
Martijn Coenen
ec1f2bcad2 Merge "Merge "Only spawn one binder thread for screencap." into oc-dev am: b1edc48db0" into oc-dev-plus-aosp
am: 6fa0f075e2

Change-Id: Iac9144bacbd7ee247fae3f01408687d8f13b0479
2017-05-12 04:19:07 +00:00
Martijn Coenen
eb6c916533 Merge "Only spawn one binder thread for screencap." into oc-dev
am: b1edc48db0

Change-Id: I251c7b72196f8996051b538a59fd466b65757ce4
2017-05-12 02:09:15 +00:00
Martijn Coenen
b1edc48db0 Merge "Only spawn one binder thread for screencap." into oc-dev 2017-05-11 22:07:37 +00:00
Dianne Hackborn
a54a0df596 Merge "Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist" into oc-dev am: c3b938ca5e
am: 8b4c4f09f6

Change-Id: Ia6dd41e08ea31ccc902c4d9ba714e6448898fac4
2017-05-11 19:34:30 +00:00
Dianne Hackborn
8b4c4f09f6 Merge "Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist" into oc-dev
am: c3b938ca5e

Change-Id: I585bf57074064761c7d216f05be23d7f044208fa
2017-05-11 18:45:00 +00:00
Martijn Coenen
3b53fc5a84 Only spawn one binder thread for screencap.
To work around race conditions in libbinder when
spawning new threads while being shut down.

Bug: 36066697
Test: screencap still works
Change-Id: I774d3dc2491bb578a12dede90cc7fcded976f13f
2017-05-11 17:44:45 +00:00
Dianne Hackborn
983055231b Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist
There is now an IBinder "token" that must be specified when setting
the whitelist duration for an Intent.  To have the whitelist supplied,
the caller to send a PendingIntent must pass in the same token.  The
PendingIntent and IntentSender classes now internally maintain this token
to pass in when their send() is called.

The big complexity for making this work is we now need to associate this
whitelist token correctly with the actual PendingIntent objects that
applications and other code is getting.  To do this, we propagate the
token in the Notification object, and have a new API on Parcel that allows
us to make it available to PendingIntent when it is unmarshalled.  And
this allows to deal with PendingIntents appearing in nested bundles, as
we can propagate that information from the original Parcel to the new
Parcel that Bundle keeps to delay unmarshalling.

Test: manual
Change-Id: Idda00490ccfe2be37e4ab21354b9ab7528a52750
2017-05-10 17:23:02 -07:00
Paul Duffin
fa6f8a76fb Prepare for removal of junit and android.test classes from Android API (step 1)
In preparation for removing junit and android.test classes from
the Android API this change adds explicit dependencies on junit
and/or legacy-android-test to ensure that modules will compile
properly once it is removed.

Care was taken to ensure that any targets that depended,
directly or indirectly, on android-support-test did not also
depend on junit or hamcrest as they conflict with the versions
embedded within android-support-test.

Bug: 30188076
Test: make checkbuild

(cherry picked from commit 00229bc6cf)

Change-Id: I7fea20f92a5a92885733bc6ecb83b7276a48fbc2
Merged-In: Ifc3ee3dc804074a3c572bf2600cfb1fe1b6fa749
2017-05-10 09:42:29 +01:00
Paul Duffin
00229bc6cf Prepare for removal of junit and android.test classes from Android API (step 1)
In preparation for removing junit and android.test classes from
the Android API this change adds explicit dependencies on junit
and/or legacy-android-test to ensure that modules will compile
properly once it is removed.

Care was taken to ensure that any targets that depended,
directly or indirectly, on android-support-test did not also
depend on junit or hamcrest as they conflict with the versions
embedded within android-support-test.

Bug: 30188076
Test: make checkbuild
Change-Id: Ifc3ee3dc804074a3c572bf2600cfb1fe1b6fa749
2017-05-08 13:27:51 +01:00
Jeff Sharkey
d1294465fb Merge "Offer to wait until broadcasts have drained." into oc-dev am: 6f4aab2c01
am: 8c921a8f14

Change-Id: Ia55b3b9666b2683e880e07071b53645ba309a57c
2017-05-06 02:29:03 +00:00
Jeff Sharkey
fd65813157 Offer to wait until broadcasts have drained.
We've seen evidence of lab devices racing with other apps that are
using cache space immediately after tests wipe it clean, which can
cause test failures.  To mitigate this, try our best to wait for the
device to go "idle" by watching for broadcast queues to fully drain.

Also improve javadocs along the way.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37486230, 37566983, 37913442, 37914374
Change-Id: I4d430db443b6fa6d33a625fe07b90279b5d51c12
2017-05-05 14:58:47 -06:00
Karthik Ravi Shankar
60df13e750 Merge "Rename CompatibilityDisplay to Vr2dDisplay" into oc-dev am: 1d01f9cf67
am: c4d7248cdd

Change-Id: I8714be5933827c015f1446d5231f5c1f704b53c3
2017-05-04 05:29:12 +00:00
Karthik Ravi Shankar
2b9aaedf63 Rename CompatibilityDisplay to Vr2dDisplay
CompatibilityDisplay used for displaying 2D activities in Vr world. This
is confusing in more than one way. To clarify what it really means,
rename it to Vr2dDisplay.

Changes in this CL -

- /s/CompatibilityDisplay/Vr2dDisplay
- /s/Compatibility/Vr2d - in CompatibilityDisplay context.

Bug: 37851944
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test
CtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests
passes on Marlin.

Change-Id: I0a442302fa9d0f48bbd0c01a7766b94369e04386
Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
2017-05-03 22:16:02 -07:00
Karthik Ravi Shankar
5fd001ac82 Merge changes from topic 'virtual-display-api' into oc-dev am: 13ba34bf37
am: 875c8445a8

Change-Id: I12f88b60d82fba4227c9f565009e6c3e42f6798c
2017-04-24 22:45:33 +00:00
TreeHugger Robot
13ba34bf37 Merge changes from topic 'virtual-display-api' into oc-dev
* changes:
  Add command line option to set compatibility display properties
  Make VR mode virtual display properties customizable
2017-04-24 21:33:59 +00:00
Martijn Coenen
1957ffcfb4 Merge "Stop hwbinder threads from app_process." into oc-dev am: fd25662e03
am: 1181074805

Change-Id: I2c442d25a3083c697c5306b8230710f7e5b9a37e
2017-04-20 17:29:15 +00:00
Martijn Coenen
b69ffdb207 Stop hwbinder threads from app_process.
To prevent it from hanging up.

Bug: 37500397
Bug: 34085250
Test: DismissDialogsInstrumentation test
Change-Id: Ia69f6a5676666bc9286272b82f242d7b1d0ee286
2017-04-19 16:40:49 -07:00
TreeHugger Robot
6954897620 Merge "bitmaps and pixelrefs no longer need lock/unlock" 2017-04-18 18:35:20 +00:00
Mike Reed
7c0ae0f58b bitmaps and pixelrefs no longer need lock/unlock
Test: covered by CtsGraphicsTestCases and hwui_unit_tests

Change-Id: I42a25961a2eb3755d2fd22a617aa21a24ec0994f
2017-04-18 10:22:42 -04:00
Sungsoo Lim
ab16ea9094 Merge "Revert "MediaSession: Add methods for setting shuffle and repeat modes"" into oc-dev 2017-04-18 00:32:58 +00:00
Karthik Ravi Shankar
33f70c16eb Add command line option to set compatibility display properties
To be able to control the Vr compatibility virtual display's is useful.
In this case, it will be useful to control and test the
CompatibilityDisplayProperties API in VrManager.

Bug: 37260266
Test: adb shell set-compatibility-display-properties 500 500 500
      adb shell dumpsys display

      >>  mBaseDisplayInfo=DisplayInfo{"VR 2D Display", uniqueId
      "virtual:android,1000,VR 2D Display,0", app 500 x 500, real 500
      x 500, largest app 500 x 500, smallest app 500 x 500, mode 6,
      defaultMode 6, modes [{id=6, width=500, height=500, fps=60.0}],
      colorMode 0, supportedColorModes [0], hdrCapabilities null,
      rotation 0, density 500 (500.0 x 500.0) dpi...

Change-Id: Ice5bc569f380154bf2d9e9f9b9387e801d678774
Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
2017-04-17 14:25:25 -07:00
Todd Lee
ea2f3be7aa OEM single-build/multi-SKU via dynamic RRO support
The purpose here is to provide support for selectively
enabling Runtime Resource Overlays (RROs) (specifically
those pertaining to a specific SKU, within a OEM's "single
build" covering multiple SKUs) at boot based on the value
of a pre-defined system property.

This mechanism is designed to be compatible with other,
recent changes to Runtime Resource Overlays - specifically:

- has no effect on 'isStatic'. Resource overlays must be
  attributed as static in order to qualify for loading into
  the system_server. The 'requiredSystemPropertyName/
  requiredSystemPropertyValue' mechanism operates
  independent of this and can be used on both static and
  non static overlays. The effect of specifying a conditional
  property on any overlay is that it will ONLY be enabled
  in the event that the system reflects both the property
  and the specified value (Note that in the ABSENCE of a
  conditional property, overlays are assumed to be enabled).

- has no effect on OverlayManagerService (OMS) API. The
  OMS provides the system with an interface through which
  overlays can be enabled/disabled and even rearranged at
  runtime. This provides the basis of support for various
  user-level features (e.g. dynamic theme selection).
  The 'requiredSystemPropertyName/requiredSystemPropertyValue'
  mechanism operates independent of this -
  with enablement being completely coupled to the available
  system properties on the device and NOT subject to change
  at runtime.

Note: as part of this change, original overlay tests have been
updated (fixed) and expanded to include tests to cover the
conditional property implementation.

Issue: http://b/35100249
Test: frameworks/base/core/tests/overlaytests/testrunner.py

Change-Id: I1990ce21a27a385db1e2f53294b69dd03988351e
(cherry picked from commit d5566c6c47)
2017-04-17 14:12:00 +00:00
Todd Lee
d5566c6c47 OEM single-build/multi-SKU via dynamic RRO support
The purpose here is to provide support for selectively
enabling Runtime Resource Overlays (RROs) (specifically
those pertaining to a specific SKU, within a OEM's "single
build" covering multiple SKUs) at boot based on the value
of a pre-defined system property.

This mechanism is designed to be compatible with other,
recent changes to Runtime Resource Overlays - specifically:

- has no effect on 'isStatic'. Resource overlays must be
  attributed as static in order to qualify for loading into
  the system_server. The 'requiredSystemPropertyName/
  requiredSystemPropertyValue' mechanism operates
  independent of this and can be used on both static and
  non static overlays. The effect of specifying a conditional
  property on any overlay is that it will ONLY be enabled
  in the event that the system reflects both the property
  and the specified value (Note that in the ABSENCE of a
  conditional property, overlays are assumed to be enabled).

- has no effect on OverlayManagerService (OMS) API. The
  OMS provides the system with an interface through which
  overlays can be enabled/disabled and even rearranged at
  runtime. This provides the basis of support for various
  user-level features (e.g. dynamic theme selection).
  The 'requiredSystemPropertyName/requiredSystemPropertyValue'
  mechanism operates independent of this -
  with enablement being completely coupled to the available
  system properties on the device and NOT subject to change
  at runtime.

Note: as part of this change, original overlay tests have been
updated (fixed) and expanded to include tests to cover the
conditional property implementation.

Issue: http://b/35100249
Test: frameworks/base/core/tests/overlaytests/testrunner.py

Change-Id: I1990ce21a27a385db1e2f53294b69dd03988351e
2017-04-13 19:33:11 -07:00
Sungsoo
3e5a34ea8e Revert "MediaSession: Add methods for setting shuffle and repeat modes"
This reverts commit ba11085635.

Bug: 36844917, Bug: 36525228, Bug: 36525325
Test: Pass MediaSessionTest and MediaControllerTest
Change-Id: I4805ea58107b5fab8c9f5f0fcaffd1e0e4882ed8
2017-04-13 09:43:23 +09:00
Makoto Onuki
b4c2e6f468 Merge ""bmgr restore" really should wait until operation finishes." into oc-dev 2017-04-12 21:10:37 +00:00
Makoto Onuki
a56ba60c94 "bmgr restore" really should wait until operation finishes.
Test: manual test
Bug 37246838

Change-Id: Ice381dc250e2d2a59cff48152dd3c8d6897d0804
2017-04-12 11:08:49 -07:00
Johan Toras Halseth
9d5f8e11e1 Add helptext to bu command.
bu is used by adb backup/restore, but since flags passed to these adb
commands are just forwarded to bu, we have no guarantee that the help
text for adb shows an up to date description of what bu can do. We
therefore add the help text to bu, such that it is easier to keep in
sync.

Test: adb shell bu help

Bug: 36170696
Change-Id: I8155d17b5c942ce19b981f4a157e7cc7810490ce
2017-04-11 11:49:34 +01:00
Keun-young Park
b706bb7e52 ignore RemoteException from pm if shutdown is already on-going
- In new shutdown flow, adb is guaranteed to be alive while system server
  is alive.
- power manager can be killed before system server is killed.
- This leads into RemoteException for shutdown request to power manager.
- If shutdown is already on-going (=sys.powerctl set), the RemoteException
  should be ignored.

bug: 37096155
Test: adb shell svc power reboot|shutdown and check output to adb
Change-Id: Ia90a900d55123bd7c1bf57c90c49d35332ebfdf5
2017-04-10 20:55:03 +00:00
Johan Toras Halseth
4b8c7f67ac Change flag from -includekeyvalue to -keyvalue/-nokeyvalue
The original flag was added in ag/1946677. As pointed out
in ag/2065837 we ought to stick to the syntax used for
other flags.

Test: adb backup -keyvalue -all
Change-Id: Ie2c7ee3d85740abadaa4119d23470cd9470bd981
2017-04-05 20:45:32 +01:00
Keun-young Park
d1794cdbb4 show different timing log for shutdown animation
bug: 36873098
Test: reboot and check log
Change-Id: Ic3adaba383cc29dba039a7fb5adcb01d4c0c963b
2017-04-04 22:21:32 +00:00
Keun-young Park
b593842063 support shutdown animation from bootanim
- init will set sys.powerctl property and run bootanim.
- Use /oem/media/shutdownanimation.zip or
  /system/media/shutdownanimation.zip for animation file.
  If none of them exist, android animation will be used.
- Disable audio playing for shutdown animation.
- Disable TimeCheckThread for shutdown animation. It
  accesses /data partition and can block umount.

bug: 36526187
Test: many reboots

Change-Id: If02c73cda2015317d88d056cd45201208da49946
2017-04-03 14:43:14 -07:00
Karthik Ravi Shankar
74db2a3667 Add vr persistent mode enable/disable
Persistent vr mode toggle control is needed sometimes from command line.
This also adds the infrastructure for future vr commands.

Bug: 36071574
Test: adb shell vr set-persistent-vr-mode-enabled true
      adb shell dumpsys vrmanager
      >> Persistent VR mode is currently: enabled
      adb shell vr set-persistent-vr-mode-enabled false
      adb shell dumpsys vrmanager
      >> Persistent VR mode is currently: disabled

Change-Id: I47a858e0696a907e746d50e2c6ca3d18197864a7
Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
2017-03-31 08:37:12 -07:00
Jeff Sharkey
72ba815ca4 Merge "Add a new "virtual disk" feature." 2017-03-27 15:22:52 +00:00
Jeff Sharkey
e53e2d9576 Add a new "virtual disk" feature.
It's extremely difficult to test storage related logic on devices
that don't have physical SD card slots.  So to support better
debugging and testing, add a new "virtual disk" feature which mounts
a 512MB file through loop device.

Also move ParcelFileDescriptor.open() over to using Os.open() so
that it gets StrictMode treatment.

Bug: 34903607
Test: builds, boots, virtual disk works
Change-Id: I072a3a412cfcc8a2a3472919b7273a1ed794fd98
2017-03-25 23:26:21 -06:00
Johan Toras Halseth
b59a4b85ad Add support for key-value packages to adb backup/restore.
For adding CTS tests for packages having key-value backup agents, we add
support for key-value backups to the adb backup/restore command.
Previously, packages not supporting fullbackup would just be skipped on
this command. Now, by adding the -keyvalue flag to the adb backup command,
packages supporting key-value will also be added to the resulting
tarball. Similarly, if the tarball being supplied to adb restore
contains data from key-value packages, it will be restored.

This will later be utilized for writing CTS tests for such packages.

Test: adb backup -includekeyvalue -all && adb restore backup.ab

Change-Id: I7b4ccfb7072d01d29a888952145d7cce90a4f59e
2017-03-24 23:51:48 +00:00
Felipe Leme
24d5893b25 Added a UserManager.DISALLOW_AUTOFILL restriction.
bug: 35710740

Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.LoginActivityTest#testUserRestriction
Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDisallowAutofill_allowed
Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedProfileOwnerTest#testDisallowAutofill_allowed
Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testDisallowAutofill_allowed

Change-Id: I41b2bf9fe3bc8df627c6650960bd11346c430a7e
2017-03-22 17:20:48 -07:00
Adam Lesinski
1665d0f028 Add support for configForSplit
Applications with the android:isolatedSplits="true" attribute in
their AndroidManifest.xml would have their Split APKs loaded in
isolation of each other, based on a set of dependencies.

Configuration Splits generated for a Feature split would not be properly
loaded before, so this change, along with a tools change, fixes this
issue and completes support for isolatedSplits.

Bug: 30999713
Test: CTS test coming (depends on some tool changes)
Change-Id: Ia4e7b0e69168a9d6637867558e306f7031720fb3
2017-03-16 15:45:10 -07:00
Jaekyun Seok
0434289c45 Apply static RRO
Static RRO package is designed to support resource overlay for system
server and they shouldn't be disabled or changed by a user.
The design details are in go/treble-static-rro.

Selection method for static RROs will be applied later when its design
is determined.

Test: building succeeded and tested on sailfish.
Bug: 35742444
Change-Id: I8cbf2fd37a73a24bf6ad291e2c5cf75a0fc757fc
2017-03-15 00:07:34 +09:00
Andrii Kulian
8ee7285128 Move rotation tracking to DisplayContent
This CL moves rotation tracking from WindowManagerService to
DisplayContent. This way displays can be rotated independently and
rotation of the main display won't affect rotation of secondary
ones.

Bug: 34242678
Test: android.server.cts.ActivityManagerDisplayTests
Test: testRotationNotAffectingSecondaryScreen
Change-Id: Ic46aaa523482b31ff5ec77f0c2908ceda1156fc0
2017-03-10 18:34:18 -08:00
Scott Main
2ba0df0374 Merge "update uiautomator doclava build to use new location for templates as per: https://googleplex-android-review.git.corp.google.com/#/c/1524290/" 2017-03-08 21:59:13 +00:00
Scott Main
bd401a77f8 update uiautomator doclava build to use new location for templates
as per:
https://googleplex-android-review.git.corp.google.com/#/c/1524290/

Change-Id: Ib8588f01005a691474622e6ca81f63234f796f82
2017-03-08 11:21:03 -08:00
Jaekyun Seok
7de2f9c73f Reinstate codes to enable RRO on system server
Test: building succeeded and tested with sailfish
Bug: 35742444
Change-Id: I99d0f1d097525d3eb46255d6cf823f6ae2a02385
2017-03-03 07:23:23 +09:00
Sunny Goyal
6d7cb23236 Sending explicit broadcast to the launcher when a package is installed
Test: Manually tested on device and add CTS tests
Bug: 32920609
Change-Id: Ic23c077a469fb41d6c4e123d4bc022899f634198
2017-02-28 12:55:59 -08:00
Mårten Kongstad
2e0d0f3111 OMS: integrate OverlayManagerService into framework
Hand over ownership of overlays to OverlayManagerService.

Changes to a package's overlays are propagated using the activity life
cycle. Affected activities will be recreated as needed. This provides a
well-defined point to modify an application's assets while the
application is paused.

Consolidate how overlays targeting the system and overlays targeting
regular applications are handled. Previously, system overlays were
handled as a special case. Now, everything is handled identically. As a
side effect, the call to idmap --scan during Zygote boot has become
obsolete and is removed.

Information on what overlays to use is recorded in
ApplicationInfo.resourceDirs. The PackageManagerService is responsible
for the creation of ApplicationInfo objects. The OverlayManagerService
is responsible for informing the PackageManagerService in advance about
what resourceDirs to use.

When launching an application, the ApplicationInfo is already populated
with up-to-date information about overlays.

When enabling or disabling an overlay for a running application, the
OverlayManagerService first notifies the PackageManagerService about the
updated resourceDirs. It then tells the ActivityManagerService to push
the new ApplicationInfo object to the application's ActivityThread.
Finally the application requests its ResourcesManager to create new
ResourcesImpl objects based on the updated paths.

Change-Id: Ib8afa05ccab4e2db558f89ce4423983c086bb61a
Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
2017-02-23 14:01:38 -08:00
Guang Zhu
df0824ad4c Merge "Revert "OMS: integrate OverlayManagerService into framework"" 2017-02-23 07:36:16 +00:00
Guang Zhu
9545980692 Revert "OMS: integrate OverlayManagerService into framework"
Bug: 31052947
Bug: 35697944

This reverts commit 21a3d1ad68.

Change-Id: I2d86931020301524c26cf8c8e80d557c97fdd6c3
2017-02-23 07:35:39 +00:00
TreeHugger Robot
0f09817859 Merge "OMS: integrate OverlayManagerService into framework" 2017-02-23 03:59:01 +00:00
Mårten Kongstad
21a3d1ad68 OMS: integrate OverlayManagerService into framework
Hand over ownership of overlays to OverlayManagerService.

Changes to a package's overlays are propagated using the activity life
cycle. Affected activities will be recreated as needed. This provides a
well-defined point to modify an application's assets while the
application is paused.

Consolidate how overlays targeting the system and overlays targeting
regular applications are handled. Previously, system overlays were
handled as a special case. Now, everything is handled identically. As a
side effect, the call to idmap --scan during Zygote boot has become
obsolete and is removed.

Information on what overlays to use is recorded in
ApplicationInfo.resourceDirs. The PackageManagerService is responsible
for the creation of ApplicationInfo objects. The OverlayManagerService
is responsible for informing the PackageManagerService in advance about
what resourceDirs to use.

When launching an application, the ApplicationInfo is already populated
with up-to-date information about overlays.

When enabling or disabling an overlay for a running application, the
OverlayManagerService first notifies the PackageManagerService about the
updated resourceDirs. It then tells the ActivityManagerService to push
the new ApplicationInfo object to the application's ActivityThread.
Finally the application requests its ResourcesManager to create new
ResourcesImpl objects based on the updated paths.

Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
Change-Id: Idc96dae6fc075d5373aa055bbf50e919136d7353
2017-02-21 14:29:43 -08:00
TreeHugger Robot
ed4cd7a1ba Merge "Log pm install time and package name" 2017-02-21 21:01:20 +00:00