Commit Graph

18577 Commits

Author SHA1 Message Date
Jason Monk
3706cf9e28 Merge "Add AppComponentFactory API" 2017-12-14 02:21:12 +00:00
Mohammed Khider
1f82396299 Merge "Duty Cycling and Low Power Mode GNSS feature implementations" 2017-12-14 01:16:50 +00:00
Chen Xu
79972cd448 Merge "new carrier id APIs" 2017-12-13 23:20:30 +00:00
Jeff Sharkey
2619e8f011 Merge "Start accepting Executors instead of Handlers." 2017-12-13 22:48:03 +00:00
Ta-wei Yen
edf53637bd Merge "Deprecate setVoicemailRingtoneUri and setVoicemailVibrationEnabled" am: 8244ebfc4e am: a02bbdb8d8
am: 3d89874bb5

Change-Id: I6b1882e006a7b708c5979b4970a2ddc9be35f93b
2017-12-13 22:29:36 +00:00
gomo
48f1a64765 Duty Cycling and Low Power Mode GNSS feature implementations
Implementaion of 2 GNSS Android-P features:
- The Duty Cycling API to enable high accuracy applications development
- The Low Power Mode GNSS API to save power when indoor

Bug: 64009176
Test: Existing unit tests still pass.
Change-Id: I3ba3b86a635a54927c694fdd66a038757e843937
2017-12-13 13:38:31 -08:00
TreeHugger Robot
2cea154e52 Merge "Make DevicePolicyManager.isAffiliatedUser public" 2017-12-13 21:12:32 +00:00
Jeff Sharkey
8439ac08b1 Start accepting Executors instead of Handlers.
After discussion in API council, our new best-practices are to have
developers provide an Executor to dispatch callbacks/listeners on,
instead of the previous guidance of using a Handler.

Define Context.getMainExecutor() to easily obtain an Executor
associated with the main thread of application.  This allows new
APIs to require a @NonNull Executor.  Also define a new
@CallbackExecutor auto-doc annotation that explains background and
points developers at new Context method above.

Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.cts.ContextTest#testMainLooper
Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.cts.ContextTest#testMainExecutor
Bug: 70348426
Change-Id: I536892bcd80fcfba1bb1ddf67648c08a26d7ddd2
2017-12-13 13:59:04 -07:00
Jason Monk
a80bfb5d55 Add AppComponentFactory API
API to allow some classloader control over instantiation of
items from application's manifest. Unlike the first attempt
this does not encourage developers to extend Application, it simply
provides a small surface to allow control over the creation of objects
like Activities, Services, Receivers, and Providers.

Test: manual
Bug: 70623879
Change-Id: Idcab7c60f54ce3f4575ac29dcdcae321cf458bf3
2017-12-13 15:36:26 -05:00
Jordan Liu
34116c78d9 Merge "Unhide signal strength carrier config" 2017-12-13 18:20:12 +00:00
Alex Chau
443b6431dd Make DevicePolicyManager.isAffiliatedUser public
- Simplified javadoc on device affiliation concept. "affiliated with the
  device" will be used to describe affiliation with device owner user,
  as defined in #isAffiliatedUser javadoc.
- Link to #isAffiliatedUser whenever device affiliation is mentioned

Bug: 67582080
Test: None
Change-Id: I4395ff980aa1626d6ff352d2f16777887784082c
2017-12-13 17:40:36 +00:00
Jeff Sharkey
6cff5c2840 Merge "API that reports first SDK level of the device." 2017-12-13 16:53:55 +00:00
Przemyslaw Szczepaniak
161614e12c Merge changes from topic "deprecated_sdk_1"
* changes:
  Reject apks targeting deprecated sdk
  Add Build.Version.MIN_SUPPORTED_TARGET_SDK_INT field.
2017-12-13 10:15:46 +00:00
TreeHugger Robot
25787529b5 Merge "Allow multiple standby buckets to be set in one IPC" 2017-12-13 04:33:39 +00:00
TreeHugger Robot
05e90071ec Merge "Add getDisallowedSystemApps to DevicePolicyManager" 2017-12-13 03:05:23 +00:00
Jeff Sharkey
28c660f11a API that reports first SDK level of the device.
This is different from SDK_INT, which can change due to OTA
software updates.

Test: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.BuildTest
Bug: 69270887
Change-Id: Ic3f4b22b25dc08f3fbdbdf7622c953323447ea01
2017-12-12 14:11:14 -07:00
Ta-wei Yen
088b8b4387 Deprecate setVoicemailRingtoneUri and setVoicemailVibrationEnabled
Due to notification channel changes in O these settings are no longer
applicable.

Change-Id: Iaac6fda37bc989e09e7e4b1c20f2434be3feee92
Fixes: 38205149
Test: Doc change.
2017-12-12 11:31:47 -08:00
Alex Chau
b6a9f94d67 Add getDisallowedSystemApps to DevicePolicyManager
- The getDisallowedSystemApps is based on OverlayPacakgesProvider which
  is moved from ManagedProvisinoing
- getDisallowedSystemApps will be used by ManagedProvisioning
- createAndManageUser will now use getDisallowedSystemApps to disable
  disallowed system apps when creating users
- LEAVE_ALL_SYSTEM_APPS_ENABLED can be passed to createAndManageUser to
  enable all system apps
- ACTION_MANAGED_USER_CREATED will be broadcasted to ManagedProvisioning
  after managed user is created to take a system app snapshot

Bug: 65842187
Test: OverlayPackagesProviderTest passes
Test: Disallowed system apps does not appear in device owenr, managed
      profile, and managed users
Test: System app snapshot is created after provisinoing device owner,
      managed profile and managed users
Change-Id: I86f870f7814b5700cf5539e889fb6998514d110f
2017-12-12 18:47:29 +00:00
TreeHugger Robot
a22a7c2f97 Merge "Add DevicePolicyManager.isEphemeralUser" 2017-12-12 18:40:04 +00:00
Treehugger Robot
8ded1cde4a Merge "Moved data connection response into system api." 2017-12-12 18:04:10 +00:00
TreeHugger Robot
ec646687c3 Merge "Add Slice.Builder#addBundle" 2017-12-12 16:44:13 +00:00
Seigo Nonaka
b507df4569 Merge "Introduce PremeasuredText" 2017-12-12 16:40:27 +00:00
Jason Monk
fed72bf199 Add Slice.Builder#addBundle
Its for support lib expansion in the future, not for dev use.

Bug: 68378561
Test: atest cts/tests/tests/slice
Change-Id: Ifc73e56c391bd4abed3b8db3c597d7dc794c1a3c
2017-12-12 09:30:28 -05:00
Przemyslaw Szczepaniak
73b6bc86af Add Build.Version.MIN_SUPPORTED_TARGET_SDK_INT field.
Expose min supported value for app target sdk version.
Curently set to 0.

Test: make
Bug: 63926630
Change-Id: I3af54d33da78f74b6fffba4216fd6a2be25475f6
2017-12-12 11:47:12 +00:00
Seigo Nonaka
fbe63bddd6 Introduce PremeasuredText
By measuring the character widths beforehand, we can save at least 40%
of the StaticLayout construction time which typically happens on UI
thread.
Also verified this doesn't cause performance regression for not
premeasured text.

Raw performance score (Not premeasured -> premeasured, median, N=100)

No Style,   Greedy, Hyphenation OFF:  7,812,975 ->    503,245 (-93.6%)
No Style, Balanced, Hyphenation OFF:  7,843,254 ->    396,892 (-95.0%)

No Style,   Greedy, Hyphenation ON : 19,134,214 -> 11,658,928 (-39.1%)
No Style, Balanced, Hyphenation ON : 19,348,062 -> 11,634,942 (-39.9%)

Styled,     Greedy, Hyphenation OFF: 14,353,673 ->    572,840 (-96.0%)

Raw performance score (w/o patch -> w/ patch, median, N=100):

No Style,   Greedy, Hyphenation OFF:  7,732,894 ->  7,812,975 (+1.04%)
No Style, Balanced, Hyphenation OFF:  7,884,510 ->  7,843,254 (-0.52%)

No Style,   Greedy, Hyphenation ON : 18,986,958 -> 19,134,214 (+0.78%)
No Style, Balanced, Hyphenation ON : 19,232,791 -> 19,348,062 (+0.60%)

Styled,     Greedy, Hyphenation OFF: 14,319,690 -> 14,353,673 (+0.24%)

Bug: 67504091
Test: bit CtsTextTestCases:*
Test: bit CtsGraphicsTestCases:*
Test: bit CtsWidgetTestCases:*
Test: FrameworksCoreTests:android.text.MeasuredTextTest
Change-Id: I0b46f04b42cc012606a9c722eca0d51147a0dcc7
2017-12-11 18:55:12 -08:00
Hall Liu
0afd2d0288 Merge "Add CarrierConfig key for RTT support" am: e5a913661d am: 79dc6fb815
am: 6365fde4c0

Change-Id: I652fb64918aaf7dbd87910d35329b2752914e937
2017-12-12 02:46:53 +00:00
TreeHugger Robot
4c2009c236 Merge "Make TelephonyManager#getEmergencyCallbackMode SystemApi" 2017-12-12 01:30:03 +00:00
Jordan Liu
a59a5eb71b Unhide signal strength carrier config
Also flip the usage to match the precedent set by other similar carrier
configs.

Bug: 69730732
Test: manual and new unit test
Change-Id: Ic7b8f5fabcdefb7b7925bf2dab4840c2ec26bdff
2017-12-11 17:26:51 -08:00
Hall Liu
47ed62080f Add CarrierConfig key for RTT support
Add the carrier config key.

Test: add fake support for some random carrier, look for the capability
Bug: 63934808
Change-Id: I8a0e33a7ac10fbdcad356059913e7ddcba26bb6c
2017-12-11 14:41:31 -08:00
TreeHugger Robot
8c919fd93c Merge "Introduce API to enable existing packages on shared users" 2017-12-11 22:21:12 +00:00
fionaxu
fff6f59a63 new carrier id APIs
1. New telephony APIs to getCurrentCarrierId
and getCurrentCarrierName
2. New broadcast intent to notify carrier id changed

Bug: 64131637
Test: Build
Change-Id: I9a240ba7df313ad701f98bb3982f29c3d5317da8
2017-12-11 11:45:13 -08:00
Jason Monk
740a650dac Change colors to allow transport of more generic ints
This is in preparation for sliders, also add some hints/types that
will be used for sliders.

Test: atest cts/tests/tests/slice
Bug: 68378584
Change-Id: I8f6a8bb7c80854b51c421a437318975f517a2169
2017-12-11 14:44:00 -05:00
Alex Chau
5343fcb77d Introduce API to enable existing packages on shared users
- Also unhide setKeepUninstalledPackages
- installExistingPackage accpets delegation API because all app
  managemnet PIs did the same, including setKeepUninstalledPackages and
  enableSytemApp

Bug: 70017947
Bug: 65842106
Test: Install apps already installed in u0 in shared user should succeed
Test: Install apps in setKeepUninstalledPackages cache in shared user
      should succeed
Test: Install apps via delegated package should succeed
Test: Install apps via unaffiliated profile owner should fail
Test: Install apps not installed in any user or in APK cache shoudl fail
Change-Id: Iba563b2050abd0d1f46bfa06cfc0526b7b476b3b
2017-12-11 14:13:00 +00:00
Alex Chau
8d6e18c879 Add DevicePolicyManager.isEphemeralUser
Bug: 67580550
Test: The AP returns false in primary user.
Test: Create ephemeral user with createAndManageUser, ensure the API return true.
Change-Id: I1e670ca8a8c6171ddb94a1e4b1cb1a958f12919d
2017-12-11 13:44:00 +00:00
TreeHugger Robot
0b62766d27 Merge "API Review: Drop "Button" in is/setLogoutEnabled method" 2017-12-11 06:35:31 +00:00
Amith Yamasani
e878931414 Allow multiple standby buckets to be set in one IPC
SystemApi to pass a map of packagename to bucket mapping.
Reduces the number of IPC calls to be made by bucketing
ML app.

Bug: 63527785
Test: atest CtsAppUsageHostTestCases
Change-Id: I4172fd30cc310092a1f182ae26267de9148009b7
2017-12-10 18:52:20 -08:00
Tarandeep Singh
521fa713bd Merge "Move IME related API methods from IMM to IMS." 2017-12-09 01:35:04 +00:00
TreeHugger Robot
21ce736414 Merge "PROTECTION_FLAG_VENDOR_PRIVILEGED as @TestApi" 2017-12-09 01:10:58 +00:00
Jack Yu
b592e29f28 Moved data connection response into system api.
This is a preliminary step for IWLAN refactoring, where data response
will be one of the parameter in data service callback.

Test: Telephony sanity tests
bug: 64132030
Merged-In: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1
Change-Id: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1
(cherry picked from commit e44609b158)
2017-12-08 13:28:07 -08:00
Tarandeep Singh
d8d03a8e1b Move IME related API methods from IMM to IMS.
InputMethodManager is public InputMethod API for apps. The methods
that take Window-token as parameter are restricted to system
and/or IME developers. Such methods should really live
in InputMethodService.
This CL deprecates such methods in IMM and moves them to IMS.

This is the first step towards simplifying IME APIs.

Bug: 70282603
Test: atest InputMethodManagerTest
Change-Id: I3163f3cbe557c85103ca287bee0874a3b4194032
2017-12-08 10:40:38 -08:00
Alex Chau
d795827c31 API Review: Drop "Button" in is/setLogoutEnabled method
Bug: 70336452
Test: Logout button can still be controlled

Change-Id: I2ac24c4dec1ce90a77037a6415b4a6f77e959965
2017-12-08 11:32:23 +00:00
Jiyong Park
2f24f039c3 PROTECTION_FLAG_VENDOR_PRIVILEGED as @TestApi
The flag is used in CTS.

Bug: 70332172
Test: cts-tradefed run commandAndExit cts-dev -m CtsPermission2TestCases
-t
android.permission2.cts.PermissionPolicyTest#testPlatformPermissionPolicyUnaltered

Change-Id: Iba4ce1475991249980cc6a403037f4dd7bf722e5
2017-12-08 12:25:25 +09:00
Dianne Hackborn
f4ef6eb5f5 Changes need to implement heavy-weight gaming app tests.
We need to expose the CANT_SAVE_STATE importance for CTS to use.

I also found a serious issue with how instrumentation ApplicationInfo
is set up, where it doesn't have lots of important stuff like the
targetSdkVersion!  This is now fixed...  though ghod knows how this
will impact existing CTS tests, there could certainly be stuff relying
on code thinking it is running as targetSdk 0. :(

Finally delete the CantSaveState tests here, they are going to CTS.

Bug: 63937884
Test: ran new CTS tests
Change-Id: I42a73e0e83d799f8e5ff8ac4d4704a74ab5aab3e
2017-12-07 16:32:06 -08:00
Geoffrey Pitsch
7c95a682ba Merge "New supported QuickViewConstant feature to delete a file." 2017-12-07 21:32:29 +00:00
Jack Yu
c7efe16191 Merge "Moved data connection response into system api." 2017-12-07 19:01:29 +00:00
TreeHugger Robot
b2795710f3 Merge "DevicePolicyManager: Add key generation functionality." 2017-12-07 18:20:45 +00:00
TreeHugger Robot
734afbe61e Merge "Moar changes for Autofill Field Classification mechanism:" 2017-12-07 17:35:23 +00:00
Eran Messeri
852c8f121f DevicePolicyManager: Add key generation functionality.
This is the crux of the Verified Access feature implementation:
Adding the ability to generate KeyChain keys directly by the
secure hardware, rather than installing software-generated keys
into KeyChain.

Add generateKeyPair to the DevicePolicyManager, which delegates key
generation (via the DevicePolicyManagerService) to the KeyChainService.

Design highlights:
* The key generation is delegated via the DevicePolicyManagerService to
  check that only authorized callers request key generation in KeyChain.
* KeyChainService performs the actual key generation so it owns the key
  in Keystore outright.
* DevicePolicyManagerService then grants the calling app access to the
  Keystore key, so it can actually be used.
* Loading the public/private key pair, as well as attestation
  certificate chain, is done in the client code (DevicePolicyManager)
  to save parceling / unparceling those objects across process
  boundaries twice (for no good reason).

NOTE: The key attestation functionality (that includes Device ID) is
missing/untested. Will be added in a follow-up CL as this one is quite
big already.

HIGHLIGHT FOR REVIEWERS:
* API: New API in DevicePolicyManager.

Bug: 63388672
Test: cts-tradefed run commandAndExit cts-dev -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceOwnerTest#testKeyManagement -l DEBUG; adb shell am instrument 'android.security.tests/android.support.test.runner.AndroidJUnitRunner' (After building the KeystoreTests target and installing the apk)
Change-Id: I73762c9123f32a94d454ba4f8b533883b55c44cc
2017-12-07 15:12:30 +00:00
Jack Yu
e44609b158 Moved data connection response into system api.
This is a preliminary step for IWLAN refactoring, where data response
will be one of the parameter in data service callback.

Test: Telephony sanity tests
bug: 64132030
Change-Id: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1
2017-12-07 00:27:17 -08:00
Jeff Sharkey
2337aec921 Deeper sanity checking of emitted types.
When emitting a method or field, verify that we're able to reference
all mentioned types.  This ensures that we don't accidentally
reference undefined classes/interfaces.

Test: manual inspection of API files
Bug: 69791141
Change-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4
Merged-In: I84e0c87fe83daa118661f61dbdf17b58ea5282d4
2017-12-07 00:22:25 -07:00