Commit Graph

4791 Commits

Author SHA1 Message Date
Tony Mak
46aabe5ef4 Allow cross profile call between DO and PO
Allow DO to bind service of PO in managed profile and vice versa.
DO and PO must be the same package.

Bug: 31895999

Change-Id: I3ce2943aebd1249401d5814757a0ce25b9f85279
Test: cts-tradefed run cts --module DevicePolicyManager --test com.android.cts.devicepolicy.CorpOwnedManagedProfileTest
2016-11-14 14:20:11 +00:00
Makoto Onuki
890a14d399 App Shortcut: Clarify which attributes must be resources am: 104f805337 am: 2a3fe7d979 am: b0fd5ba122
am: 7e1b835a4e

Change-Id: I767dcbe980a60af1a3076acdf9234f4241ab7ca1
2016-11-11 23:54:51 +00:00
Makoto Onuki
7e1b835a4e App Shortcut: Clarify which attributes must be resources am: 104f805337 am: 2a3fe7d979
am: b0fd5ba122

Change-Id: I4780d09f8b692dbe76f1726a436f9693281fd488
2016-11-11 23:36:04 +00:00
Ben Lin
1cf454fcb6 Adding ContentProvider#refresh and ContentResolver#refresh.
Original CL is from ag/1568530.

Bug: 31647485
Change-Id: Ib45fc995a361b8c75cd3600f638910b18a263d51
2016-11-10 13:53:27 -08:00
Dianne Hackborn
e07641d4fb Start implementing background restrictions for eph apps.
This implements the additional intended path for checking
allowed background operations, APP_START_MODE_DISABLED, which
doesn't allow an app to launch in the background at all.

Also change the semantics of delivering broadcasts to manifest
receivers to always restrict those, not changing based on
whether the app is currently idle.  This is the desired intended
behavior for apps as they explicitly update to work with
bg check.

And now that we have ephemerality associated with the uid state
in the activity manager, we can propagate this through the
relevant callbacks in IUidObserver so things watching these
changes can immediately determine whether they should do their
more aggressive shut down work for the uid rather than having
to walk through all their state looking for package associated
with that uid and whether they should be shut down.

Also remove the "lenient" bg check mode, since that was
just an early experiment that we won't actually use.

Add a new "make-idle" activity manager command to immediately
put a uid into the idle state (if possible) to make it easier
to test.

Test: manually against an eph app
Change-Id: I43a138ff281f69a9251d3f29ab6e13f48cff8ad6
2016-11-10 12:01:20 -08:00
TreeHugger Robot
00f42c3b28 Merge "Initial implementation of the Auto-Fill Framework classes." 2016-11-09 19:19:32 +00:00
Jeff Sharkey
d0ac9d3bac Merge "Detect non-oneway calls leaving system_server." 2016-11-09 16:51:41 +00:00
Felipe Leme
5381aa4b58 Initial implementation of the Auto-Fill Framework classes.
This CL provides the initial, skeleton implementation of the Auto-Fill
Framework classes:

- Defines the system service and app-based
  AIDL (IAutoFillManagerService.aidl and IAutoFillService.aidl respectively).
- Defines the 'adb shell cmd' interface.
- Defines the permission required to access the service.
- Registers the service on SystemServer.
- Adds the code to bind the app-specified service to system_server.
- Defines the service class (AutoFillService) required by providers.
- Implements the initial startSession() method.

This is still a very early, "work-in-progress" change:
- It has many TODOs.
- It does not have unit or CTS tests yet.
- It does not provide a callback method to auto-fill the fields.
- In fact, it has a lot of TODOs.

Despite these adversities, it can be tested by following the steps
below:

1.Create an app with a service extending AutoFillService

2.Implement the onNewSession() method

3.In the manifest:
 - Listen to android.service.autofill.AutoFillService intents.
 - Require the android.permission.BIND_AUTO_FILL permission.

4.Explicitly set the app as an autofill-service by running:
  adb shell settings put secure auto_fill_service MY_APP/.MY_SERVICE

5.Start a session against the top activity:
  adb shell cmd autofill start session

BUG: 31001899
Test: manually built and ran it

Change-Id: I00f4822159b31ddddba8f513e57c4474bc74eb89
2016-11-08 14:40:56 -08:00
Todd Kennedy
e5195dd17c Implement new API
This is the first swack at the new, 2-phase API. Adds the new methods
to the resolver service and makes the split name explicit on the
installer intent.

The 2nd phase will not yet be invoked; that's coming in a follow-on
change.

Bug: 25119046
Test: build & install the sample resolver and run 'adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://www.tripadvisor.com/Tourism-g33020-San_Jose_California-Vacations.html"'
Change-Id: I2df6fa64d46f17a86a2e32b19417632c594fb10f
2016-11-08 13:47:28 -08:00
TreeHugger Robot
00c2ed26f6 Merge "Add an extra to pass initial location URI for file choosers." 2016-11-08 21:24:55 +00:00
TreeHugger Robot
af4fac5b77 Merge "Always propagate changingConfigurations to newly-created drawables" 2016-11-08 16:22:50 +00:00
Garfield Tan
b44ae61e01 Add an extra to pass initial location URI for file choosers.
Test: It builds.

Bug: 30031881
Change-Id: I64e9392b0aec75baee13039642316f7e50494567
2016-11-07 17:22:57 -08:00
Jeff Sharkey
0a17db1cc5 Detect non-oneway calls leaving system_server.
To protect system stability, any Binder calls leaving the
system_server must carefully be performed using FLAG_ONEWAY (or
the 'oneway' verb in AIDL) which prevents the call from blocking
indefinitely on the remote process.

In this CL, the system_server uses the new Binder.setWarnOnBlocking()
method to enable detection by default for all remote Binder
interfaces.  It can also use Binder.allowBlocking() to allow
blocking calls on certain remote interfaces that have been
determined to be safe.

This CL adds the 'oneway' verb to several interfaces and methods
where it should have been added, and marks a handful of system
ContentProviders as being safe to call into.  Also, we assume that
any services obtained from ServiceManager are part of the core
OS, and are okay to make blocking calls to.

Test: builds, boots, runs with minimal logs triggered
Bug: 32715088
Change-Id: Ide476e120cb40436a94b7faf7615c943d691f4c0
2016-11-07 17:03:37 -07:00
Etan Cohen
a99a05982e Merge "[NAN-AWARE] Rename NAN to Aware" am: 74b1131cc8
am: 6571007101

Change-Id: Ief54b313dc5ca5d30645b55ed2ad0333036a1671
2016-11-06 03:21:37 +00:00
Etan Cohen
6571007101 Merge "[NAN-AWARE] Rename NAN to Aware"
am: 74b1131cc8

Change-Id: I2e788e19a11f2709f2e542dbdc4b58433a3574bf
2016-11-06 03:13:31 +00:00
Etan Cohen
0849ded008 [NAN-AWARE] Rename NAN to Aware
~Rename only (and any reformatting needed to pass lint) - no
functional changes!

Remove android.net.wifi.nan.STATE_CHANGED from manifest:
redundant/remnant of an older configuration.

(cherry-pick of commit a61b9fb569)

Bug: 32263750
Test: All unit tests and integration (sl4a) tests pass.
Merged-In: Ie4ff675fa61041e8fcf6a9bf9900ea835d0a7614
Change-Id: I4206d2fd722dc7dec9df4aee5c818101d7f9dccc
2016-11-05 09:41:38 -07:00
Etan Cohen
3a1dd86ce4 Merge "[NAN-AWARE] Rename NAN to Aware" 2016-11-05 16:19:43 +00:00
Etan Cohen
0413327d74 [NAN-AWARE] Rename NAN to Aware
~Rename only (and any reformatting needed to pass lint) - no
functional changes!

Remove android.net.wifi.nan.STATE_CHANGED from manifest:
redundant/remnant of an older configuration.

(cherry-pick of commit a61b9fb569)
(cherry-pick of commit b061f21e7e59a99834e163e2baa1c82229e419a6)

Bug: 32263750
Test: All unit tests and integration (sl4a) tests pass.
Change-Id: Ie4ff675fa61041e8fcf6a9bf9900ea835d0a7614
2016-11-04 15:42:08 -07:00
TreeHugger Robot
3e8431f1f2 Merge "Move IActivityManager to aidl." 2016-11-04 22:24:12 +00:00
Chad Brubaker
cbc59b8aa6 Merge "Move ephemeral apps into the ephemeral SELinux domain" 2016-11-04 21:46:16 +00:00
Sudheer Shanka
fc46e9b643 Move IActivityManager to aidl.
Bug: 30977067
Test: Existing tests are passing, dump commands still working.
Change-Id: I9cf81c4d381ebce14a6c701e409cbb269f2ff1fb
2016-11-04 10:43:25 -07:00
Garfield Tan
0b3cf666d0 Unhide findPath() API. Add JavaDoc to related features.
Also remove comments that disallow folders in search results.

Test: It builds.

Bug: 30948740
Bug: 32512923
Change-Id: I72706b69163aa98ee9568939e09e5048b6e8f9f8
2016-11-03 15:42:18 -07:00
TreeHugger Robot
02e17d27b1 Merge "[DPM] Management and retrieval of network logs" 2016-11-02 23:28:10 +00:00
Fyodor Kupolov
3c17728297 Merge "Reuse single AssetManager for lite/full parses" 2016-11-02 16:57:04 +00:00
Tony Mak
d3986be5e4 Add javadoc for profileGroupId
According to the implementation of getProfileParent,
profileGroupId == parent user id.

And we have already assumed this is true in some part of code in DPMS.

Test: Javadocs change

Change-Id: Ie48fdf24fb0428d4ee3f09bed2ac26cb17e1ced9
2016-11-02 10:18:01 +00:00
Michal Karpinski
f77ee4f1b7 [DPM] Management and retrieval of network logs
This CL follows up on ag/1530343 and adds:
1) Various network events.
2) Retrieval method in DPM and APIs in DeviceAdminReceiver.
3) Extension of NetworkLogger and it's NetworkLoggingHandler.

Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java
Bug: 29748723
Change-Id: I42a1a477e7c75c109a3982f809c22732b814e8b2
2016-11-02 09:00:21 +00:00
Fyodor Kupolov
965fa697c9 Reuse single AssetManager for lite/full parses
parseClusterPackage/parseMonolithicPackageLite now share a single instance
of AssetManager, avoiding loading resources twice.

Test: manual

Bug: 29273545
Bug: 30792387
Change-Id: I2209cf6f09886d444dc62993aace00c356718cdb
2016-11-01 11:36:56 -07:00
Chad Brubaker
006b53a681 Merge "Add ephemeral protection level" 2016-10-31 20:02:53 +00:00
Makoto Onuki
104f805337 App Shortcut: Clarify which attributes must be resources
Test: javadoc only -- m -j32 offline-sdk-docs

Bug 32495737

Change-Id: I4c3884172761b128d07f1c2948ab7ccc53951a7e
2016-10-31 11:31:45 -07:00
Chad Brubaker
c19706a937 Add ephemeral protection level
Ephemeral applications will only be able to be granted permissions that
have the ephemeral proteciton level, this allows us to tighly define
what behavior is OK for ephemeral applications.

This includes an initial small whitelist of permissions for ephemeral
apps, it may be expanded later.

Test: adb install --ephemeral, verified against both runtime and install
time permissions
Test: cts-tradefed run cts -m CtsPermission2TestCases
Change-Id: I854c44cf7a293d484b674cdd4fb5141e362a2f1a
2016-10-31 18:27:28 +00:00
Alan Viverette
58857c8b2b Always propagate changingConfigurations to newly-created drawables
Bug: 32395972
Test: ResourcesTest#testChangingConfigurations
Change-Id: I555f3271854bdb6026db15f855847714c4986af3
2016-10-29 00:47:45 +01:00
Robert Carr
0f5d753972 Allow specifying rotation animation in manifest.
In the case where activity launching may trigger orientation
changes we may wish to run the rotation animation with a starting
window, in which case the app won't have had time to set the
rotation animation on the window yet, so we desire a way to
specify it for the whole activity.

Test: Run RotationAnimation activity from API Demos and verify default animation is crossfade
Bug: 29940147
Change-Id: I5deae6c6a32ee51a0a5409d38f0e5d15ca464a1b
2016-10-27 22:08:11 +00:00
Kevin Hufnagle
b881803ef2 docs: Updated ShortcutManager and ShortcutInfo class references. am: 68d699d100 am: 38138600d2
am: cc93c4d247

Change-Id: Idc65cf4ce396728840a81893b2e078af6152cddc
2016-10-20 00:10:41 +00:00
Kevin Hufnagle
cc93c4d247 docs: Updated ShortcutManager and ShortcutInfo class references. am: 68d699d100
am: 38138600d2

Change-Id: I5545ca14cebb7ff1d38f03d329c3a0dd1f329390
2016-10-20 00:02:14 +00:00
Kevin Hufnagle
68d699d100 docs: Updated ShortcutManager and ShortcutInfo class references.
Bug: 32074598
Change-Id: I168d49a8542b411a074dc6e9120b0f08f72a829a
2016-10-18 15:53:09 -07:00
Ben Lin
145b0cad42 Adding an Extra field for Intents so chooser show up even if one app.
By design, ChooserActivity (the activity that shows up when there's an
intent sent that can be handled by multiple apps) always default to not
show if there's only one app available to choose from. This adds the
extra in Intent such that if passed in, the parent activity can choose
to override the behavior and force show the chooser even if there's only
one app. Default is still skipping the chooser.

Bug: 31830662
Change-Id: I17d676e77094cded4af99c7433f511e8c6c58164
(cherry picked from commit 2c5adbdf1942898baa97a3c8a7976fc7c0627902)
2016-10-17 11:32:39 +00:00
Andrii Kulian
a8a9bc5860 Make usage of Configuration.EMPTY safe
With current approach there is a high chance of making a programming
error and altering the state of singleton Configuration.EMPTY object,
because previously configuration was usually set by link to it.

This CL changes the behavior to create Configuration member objects
only once and alter their state afterwards.

Test: Manual and existing tests still pass.
Change-Id: Ie267c2fbf555f137670b7bd2cd251b817c69bc8e
2016-10-14 11:00:13 -07:00
Wale Ogunwale
df241e9771 Allow home activity to be resizeable if it explicitly wants to be.
We previously didn't allow home activities to be resizeable due to not fully
understanding how the UX would work. We now have a better idea of how the UX will
work. However, since this is a behavior change for home activities we require them
to explicitly say they want to be resizeable vs. the framework assuming they can
be resizeable based on their target sdk.

Bug: 30982291
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
Change-Id: I41aefc8c3b3da4c2cf66be81835222196df3ef26
2016-10-14 07:12:31 -07:00
Wale Ogunwale
72a73e3473 Track making activity resizeable based on sdk version separately.
To support resizeable home activities we need to make the home activity
resizeable only when the app explicitly says it is resizeable. To be able
to do that we need to track if we are allowing the app to be resizeable
due to the sdk version it is targetting separately from it explicitly
setting it so that activity manager and window manager can make the right
choices in a follow-up CL.

Bug: 30982291
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
Change-Id: I10f53ee9e57a41a3edece91cf68c5e8ef4bf4489
2016-10-14 07:11:20 -07:00
Wale Ogunwale
3eadad7566 Removed ActivityInfo.RESIZE_MODE_CROP_WINDOWS and related code.
The 2-finger gesture feature which this code is used for never
shipped and was removed from the code base.

Test: Existing tests pass.
Change-Id: I1540c8729fe87fef8e39b41747438557a8da2fa6
2016-10-14 07:05:57 -07:00
Dianne Hackborn
8888aedc1f Fix issue #32125907: Intent.replaceUnsafeExtras() corrupts original bundle am: 851ec49de7 am: 9774ea3646
am: 50468217c4

Change-Id: I949e6337546835a0673b85ee6e2ad67fb0a0fec4
2016-10-13 20:44:47 +00:00
Dianne Hackborn
50468217c4 Fix issue #32125907: Intent.replaceUnsafeExtras() corrupts original bundle am: 851ec49de7
am: 9774ea3646

Change-Id: I7e27381f7fa4ca8770ca06cdc6c0bdd18a549ae2
2016-10-13 20:38:04 +00:00
Dianne Hackborn
851ec49de7 Fix issue #32125907: Intent.replaceUnsafeExtras() corrupts original bundle
We now recursively generate new Bundle objects if we need to
do any stripping.

Change-Id: I4ca7896a0771c25264591ae7c79df85816d630d4
2016-10-12 18:17:58 -07:00
Chet Haase
5cde9305e4 Fix small typo in ShortcutManager header docs am: c158431f8e am: 5aa0dfcc0a
am: 3267a2462d

Change-Id: I9417c0a15bbc2125dd0c370bc09b2315706005f1
2016-10-12 00:43:30 +00:00
Chet Haase
3267a2462d Fix small typo in ShortcutManager header docs am: c158431f8e
am: 5aa0dfcc0a

Change-Id: Ia3a1a14cf561e6846245fa8265e96e954d8a185d
2016-10-12 00:31:31 +00:00
Chet Haase
c158431f8e Fix small typo in ShortcutManager header docs
Bug: 32093275 fix typo in ShortcutManager javadocs
Test: no test, just words in the header docs
Change-Id: Icd33481a7f285686429d908cf92de0f6f886f962
2016-10-11 21:48:55 +00:00
Chad Brubaker
45abcf44c5 Move ephemeral apps into the ephemeral SELinux domain
This also removes AutoplayApp which was the previous (ununsed) N domain
and flag for ephemeral apps.
Test: Ephemeral apps now run in ephemeral_app
Change-Id: Ie339885c3996acbdcfe12452daa1d5edb3b93cda
2016-10-10 13:46:01 -07:00
John Reck
32995223a8 Convert utils fastjni -> @FastNative
Test: builds & boots, refactor no behavior change
Change-Id: Ieb569a70fd05b88a8d2bd7b285099c1fc1888a75
2016-10-10 07:59:25 -07:00
Nicolas Prévot
4fc56e2c10 Merge "Don't allow the shell to change admin-locked app permissions." 2016-10-06 13:36:11 +00:00
Robin Lee
f1ac71dbe2 Merge "Redact work notifications separately from personal" 2016-10-05 14:59:31 +00:00