Commit Graph

66418 Commits

Author SHA1 Message Date
Sanket Agarwal
705eedcb01 Merge "Change HFP Client API to support multi device" 2017-01-21 03:21:58 +00:00
TreeHugger Robot
af6668bc9d Merge "resolve merge conflicts of 5fa7fb1d9f to master" 2017-01-21 02:41:19 +00:00
TreeHugger Robot
885019151d Merge "Add Setting for curating saved open networks." 2017-01-21 02:27:30 +00:00
TreeHugger Robot
5feefa54c4 Merge "Introduce RescueParty." 2017-01-21 02:22:43 +00:00
Zac Iqbal
655f908aa6 Merge "Added an onDeviceUnlockLockout callback to TrustAgentService." 2017-01-21 01:35:43 +00:00
TreeHugger Robot
c49f2e5d88 Merge "Add ClipData.addItem(Item, ContentResolver)" 2017-01-21 01:09:28 +00:00
Jesse Hall
3bb7e5c909 resolve merge conflicts of 5fa7fb1d9f to master
Test: make
Change-Id: I7f119535a120303796fcd08f0274269f7d0dbaba
2017-01-20 17:04:48 -08:00
TreeHugger Robot
4cbec883f1 Merge "Set permissions for launching on private displays" 2017-01-21 00:59:20 +00:00
Jeff Sharkey
fe6f85cac9 Introduce RescueParty.
When a device gets stuck in a crash loop, it's pretty much unusable
and impossible for users to recover from.

To help rescue devices from this state, this change introduces a new
feature that watches for runtime restart loops and persistent app
crash loops, and escalates through a series of increasingly
aggressive rescue operations.  Currently these rescue levels walk
through clearing any experiments in SettingsProvider before finally
rebooting and prompting the user to wipe data.

Crash loops are detected based on a number of events in a specific
window of time.  App stats can be stored in memory, but boot stats
need to be stored in system properties to be more robust.

Start up RecoveryService much earlier during the boot so we can
reboot into recovery when needed.

Add properties tha push system_server or SystemUI into a crash loops
for testing purposes.

Test: builds, boots, forced crashing walks through modes
Bug: 24872457, 30951331
Change-Id: I6cdd37682973fe18de0f08521e88f70ee7d7728b
2017-01-20 17:36:38 -07:00
TreeHugger Robot
961405613c Merge "Updating picture-in-picture API." 2017-01-21 00:29:23 +00:00
David Ouyang
618fb8b194 Merge "Promote DevicePolicyManager.packageHasActiveAdmins for Play Store" 2017-01-21 00:28:17 +00:00
Zachary Iqbal
327323d2b3 Added an onDeviceUnlockLockout callback to TrustAgentService.
Test: Manually tested onDeviceUnlockLockout being called with an actual
TestAgentService implementation.

Notes:
- Active Trust Agents are no longer killed/unbinded from when a temporary
  device lockout occurs. Instead, the onDeviceUnlockLockout callback of
  the agent is called.

Change-Id: Ifa0984d1d7e5153568334d736e9ebd5a00ef1297
Bug: 34198873
2017-01-20 15:55:07 -08:00
Vladislav Kaznacheev
8e7b940f8d Add ClipData.addItem(Item, ContentResolver)
Unlike the existing addItem(Item), this method updates
the MIME type list in the ClipDescription.

Bug: 28750744
Test: cts-tradefed ... -m CtsContentTestCases
  --test android.content.cts.ClipboardManagerTest
Change-Id: Ida0477267d1319a31a738dfd704c0af71928dd2f
2017-01-20 15:39:12 -08:00
Makoto Onuki
75ca7b8edd Merge "Do not allow work profile apps to access main profile app." 2017-01-20 23:35:53 +00:00
Andrii Kulian
fb1bf69d5d Set permissions for launching on private displays
- System UIDs must be allowed to launch anything and everywhere.
- Display owner must be allowed to launch activities on it.
- Apps that are already on target display must be allowed to launch
  there.
- All other apps mustn't be allowed to launch on private displays.

Bug: 34230873
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testPermissionLaunchFromSystem
Test: #testPermissionLaunchFromAppOnSecondary
Test: #testPermissionLaunchFromOwner
Test: #testPermissionLaunchFromDifferentApp
Change-Id: Ic98005649a6368370c512e822cba4e9decc18ae9
2017-01-20 15:15:59 -08:00
Jeff Sharkey
f5d2c7278e Merge "Add Binder support for Parcelable exceptions." am: a2ef6b5741 am: c3fbf32011 am: 4a0a4664b9
am: 7bb9ccc1e5

Change-Id: I9346a576d57c9f7093b875c4a43134f2ef095018
2017-01-20 23:12:19 +00:00
Sunny Goyal
907b467e91 Merge "Fixing dimensions for AppWidgetProviderInfo not getting updated properly for PinItemRequest" 2017-01-20 23:07:22 +00:00
Dianne Hackborn
9544fe6039 Merge "Improve behavior of bg check." 2017-01-20 23:05:41 +00:00
Dianne Hackborn
85e35643ba Improve behavior of bg check.
There is a new APP_START_MODE_DELAYED_RIGID which means that
things discovering something is not allowed to start should
report a clear error back to the caller.  This is how apps
that opt in to bg check should behave, and will now
be used if the app op mode is set to ERRORED.

This (for now?) removes the code that allows services to
be started if the request is coming from a foreground process.
That behavior isn't in the current bg check spec, and
probably not what we want as the standard platform model (since
it makes knowing when a service can start even harder to
determine).  It was originally done for the experimental
bg check work in N to see how much we could avoid
breaking existing apps, so not relevant when apps need to
explicitly opt in.

Also report temporary whitelist changes to activity manager for
it to lift background restrictions temporarily for apps.  Being
on the whitelist is now part of UidRecord, preventing a uid from
going idle.

Test: Initial CTS test added.

Change-Id: I36fd906fa69de8b7ff360605ae17c088f182e172
2017-01-20 15:03:41 -08:00
Jeff Sharkey
7bb9ccc1e5 Merge "Add Binder support for Parcelable exceptions." am: a2ef6b5741 am: c3fbf32011
am: 4a0a4664b9

Change-Id: I9b5667ca6e5497a4eedaaf88979a1a3d0e22c174
2017-01-20 23:03:40 +00:00
Jiuyu Sun
417d30d88b Merge "Change the default behavior when MCC/MNC changes." 2017-01-20 22:58:25 +00:00
Jeff Sharkey
4a0a4664b9 Merge "Add Binder support for Parcelable exceptions." am: a2ef6b5741
am: c3fbf32011

Change-Id: Ibd977a017ce48f0791520af3500969aec0c132e5
2017-01-20 22:56:45 +00:00
Sanket Agarwal
039eeb81b5 Change HFP Client API to support multi device
- Adds BluetoothDevice as a parameter where required
- Gets rid of device management APIs that can be done via
  BluetoothProfiles instead

Test: Manual sanity tests
Bug: b/33554547
Bug: b/30984220
Change-Id: I3485ac5bfe1fcb29c774ad040fdd608e1cacb8df
2017-01-20 14:55:15 -08:00
Jeff Sharkey
c3fbf32011 Merge "Add Binder support for Parcelable exceptions."
am: a2ef6b5741

Change-Id: Ide766c0220e86b7661af83551354b3a498297ed8
2017-01-20 22:50:49 +00:00
Jeff Sharkey
a2ef6b5741 Merge "Add Binder support for Parcelable exceptions." 2017-01-20 22:45:04 +00:00
Chad Brubaker
6ba5dccd50 Merge "Add ephemeral whitelist for SettingsProvider" 2017-01-20 22:06:58 +00:00
Holly Jiuyu Sun
b6d7695cf2 Change the default behavior when MCC/MNC changes.
By default, we don't restart the activity when MCC/MNC changes
even when they are not set in configChanges. If they want to
restart, set mcc or mnc in the new attribute restartOnConfigChanges.

Bug: 34258948
Test: Test in unit test(testGetActivityConfigChanges() in
      PackageParserTest.java) and on real device with
      changing the SIM card.

Change-Id: Icd6899597c9b8f2e5706e74373a0280d19150092
2017-01-20 13:50:51 -08:00
Jesse Hall
5fa7fb1d9f Load EGL early in Activity launch, instead of in Zygote
Preloading EGL in Zygote was originally a memory footprint
optimization, but it turns out to be an important app startup time
optimization as well. Preloading EGL in Zygote is incompatible with
updatable graphics drivers, but we don't want to do it on-demand as
part of drawing the first frame either, since that increases
first-frame latency unacceptably.

This change removes Zygote preload, and instead loads EGL on a
low-priority background thread immediately after choosing which
graphics driver to use. This means it is usually done well before
drawing the first frame, without significantly disrupting other
activity launch work.

Test: observe systrace of Calculator launch on bullhead
Bug: 34404021
Change-Id: I887aa09bd35b088b16f53a89838a0c7c98f15761
2017-01-20 13:50:41 -08:00
TreeHugger Robot
22e1cbad24 Merge "Make TelephonyManager#get/setAllowedCarriers system api" 2017-01-20 21:18:31 +00:00
TreeHugger Robot
52461d46a4 Merge "Destroy DisplayLists on time" 2017-01-20 19:45:35 +00:00
Chad Brubaker
97bccee6d6 Add ephemeral whitelist for SettingsProvider
Currently the list is small, only whats required to launch a basic
ephemeral app. It will expand in followup CLs.

Note that the goal of this is not to completely shut down all ways that
an ephemeral app could learn the value (or part of) of a setting not in
the set. The goal is to limit the raw access to settings to a small set that
includes settings that ephemeral apps should have access to directly
System APIs that are exposed to ephemeral apps may allow for
ephemeral apps to learn the value of settings not in the directly
exposed set and that is OK and _not_ a security issue.

This contains a hack to support code in system system server that in
the process of a binder transaction reads a setting using a
ContentReceiver with a system package name. This was previously not an
issue but causes an exception to be thrown from getCallingPackage which
reading a setting now calls.

Bug: 33349998
Test: Boots, functions as normal for regular apps.
Test: cts-tradefed run cts -m CtsProviderTestCases -t
android.provider.cts.SettingsTest

Change-Id: Icc839b0d98c725d23cdd395e8cb76a7b293f8767
2017-01-20 11:03:53 -08:00
Ta-wei Yen
2d7a496e0a Add voicemail backup/restore columns am: f48d5ce630
am: 1f296f7793

Change-Id: I38e6e33438500a0815bb1b87dc21617213f42637
2017-01-20 18:44:39 +00:00
Makoto Onuki
aecbd03751 Do not allow work profile apps to access main profile app.
Bug: 34340531

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

Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsShortcutHostTestCases -t 'android.content.pm.cts.shortcuthost.ShortcutManagerMultiuserTest#testManagedUser'
Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t 'com.android.cts.devicepolicy.LauncherAppsProfileTest'

Change-Id: I34e9f351d2a8addf65a5a928c3dd4363f08611dc
2017-01-20 18:41:44 +00:00
Ta-wei Yen
1f296f7793 Add voicemail backup/restore columns
am: f48d5ce630

Change-Id: I2dd76b4107b9e7c75595fa3c49dcda74cebd2a09
2017-01-20 18:38:23 +00:00
Bartosz Fabianowski
aaad776c2c Merge "Allow system to retrieve persistent preferred activities" 2017-01-20 18:16:00 +00:00
Crystal Qin
586c400bfc Merge "Add new key purpose Wrap Key to KeyProperties.java and KeymasterDefs.java." 2017-01-20 18:13:47 +00:00
John Reck
2874daa4d3 Destroy DisplayLists on time
Change-Id: I32a97d1234545075e9423c352c772e09ca954741
Fixes: 34072929
Test: Manual, see b/34072929#comment36
2017-01-20 09:56:38 -08:00
Jeff Sharkey
8e8269fc11 Merge "StrictMode to detect untagged network traffic." 2017-01-20 17:31:59 +00:00
TreeHugger Robot
459692adad Merge "Add additional fields to RecommendationRequest." 2017-01-20 17:30:02 +00:00
Michal Karpinski
61238c2d13 Merge "Unhide enabling backup service in DO APIs" 2017-01-20 17:12:21 +00:00
Makoto Onuki
444d64749d Merge "requestPinShortcut for pinned shortcut still notifies launcher" 2017-01-20 16:49:16 +00:00
Julia Reynolds
99695b0fc9 Merge "Save deleted channels." 2017-01-20 14:30:20 +00:00
Suprabh Shukla
2f34b1a678 Adding app op and intent action for external sources
Added an app op to control which package and uid can install apps on the
device and an intent action to launch the settings fragment.

Test: Will include in follow up CL, tracked in b/33792674

Bug: 31002700
Change-Id: Ic073495759d9867f8001a6c712e402398c53dfc9
2017-01-20 02:39:08 -08:00
Crystal Qin
eb30e64f3f Add new key purpose Wrap Key to KeyProperties.java and
KeymasterDefs.java.

Test: There will be a CTS test CL submitted together.
Change-Id: Ic60c3efc451cd7cbb04689b3d7bf9d607fae6c1f
2017-01-19 21:02:10 -08:00
TreeHugger Robot
a9da39cb64 Merge "Add wide color gamut and HDR resource qualifiers" 2017-01-20 04:10:04 +00:00
Jeff Sharkey
619a511d4f StrictMode to detect untagged network traffic.
Network usage is tracked by the kernel at the UID level, which is
granular enough for normal apps, but large components (such as the
system server) are impossible to debug without adding additional
socket tagging to help identify subsystems within a UID.

To help ensure that system components tag all their network traffic,
this change offers a new StrictMode option to detect and report
untagged sockets.

Test: builds, boots, all common traffic tagged
Bug: 30943431, 30414041
Change-Id: I825c7941076054732264690247de2863342638e2
2017-01-19 20:52:05 -07:00
TreeHugger Robot
4c0659f531 Merge "Enable background restrictions" 2017-01-20 02:55:30 +00:00
Romain Guy
c9ba559021 Add wide color gamut and HDR resource qualifiers
Bug: 32984164
Test: Config_test, AaptConfig_test and aapt2_tests
Change-Id: Ie9c82bfe2d36b1d6180ee223250ab5bb2ce90dd4
2017-01-19 18:44:00 -08:00
Ta-wei Yen
f48d5ce630 Add voicemail backup/restore columns
BACKED_UP and RESTORED are required for dialer voicemail backup/restore
feature for N MR2. As there are no API bump the fields will be hidden
in NMR2. These fields will be made public in O.

ARCHIVED and IS_OMTP_VOICEMAIL is not used for NMR2, but added in
advance to avoid multiple database upgrades.

IS_OMTP_VOICEMAIL will be used in O to dedupe multiple apps implementing
VisualVoicemailService. All voicemail inserted by the service should
set this field to 1. The UI should only display voicemails with this
field set to 1 when the source_package is also the current active
VisualVoicemailService, as other sources represents the same source of
truth(the carrier) but is outdated.

For example, the query should be
WHERE (is_omtp_voicemail == 0) OR 
(is_omtp_voicemail == 1 AND source_package = "current.vvm.package")

Test: VoicemailProviderTest
Bug: 34463609
Change-Id: I0f3e58fabff2102adf5bc29d81dac46c7e71d410
2017-01-20 02:26:04 +00:00
TreeHugger Robot
df82cbca06 Merge "Simplify FileUtils.stringToFile()." 2017-01-20 02:15:56 +00:00