Commit Graph

5328 Commits

Author SHA1 Message Date
Adam Lesinski
ec8f353668 Merge "OverlayManagerService: Make broadcasts/updates explicit" into oc-dev 2017-04-11 00:04:41 +00:00
TreeHugger Robot
51785edbe9 Merge "Restore session on new window after app kill" into oc-dev 2017-04-08 02:35:35 +00:00
Andrii Kulian
72790bade5 Merge "Use feature instead of hidden config for multi-display" into oc-dev 2017-04-08 01:51:29 +00:00
Philip P. Moltmann
eab62baabf Restore session on new window after app kill
Also:
- Give the session an integer ID as the activityToken is not stable over
  restarts of the activity
- Verify that session is only accessed by one UID
- stabilize AccessibilityViewIds over activity lifecycle at least for
  the IDs we can do that. This required to split the ID namespace in
  "per-app" and "per-activity" views. Only the later ones can be
  restored.
- Do not end session when app is killed (as it can be restarted)

Bug: 35484143
Fixes: 36392498
Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases --test=android.autofillservice.cts.SessionLifecycleTest
      cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
Change-Id: I229acc1b3ce35fb57262da7d7466b5d4328b49d4
2017-04-08 00:48:55 +00:00
Andrii Kulian
1981f5fd17 Use feature instead of hidden config for multi-display
Using a feature will allow app developers to find out if a
particular device supports running activities on secondary
screens before using the APIs.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Change-Id: I7121bdb782cac9df70121e9df5cbf3fcb76f4a93
2017-04-07 16:23:12 -07:00
Todd Kennedy
66b5c042c2 copy 'visbileToInstantApps' setting
Change-Id: I342a133ae8d7f38008cb03706d160e6f2e2cca97
Fixes: 37002720
Test: Start instant app [adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d http://www.realestate.com.au/property-apartment-nsw-pyrmont-124879602] and see that hitting the 'share' icon works
2017-04-07 12:48:13 -07:00
Chad Brubaker
941e9e2b38 Merge "Allow permissions to be runtime-only." into oc-dev 2017-04-06 16:44:11 +00:00
Adam Lesinski
c745f42169 OverlayManagerService: Make broadcasts/updates explicit
Previously there was a listener attached to the Settings object
which would fire any time a single settings change was made.
This made it very inefficient to do batch updates.

This change makes the Settings object return its mutated status
on each call to a mutating method, allowing the caller to keep track
of whether or not to notify the listener of any changes.

This allows for the implementation of setEnabledExclusive, where
all but the target overlay are disabled and only a single notification
/ update is sent out.

Bug: 36099320
Test: manual (with OverlayManagerService.DEBUG = true), observe logcat
Test: when Going to Settings -> Display -> Advanced -> Themes and
Test: selecting a theme.
Change-Id: Ic8b8ca3ba0cf5d2d682bf6dac5a6c82e4f0f2502
2017-04-05 17:01:54 -07:00
TreeHugger Robot
63cb740b4f Merge "Serialize visibleToInstantApps" into oc-dev 2017-04-05 23:45:00 +00:00
Dianne Hackborn
1cf2c97459 Merge "Deliver start service args with ParcelledListSlice." into oc-dev 2017-04-05 20:37:36 +00:00
Chad Brubaker
49f24c60e1 Serialize visibleToInstantApps
Bug: 36972663
Test: Webview continues working
Change-Id: I680797f0a7edc71917aaf2e0bc56972a39847f8f
2017-04-05 13:08:21 -07:00
Sam Lin
9ff3ec4872 Merge "Add a feature flag for CTS." into oc-dev 2017-04-05 01:29:20 +00:00
Chen Xu
5effb5f645 Merge "move ACTION_SERVICE_STATE to system api" into oc-dev 2017-04-04 23:43:56 +00:00
Dianne Hackborn
3f7c9f2d01 Deliver start service args with ParcelledListSlice.
We have seen issues where we fail restarting a process
because there are so many services with so many pending
start arguments that we hit IPC limits.  So instead of
doing an IPC for each service start, collect them together
in a list that is sent once, and send it inside of a
ParcelledListSlice to control how much data is written
inline in the IPC.

Test: boot and ran
Change-Id: Ifed26ccdf535871e577fc02c7ef1d09060ab06ca
2017-04-04 16:12:10 -07:00
fionaxu
90fee27577 move ACTION_SERVICE_STATE to system api
As per CDD: The "android.*" namespace for intent constants is reserved
for public
Android API in AOSP. (Whether public to the full SDK, @SystemApi or
defined in AOSP support libraries.)
ACTION_SERVICE_STATE intent is generally useful for system/oem
apps thus move to system api

Bug: 33679956
Test: Manual
Change-Id: Ie38b53f077e8a013351d35387f9133e0ebb26cc9
2017-04-04 14:26:40 -07:00
Sam Lin
90e258baf4 Add a feature flag for CTS.
Bug: 36599543
Test: Build sailfish and CTS
Test: run cts -o -m CtsAppTestCases -t android.app.cts.SystemFeaturesTest#testFeatureNamespaces
Change-Id: I659ddbe7d6e2d8762d97b8a418cfc246f7a97a3e
2017-04-04 21:24:04 +00:00
Todd Kennedy
d46a1604b7 Change name of the intent fields
Change-Id: I67d3f5c7fb3189fdb35908011e92cc82c24b9154
Fixes: 36594944
Test: cts-tradefed run commandAndExit cts-dev -m CtsSignatureTestCases -t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents
2017-04-04 13:33:13 -07:00
Chad Brubaker
a5d70a17eb Allow permissions to be runtime-only.
This adds the new runtime protection level flag that if set means
the permission can only be granted to apps that target runtime
permissions (>= M).

ANSWER_PHONE_CALLS has also been made runtime-only.

Bug: 30932767
Test: cts-tradefed run commandAndExit cts-dev -m CtsPermission2TestCases
Change-Id: I42b30414c808730f2d5961ca31b6e3db740b8cf7
2017-04-04 12:27:42 -07:00
TreeHugger Robot
2ac9698271 Merge "Reorganize font enumeration API." into oc-dev 2017-04-04 16:49:56 +00:00
TreeHugger Robot
a52fc49845 Merge "Themes: Apply themes to system_server safely" into oc-dev 2017-04-04 03:25:29 +00:00
TreeHugger Robot
d017221a52 Merge "Increase visibility of FEATURE_LEANBACK_ONLY" into oc-dev 2017-04-04 01:28:43 +00:00
TreeHugger Robot
5fd39fad26 Merge "Don't wtf() for reverse profile access; make it a warning." into oc-dev 2017-04-03 23:32:00 +00:00
Daniel Cardenas
c40afac294 Increase visibility of FEATURE_LEANBACK_ONLY
Bug: 36003137
Test: Build on Fugu and CTS
Change-Id: Iab9be686a004c5c0d1fae02a33898f7ebb264b27
2017-04-03 16:06:40 -07:00
TreeHugger Robot
78e8ac9c14 Merge "Framework support to improve bg check CTS tests." into oc-dev 2017-04-03 22:26:01 +00:00
TreeHugger Robot
a73aee4cdc Merge "Revert "Deprecate EXTRA_STREAM."" into oc-dev 2017-04-03 22:17:17 +00:00
Sanket Padawe
9077faab1f Merge "Make some intents public in SubscriptionManager." into oc-dev 2017-04-03 22:10:29 +00:00
Makoto Onuki
3cc7cd1c18 Don't wtf() for reverse profile access; make it a warning.
Bug:36003688
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests
Change-Id: I6d6a73e1d9281dc0b92186dd0666865b0f6b3f1c
2017-04-03 14:04:11 -07:00
Seigo Nonaka
ff55115121 Reorganize font enumeration API.
This CL cleans up APIs around font variation settings.
- Remove FontConfig and FontManager public API.
- Remove FontManagerService from system service.
- Extract inner class FontConfig.Axis as top-level class FontVariationAxis.
  This is used by Typeface.Builder public API to create new Typeface.
- Introduce and expose FontVariationAxis utility functions from/to string.
- Throws if the invalid font variation settings is passed.

Test: android.text.cts.FontVariationAxisTest passes
Test: android.graphics.cts.TypefaceTest passes
Test: android.graphics.cts.PaintTest passes
Change-Id: I9ccafe7a53935960566243e2856e166878ca59ae
2017-04-03 13:55:07 -07:00
Jeff Sharkey
81aebe7c3c Revert "Deprecate EXTRA_STREAM."
This reverts commit a0ba51c2ab.

Bug: 35293781
Change-Id: I5f0b9000535ac0bcbbe125fe781c20c5fb0c8782
2017-04-03 20:14:34 +00:00
Makoto Onuki
ef7dff2563 Merge "Revert "Push chooser targets to the shortcut manager."" into oc-dev 2017-04-03 19:45:18 +00:00
Brad Ebinger
57132a1513 Merge "Move CALL_PRIVILEGED/EMERGENCY to @SystemApi" into oc-dev 2017-04-03 18:12:42 +00:00
Sanket Padawe
2c1a49f933 Make some intents public in SubscriptionManager.
+ As per https://docs.google.com/document/d/1K8C7Ly8YVu032FQlwEdkv3ovcTYQCTvy0PaMax5PmZI/edit#heading=h.g6rt8vhyfjj1

Bug: 36572866
Test: Builds successfully.
Change-Id: Ibb1d1faae9a002ccb530446e24897955c12076e1
2017-04-03 10:13:12 -07:00
TreeHugger Robot
35110948b7 Merge "Implement service filtering" into oc-dev 2017-04-03 14:45:57 +00:00
Bryce Lee
7566d76c61 Add app bounds to configuration.
The system previously overrode the display size for a specific scope
(task/activity/etc.) by setting the associated Configuration's
screenWidthDp/screenHeightDp. This leads to two issues. First, the
conversion of screen size from pixels to display independent pixels
and then upconverting later on leads to rounding errors. Secondly,
the screenWidthDp and screenHeightDp values account for insets, such
as the status bar. These however are not reflected in the display
size when returned from Display#getMetrics/getSize.

This changelist addresses the issue by adding a Rect value to
Configuration which stores the app display bounds. This is always set
at the display level and overridden as appropriate. As the proper
app insets are accounted for at the root configuration, all overrides
(outside of specific exceptions) are the result of the intersection
between the requested bound and the parent bound.

Change-Id: I2c4fcd0bee92af12aabbca258de05b4ec061d0e1
Fixes: 34338931
Bug: 36812336
Bug: 36676979
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsAppTestCases android.app.cts.AspectRatioTests
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests
Test: bit FrameworksServicesTests:com.android.server.wm.AppBoundsTests
2017-03-31 21:34:30 -07:00
Dianne Hackborn
9484603c0f Framework support to improve bg check CTS tests.
(Finally) introduce a new ServiceConnection callback to
tell you when the binding has died.  This allows you to robustly
have a weak service monitoring, and also is an easy way to find
out about breakages due to app updates etc.

Also clean up some debug output.

Test: moved to own suite and ran them.

Change-Id: I526cc00816c384fa9eb1312b92406f38085cbff9
2017-03-31 17:58:38 -07:00
TreeHugger Robot
2d161b1d3f Merge "Implement issue #36590595: Add ability to associated a ClipData with JobInfo" into oc-dev 2017-03-31 23:21:11 +00:00
Makoto Onuki
99302b55c6 Revert "Push chooser targets to the shortcut manager."
This reverts commit 58fc95dc57.

Bug 36186790
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 CtsShortcutHostTestCases
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 CtsShortcutManagerTestCases

Also all unit tests, except for the known failrues.
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Change-Id: I733ee7e12a419ee7ea17ca67c56afe7b039d189a
2017-03-31 15:16:43 -07:00
Brad Ebinger
7a8d352871 Move CALL_PRIVILEGED/EMERGENCY to @SystemApi
CALL_PRIVILEGED and CALL_EMERGENCY APIs are used
by vendors and Android Wear and should be moved
to @SystemApi to pass CTS tests.

Bug: 36566521
Test: CTS tests
Change-Id: I73a0b2c4e551b4738c4c322d9822a85ee19d269b
2017-03-31 22:14:53 +00:00
Todd Kennedy
51b3aaccfe Implement service filtering
Instant apps can no longer see services that haven't been
exposed to them via the visibleToInstantApps attribute.

Change-Id: I6fd78067d1253825668d67b9e17dd3a0703f5d57
Fixes: 35871716
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
2017-03-31 14:30:42 -07:00
Garfield Tan
f6d9507a00 Merge "Add flags for quick viewer to indicate capabilities of a document." into oc-dev 2017-03-31 18:04:54 +00:00
Dianne Hackborn
a47223f99b Implement issue #36590595: Add ability to associated a ClipData with JobInfo
Yum!

Also needed to have a Context.revokeUriPermission() variant that is sane,
so reasonable CTS tests can be written.

Test: new ClipDataJobTest added.

Change-Id: Ia3135ea788a6e32c971bae7dab3a844d0ef4139c
2017-03-31 10:41:50 -07:00
Sudheer Shanka
670e750b2e Merge "Change namespace of ACTION_REQUEST_SHUTDOWN." into oc-dev 2017-03-31 01:54:56 +00:00
Sudheer Shanka
218190a3c9 Change namespace of ACTION_REQUEST_SHUTDOWN.
Fixes: 36644580
Test: cts-tradefed run singleCommand cts-dev -m CtsSignatureTestCases -t android.signature.cts.IntentTest
      and Device power-off works
Change-Id: I63f461157a63305cd08c5dc42293730be4eb657f
2017-03-30 18:53:29 -07:00
TreeHugger Robot
0fd4284b29 Merge "Make ACTION_USER_REMOVED intent a SystemApi." into oc-dev 2017-03-31 01:27:26 +00:00
Sudheer Shanka
166a81b3a3 Make ACTION_USER_REMOVED intent a SystemApi.
Fixes: 36645106
Test: cts-tradefed run singleCommand cts-dev -m CtsSignatureTestCases -t android.signature.cts.IntentTest
Change-Id: I4230791df73549f147dc048d152a05e9eed5bc63
2017-03-30 18:12:39 -07:00
TreeHugger Robot
1284be68e8 Merge "Fix issue with force resizing activity when app level doesn't want to" into oc-dev 2017-03-31 01:02:00 +00:00
Garfield Tan
ce1d0e9459 Add flags for quick viewer to indicate capabilities of a document.
Replace the QUICK_VIEW_ADVANCED extra.

Also restrict quick viewers not to send file content out of the device.

Test: It builds.
Bug: 36484539
Bug: 36755024
Change-Id: I921230eac6e497a615624202c741ef03432b2690
2017-03-30 17:50:53 -07:00
Wale Ogunwale
e633eb00a0 Fix issue with force resizing activity when app level doesn't want to
Don't force resize activity whose manifest attribute has
resizeableActivity set to false at the application tag level.

Fixes: 36704475
Test: Launch an app that disables resizeableActivity at the app level
in multi-window mode.

Change-Id: I73137175290355266a4d3ecc469e7a39d73dbc62
2017-03-30 15:34:41 -07:00
Christopher Tate
08992ac57e API refactor: context.startForegroundService()
Rather than require an a-priori Notification be supplied in order to
start a service directly into the foreground state, we adopt a two-stage
compound operation for undertaking ongoing service work even from a
background execution state.  Context#startForegroundService() is not
subject to background restrictions, with the requirement that the
service formally enter the foreground state via startForeground() within
5 seconds.  If the service does not do so, it is stopped by the OS and
the app is blamed with a service ANR.

We also introduce a new flavor of PendingIntent that starts a service
into this two-stage "promises to call startForeground()" sequence, so
that deferred and second-party launches can take advantage of it.

Bug 36130212
Test: CTS

Change-Id: I96d6b23fcfc27d8fa606827b7d48a093611b2345
(cherry picked from commit 79047c62b5)
2017-03-30 18:31:24 +00:00
Chad Brubaker
cd181e63ff Merge "Track isolated process owners" into oc-dev 2017-03-30 17:03:51 +00:00