Commit Graph

5299 Commits

Author SHA1 Message Date
Brad Ebinger
0f7e7c59f4 Merge "Move CALL_PRIVILEGED/EMERGENCY to @SystemApi" into oc-dev am: 57132a1513
am: 6f4841bd3b

Change-Id: I73d709b8763c0859b13c621d530d5614d93c8ca2
2017-04-03 18:36:51 +00:00
Brad Ebinger
57132a1513 Merge "Move CALL_PRIVILEGED/EMERGENCY to @SystemApi" into oc-dev 2017-04-03 18:12:42 +00:00
Todd Kennedy
efe5d22272 Merge "Implement service filtering" into oc-dev am: 35110948b7
am: 48a2f0036c

Change-Id: I479a1db354a7f61e669f67241a0648d843301e95
2017-04-03 18:02:24 +00:00
Bryce Lee
126159a88f Merge "Add app bounds to configuration." into oc-dev am: 7efe56b779
am: 59d1f8a024

Change-Id: Iae8e43872eee11214347cfb935793e9356a50e08
2017-04-03 18:00:08 +00: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
TreeHugger Robot
5ac0d27178 Merge "Add hidden SystemApi for two setup wizard actions" 2017-04-01 03:57:21 +00: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
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
Chad Brubaker
0f28a80d8e Track isolated process owners
This fixes two issues:
1) Isolated processes spawned by Instant Apps do not get full access to
package lists as those spawned by normal apps do
2) Package manager considers the isolated process the same app as the
Instant App that created it when determining what packages are exposed.

Bug: 34087569
Test: Webview works
Test: Isolated apps cannot access package info of other apps via start
an isolated service.

Change-Id: Ib26280b87fb46dc66f1f25ee6209427a095342b0
2017-03-29 16:31:12 -07:00
Makoto Onuki
03169cddf6 Mention <intent> can't have string resources.
Test: build
Bug 34046756

Change-Id: I761b246d6aba5df4a836af3d0b3bef8f977be5ec
2017-03-29 21:07:15 +00:00
TreeHugger Robot
61ae34afe3 Merge "Intercept direct launch of instant app installer" into oc-dev 2017-03-28 20:47:09 +00:00
TreeHugger Robot
1b782bffdf Merge "make MATCH_FACTORY_ONLY @SystemAPI" into oc-dev 2017-03-28 20:46:44 +00:00
TreeHugger Robot
01d69aae3a Merge "Add extra flag to ApplicationInfoFlags" into oc-dev 2017-03-28 20:46:21 +00:00
Todd Kennedy
b21be12d9d Intercept direct launch of instant app installer
The instant app installer is not designed to be launched directly
by 3p apps. Instead, intercept the launch and make it look like
a "normal" instant app launch.
cherry-picked from I89c9b8c56865e260a2b92f8c2312a305a74f9cf5

Bug: 33073524
Test: Built and notice poorly behaving apps [*cough* keep *cough*] now launch instant apps
Change-Id: I5401aa8423042f54f1478409065b0d6b25cebe89
2017-03-28 13:43:21 -07:00
Todd Kennedy
ea2529df19 make MATCH_FACTORY_ONLY @SystemAPI
cherry-picked from I9e2046b62cb20c5b6651e91f833aff04d45d9800

Bug: 35946061
Test: None; just added an annotation
Change-Id: I604f962b9826700c335eeda9682d3354f6260c40
2017-03-28 13:42:00 -07:00
Todd Kennedy
b65c36a034 Add extra flag to ApplicationInfoFlags
MATCH_DISABLED_COMPONENTS should be part of ApplicationInfoFlags.
cherry-picked from If6a925c156192ee4663f0cb66d82fc03a86940d6

Change-Id: I048635ff0938f2772d5702de7eb4bc4812ece605
Fixes: 34969805
Test: None; updating annotation
2017-03-28 13:40:02 -07:00
Chad Brubaker
336ae5b616 Add ACTION_EPHEMERAL_RESOLVER_SETTINGS
This Intent will be used in Settings to show the settings UI for the
Ephemeral resolver. Settings can get the correct component to send the
Intent to by calling
PackageManager.getInstantAppResolverSettingsComponent

Bug: 35918998
Test: Boots
Change-Id: I0edcf85704f2c19e0ee27f91b6ef057d52e32778
(cherry picked from commit aa49cb86e6)
2017-03-28 20:34:55 +00:00
Amith Yamasani
2cbfa1ec74 Catch IllegalArgumentException to avoid SyncManager crash
When SyncManager's scheduling races with an app with a sync
adapter being uninstalled, it can get an IAE from PackageManager.

Catch this exception and skip over the job.

Bug: 36658118
Test: Manual
Change-Id: I0a63a3e0aa19cb5685aa18c7c6c9d6dd6ccfd60a
2017-03-28 10:34:01 -07:00
Wale Ogunwale
0cb70ac40f Fixed logic error with setting maxAspectRatio
Ignore maxAspectRatio values less than 1.0 and set it to 0 which
means use device aspect ratio.

Change-Id: Ib2c76f6232e3f7521a1a4565d7c0c9e1de9c9eac
Fixes: 36606641
Test: cts/.../run-test CtsAppTestCases android.app.cts.AspectRatioTests
2017-03-27 17:27:59 +00:00
TreeHugger Robot
bfc4d59bf8 Merge "Replace possibly-expensive size() == 0 with isEmpty()" 2017-03-27 17:15:25 +00:00
Mike Tsao
c74ee2f8d3 Replace possibly-expensive size() == 0 with isEmpty()
Bug: 36596458
Change-Id: Ieb0ea65be056bb8ce0613280e6213c330fbf783c
Test: added ContentValuesTest
2017-03-24 15:10:41 -07:00
Wale Ogunwale
55ddf8f9e5 Added support for maxAspectRatio manifest attribute.
- Allows an app to specify the maximum aspect ratio it supports.
- Support for overriding configuration and bounds at the activity
record and app window token level.

Test: cts/.../run-test CtsAppTestCases android.app.cts.AspectRatioTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowFrameTests
Bug: 36505427
Bug: 33205955
Bug: 35810513
Change-Id: Ib2d46ed0c546dd903d09d6bb7162a98bd390ba81
2017-03-24 13:48:40 -07:00
Russell Brenner
4cd32e5395 Add hidden SystemApi for two setup wizard actions
ACTION_UPGRADE_SETUP exists as an SdkConstant and is now additionally
tagged as a SystemApi. ACTION_DEVICE_INITIALIZATION_WIZARD is added
as a deprecated SystemApi to appease CTS requirements. Both APIs are
hidden.

Test: cts-tradefed run cts-dev -m CtsSignatureTestCases \
        -t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents
Bug: 33663899
Change-Id: Ib45afbfcbb9a3d3020f11c8b63fc2bcf6fc447a1
2017-03-23 15:56:09 -07:00
TreeHugger Robot
e219aaae85 Merge "Delete preloadsFileCache when the cache has expired" 2017-03-23 21:19:48 +00:00
Fyodor Kupolov
935618a2c5 Delete preloadsFileCache when the cache has expired
Added deletePreloadsFileCache that can be called from settings app.

Modified freeStorageAndNotify to call deletePreloadsFileCache if the
cache has expired, or aggressive flag is set.

Bug: 34690396
Test: Manual
Change-Id: Ia097cd2f62ad501644be1c2cc573c249d8cfbf55
2017-03-23 10:12:55 -07:00
Todd Kennedy
fe7f38c376 update comment with a bug number
Change-Id: Iff12dfd90d5b67da9f32b1f7b2410ac59ef07018
Test: None. Comment-only change
2017-03-23 09:52:03 -07:00
TreeHugger Robot
0466e4a837 Merge "Allow exposing components via <meta-data>" 2017-03-23 16:29:02 +00:00
TreeHugger Robot
a9d2e5e798 Merge "Preload fonts from an array" 2017-03-23 16:17:51 +00:00
Clara Bayarri
2821eeae97 Preload fonts from an array
Until now we were reusing the font tags, but it is not needed,
we can declare the list of fonts to preload with a simple
resources array.

Test: manual
Bug: 36119246
Change-Id: I39819018012c322aff62e13aa69ab35467be57ac
2017-03-23 13:48:22 +00:00
TreeHugger Robot
ab2bc07e5f Merge "Prevent downgrade of targetSandboxVersion" 2017-03-22 21:14:05 +00:00
Clara Bayarri
fb483cc90c XML Support for non system font providers
The certs needed to identify non preinstalled providers
can now be declared in XML, using a resources array.

Test: runtest --path frameworks/base/core/tests/coretests/src/android/provider/FontsContractTest.java
runtest --path frameworks/base/core/tests/coretests/src/android/content/res/FontResourcesParserTest.java
Bug: 35025705
Change-Id: Ibf12ad409aa5a873ddb32b1383c147728e664c23
2017-03-22 11:47:51 +00:00
TreeHugger Robot
a6906adf59 Merge "Explicitly call out email in "social" category." 2017-03-22 04:22:19 +00:00
TreeHugger Robot
e2fa7c36c3 Merge "Deprecate EXTRA_STREAM." 2017-03-22 03:52:00 +00:00
TreeHugger Robot
8a29aecb73 Merge "Better ContentProvider error messages." 2017-03-22 03:17:01 +00:00
Jeff Sharkey
a0ba51c2ab Deprecate EXTRA_STREAM.
ClipData is much more flexible, and it should be used instead of
EXTRA_STREAM moving forward.  To ensure that legacy apps continue
working, the OS will offer to promote/demote the ClipData value
from/to EXTRA_STREAM.  (We already had the promotion logic, but we
were missing the demotion logic.)

Test: builds, boots
Bug: 35293781
Change-Id: I82cd0b95cf021292282649290ab046cc310fe160
2017-03-21 20:23:40 -06:00
Jeff Sharkey
d2b69100f4 Explicitly call out email in "social" category.
Test: builds, boots
Bug: 35294569
Change-Id: I08b2c1b1b95b6c2fc6fd7be417cd0f9547c8237b
2017-03-21 19:41:29 -06:00
Jeff Sharkey
c0cc220e63 Better ContentProvider error messages.
Help guide developers towards ACTION_OPEN_DOCUMENT and related
APIs when a Uri is backed by a DocumentProvider.

Also help developer understand that we expected a valid
ContentProvider for Uri notifications.

Test: builds, boots
Bug: 32642790, 36075317
Change-Id: I8e0e3cb25b183c4a9a094a53018822a4212bdaf9
2017-03-21 19:25:37 -06:00