Commit Graph

5292 Commits

Author SHA1 Message Date
Jeff Davidson
35cda39422 Squashed merge of master-sim into master.
Includes the following commits:

==

New system feature: eUICC.

Presence of this feature implies that eUICC-related APIs are expected
to function as long as an eUICC is present in the device. Note that an
eUICC may be embedded in the device but may also be removable.

==

Add empty EuiccManager API and plumbing.

==

Add stub EuiccService.

EuiccService is the class that the LPA app must implement; for now,
just define the action and priority so that the implementation can be
found. Actual methods will come later.

Also declare two relevant permissions: BIND_EUICC_SERVICE, which the
implementation must require (so that nobody else can bind to the
service directly), and WRITE_EMBEDDED_SUBSCRIPTIONS, which permits
signature|privileged apps and CTS (via development) to access
EuiccManager APIs.

==

Add UiccAccessRule based off UiccCarrierPrivilegeRules#AccessRule.

This class can be used to transfer access rules between an
EuiccService implementation and the platform.

We also add a simple encoding/decoding of a list of rules so that they
may be stored in the subscription info table.

==

Add getEid() to EuiccManager/EuiccService.

getEid() fetches the EID. It requires either a privileged permission
(READ_PRIVILEGED_PHONE_STATE) or carrier privileges on the
currently-active profile. Until there is a use case that requires
opening this up to apps with only READ_PHONE_STATE, we shouldn't do
so.

To avoid churn in the future, the API signatures for EuiccService
include a slot ID to identify which SIM slot is being used. However,
this parameter is currently not populated correctly (nor is it usable,
as no Telephony APIs accept a slot ID to address commands). There is
no need to expose it yet in the EuiccManager APIs as we expect to
follow the TelephonyManager pattern of allowing per-slot instances of
EuiccManager in the future while keeping other method signatures the
same.

==

Define Euicc UI actions in EuiccManager/EuiccService.

The EuiccManager actions are to be implemented by the platform (and
only the platform), which forwards the actions to the active
implementation.

Also, remove our explicit priority meta-data tag as we can just rely
on android:priority in the corresponding intent-filter.

==

APIs for downloading embedded subscriptions.

Includes:

-getDownloadableSubscriptionMetadata, used by the platform and LUI to
fetch metadata about a downloadable subscription. The platform will
use this to perform the necessary permission checks (only allowing
otherwise-unprivileged apps to download profiles that are permitted
per the subscription metadata), and the LUI can use this to present
the name of the profile.

-downloadSubscription, to actually perform a profile download.

The stub for startResolutionActivity is included but not implemented;
resolution activities will be handled in a follow-up change.

==

Test: TreeHugger
Change-Id: I47b1da5a69f0736012cb137e02cd6c4e07fdaace
2017-04-03 11:17:53 -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
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
Eugene Susla
9f29617d58 Merge "Add system feature for Companion Device Manager" 2017-03-21 23:58:35 +00:00
Todd Kennedy
752fb70b51 Allow exposing components via <meta-data>
Change-Id: I3d5f7f086c4da8d383f18f45e9510eea1db88c03
Fixes: 36479185
Test: Locally modify ephemeral cts tests to use <meta-data> and run 'cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest'
2017-03-21 16:28:10 -07:00
TreeHugger Robot
11f5cf937a Merge "Send launch token to activity manager" 2017-03-21 22:55:09 +00:00
Jeff Sharkey
6f4b2a3039 Shame developers that are calling hidden APIs.
Test: builds, boots
Change-Id: Id3edf1a7890f7dbc4cff2a2699bbeabc247c6e90
2017-03-21 14:13:47 -06:00
TreeHugger Robot
5dd59219e3 Merge "[Resources] preloaded drawables few" 2017-03-21 16:17:04 +00:00
Adam Lesinski
60b4af5d65 Merge "AssetManager: Guard against null in array retrieval" 2017-03-21 01:03:18 +00:00
Todd Kennedy
b3b43130db Send launch token to activity manager
When an instant app is installed, control passes from the platform
to the instant app installer. However, when the instant app is
launched, the original launch token needs to be associated with that
launch. Do this by sending the launch token along with the original
launch intent

Change-Id: I5741be343862d4e5c8bfb6b4a81d0bac8e53ea9c
Fixes: 35445667
Test: Build and manully inspect the event logs to ensure the launch token is sent on instant app launch
2017-03-20 16:05:48 -07:00