Commit Graph

6660 Commits

Author SHA1 Message Date
Glenn Kasten
a64203d608 Merge "Resolve conflict between javadoc and CDD re: audio output" into pi-dev
am: a5d8c3718d

Change-Id: I7cd068ce53874be19ed4a81e32b87731b0d13c35
2018-05-29 12:21:18 -07:00
Glenn Kasten
a5d8c3718d Merge "Resolve conflict between javadoc and CDD re: audio output" into pi-dev 2018-05-29 19:09:31 +00:00
Wale Ogunwale
9f6c8feb6f Merge "Added TestApi to ActivityInfo.isTranslucentOrFloating" into pi-dev
am: 9d19487b1c

Change-Id: Ie430137f84f8b6a8d702e4ea5070ded4711da4a8
2018-05-25 19:43:48 -07:00
TreeHugger Robot
9d19487b1c Merge "Added TestApi to ActivityInfo.isTranslucentOrFloating" into pi-dev 2018-05-26 02:23:25 +00:00
Wale Ogunwale
30eab1f430 Added TestApi to ActivityInfo.isTranslucentOrFloating
This would be use to determine the right activity state during CTS
test for products that have windowSwipeToDismiss set.

Also, dump ActivityRecord.fullscreen to proto for the same reason.

Bug: 76207986
Bug: 79167358
Test: atest CtsActivityManagerDeviceTestCases:ActivityLifecycleTests
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerAssistantStackTests
Change-Id: Iadc088e9129be088b8a083ebbafd8d20fe26b673
2018-05-25 10:24:14 -07:00
Makoto Onuki
d8cf91c5f8 Merge "Tweak exemption for sync requests made by FG apps" into pi-dev
am: 621fd20f55

Change-Id: I31ae3e9e11b9defb7e6352830439484d7ec7ac01
2018-05-24 17:54:37 -07:00
Makoto Onuki
621fd20f55 Merge "Tweak exemption for sync requests made by FG apps" into pi-dev 2018-05-24 23:22:09 +00:00
sanryhuang
6a2a4a01f8 Merge "Hide system apps until installed (1/2)" into pi-dev
am: 56cc567dfd

Change-Id: I5256f98f1face09fbd95146d8a36335b37b3091f
2018-05-24 13:49:35 -07:00
sanryhuang
40ede29ed6 Hide system apps until installed (1/2)
Applying this mechanism for system carrier apps to make visibility
reasonable from the user's perspective. In other words, before
hidden system apps have been installed, they wouldn't be listed
via APIs in PackageManager which are used at all apps list and
search in Settings and so on.

Test: manual
Test: atest CarrierAppUtilsTest
Test: atest PackageManagerTest
Bug: 74068582
Change-Id: Id3ff138ad529b909d9bbf6719af3a553b909ccbb
2018-05-23 16:29:31 -07:00
Makoto Onuki
d5f25d2cd8 Tweak exemption for sync requests made by FG apps
Exemption given to a sync request made by a foreground app (including
PROCESS_STATE_IMPORTANT_FOREGROUND).
At the schedule time, we promote the sync adapter app for a higher bucket:
- If the device is not dozing (so the sync will start right away)
  promote to ACTIVE for 1 hour.
- If the device is dozing (so the sync *won't* start right away),
promote to WORKING_SET for 4 hours, so it'll get a higher chance to be started once the
device comes out of doze.
- When the sync actually starts, we promote the sync adapter app to ACTIVE for 10 minutes,
so it can schedule and start more syncs without getting throttled, even when the first
operation was canceled and now we're retrying.

Test: atest cts/tests/tests/syncmanager/
Test: Manual test with "requestsync -f" and "am set-standby-bucket", while checking
"dumpsys usagestats"
Test: settings put global app_idle_constants \
  exempted_sync_scheduled_nd_duration=1,exempted_sync_scheduled_d_duration=2,exempted_sync_start_duration=3
  and check "dumpsys usagestats" and make sure the constants are properly updated.
Fixes: 72443754

Change-Id: I233d8e4be85769150830bac798abc04810f4cc7b
2018-05-23 14:50:05 -07:00
Suprabh Shukla
485cdce1ca Merge "Remove MANAGE_USERS from setPackagesSuspended" into pi-dev
am: d0897f2b65

Change-Id: Ia624b12b32d06b7e341f7023231000ffb1fb530b
2018-05-21 13:11:40 -07:00
TreeHugger Robot
d0897f2b65 Merge "Remove MANAGE_USERS from setPackagesSuspended" into pi-dev 2018-05-21 20:01:36 +00:00
Glenn Kasten
0a111ad6d0 Resolve conflict between javadoc and CDD re: audio output
As CDD text is likely to change in this area, rather than attempt to
keep them in sync we'll just defer to CDD for the official definition.

Test: N/A
Bug: 79440478
Change-Id: Ibd352af626f192eac9a4dfa2fafe675a3955270e
2018-05-17 08:57:48 -07:00
Suprabh Shukla
14405c9ac3 Remove MANAGE_USERS from setPackagesSuspended
MANAGE_USERS is a widely used permission and setPackagesSuspended is a
dangerous API. Also having a lot of apps which can use the api can lead
to complications like them suspending each other.

Test: Existing tests with SUSPEND_APPS pass:
atest com.android.server.pm.SuspendPackagesTest

Existing permission tests without SUSPEND_APPS pass:
atest GtsSuspendAppsPermissionTestCases

Bug: 79773970
Change-Id: I49d81c0254c6ba528c50ece960a0db277c0afd7f
2018-05-16 20:41:02 -07:00
lpeter
2fdc1b8b13 Merge "[IdleController] Support dock scenario on idle or active judgement" into pi-dev
am: 86b2581c16

Change-Id: I11655b619b9ac5bce4819d20f550eb75769d5630
2018-05-16 20:16:38 -07:00
lpeter
318abc9324 [IdleController] Support dock scenario on idle or active judgement
In the current design, IdleController of Job service considers devices as ‘idle’ after 71 minutes of screen off. But under docking use scenario, devices screen might remain on for a very long time and it’s not necessary implying the device being interactive with users.
So create a mechanism for device to enter the ‘idle’ state that JobScheduler can kick off idle tasks.

Bug: 79183658
Test: atest DeviceStatesTest
Change-Id: I5b307ca51e28ffca63f79a9c43984c3b76e51629
2018-05-17 02:23:02 +00:00
Pete Gillin
306481a63b Merge "Stop using Arrays.checkOffsetAndCount. am: 60f55a255f" into stage-aosp-master
am: 72629d9999

Change-Id: Ia8f5ce41c654cb6522c6ea5f2863d97f282ce268
2018-05-16 08:27:27 -07:00
Pete Gillin
a9d6a27a2e Stop using Arrays.checkOffsetAndCount.
am: 60f55a255f

Change-Id: Ic9f894d8fe813d0bb6e3776790ff113d2826d881
2018-05-16 07:11:54 -07:00
Todd Kennedy
92b64bb1bb Merge changes from topic "b_78809704" into pi-dev
* changes:
  OMS: teach the OMS about static RROs
  OMS: rebase settings when overlays update
2018-05-11 17:44:53 +00:00
Christopher Tate
72da1e6f78 Document system activity intents that may not be implemented
All of these activity-start intents might be unimplemented on some
Android products.  Document this to make sure that developers are
aware of the need to safeguard against this.

Bug: 68300743
Bug: 62201251
Bug: 69587018
Fixes: 77282739
Test: atest CtsContentTestCases:.AvailableIntentsTest
Change-Id: Ia2346d03ccb7f2bdad2b84ba9efff72413fdc3c2
2018-05-10 17:55:26 -07:00
Jordan Liu
8d2e3abb40 Add documentation for what to use for SS changes
Since the broadcast is deprecated in favor of the ServiceStateProvider,
the documentation should reflect this.

Note that the LteEarfcnRsrpBoost has not been migrated into the provider
so this also needs to happen.

Bug: 33756364
Fixes: 78188866
Test: no behavior change, ran make
Change-Id: Ia15a7408bdc79927438fa243cce77b262bbb66c4
Merged-In: Ia15a7408bdc79927438fa243cce77b262bbb66c4
2018-05-10 14:28:47 -07:00
TreeHugger Robot
a1e56fb23b Merge "Expands javadocs for Intent.FLAG_ACTIVITY_MATCH_EXTERNAL" into pi-dev 2018-05-10 18:23:07 +00:00
Pete Gillin
60f55a255f Stop using Arrays.checkOffsetAndCount.
Start using ArrayUtils.throwsIfOutOfBounds instead. The Arrays method
is going to be removed.

Bug: 78447530
Test: cts-tradefed run cts-dev -m CtsOsTestCases (shows only unrelated failures: two user/userdebug mismatches and one from b/79471510)
Test: cts-tradefed run cts-dev -m CtsDrmTestCases
Test: adb shell am instrument -w -e class android.content.pm.LimitedLengthInputStreamTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Test: adb shell am instrument -w -e class android.os.FileBridgeTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ib3cd4f4ead61dbec1ccdc94b2ad4ad9c28574582
2018-05-10 18:17:50 +01:00
Patrick Baumann
92ae2c6665 Expands javadocs for Intent.FLAG_ACTIVITY_MATCH_EXTERNAL
This change adds much needed detail to the new MATCH_EXTERNAL flag,
explaining some of the behavior changes that come with using it.

Test: none
Bug: 63117034
Bug: 79325769
Change-Id: Iab320d2171ffe8d8012a2928656ea61d5e0f0862
2018-05-10 10:13:53 -07:00
Philip P. Moltmann
56c1b4f704 DO NOT MERGE: Allow to control behavior of loadSafeLabel
(Minimal change for P, full change already in master)

Test: looked at package installer UI and saw that labels are not
truncated anymore.
Bug: 77964730

Change-Id: Ia181288a90501f4f563d24dacd6edb0c81406b82
2018-05-09 12:51:43 -07:00
android-build-team Robot
8d6571aeed Merge changes I5851dd16,Id196307f into pi-dev
* changes:
  OMS: harden permission checks
  Add missing fields to OverlayInfo.hashCode
2018-05-09 16:55:26 +00:00
Mårten Kongstad
a525e2239a OMS: teach the OMS about static RROs
Teach the OMS about static RROs (those with <overlay isStatic="true">)
and add a new OVERLAY_ENABLED_STATIC state to OverlayInfo. This makes
isStatic less of an edge case and something that can be reasoned about
together with the other states.

Bug: 78809704
Test: atest OverlayHostTests OverlayDeviceTests
Change-Id: Ia785554ed2bcf7679888c3ccdaeaedca1430a477
2018-05-09 09:15:05 -07:00
Mårten Kongstad
2f1944bf0e OMS: rebase settings when overlays update
When an overlay package has been upgraded, OMS needs to reconcile any
previous settings about the overlay with the new state of affairs.
Sometimes it is possible to rebase the OMS settings on the new
information [e.g. the overlay has changed categories]; sometimes the OMS
settings have to be scrapped [e.g. the overlay has changed target
package]. Update OMS to do The Right Thing.

Bug: 78809704
Test: manual (adb shell stop, adb push specially prepared overlays, adb shell start, adb exec-out cmd overlay dump)
Change-Id: Icd1ae633dbee5b5ca957fa6b652af6209b4b1260
2018-05-09 09:10:28 -07:00
Mårten Kongstad
3e9331125a Add missing fields to OverlayInfo.hashCode
OverlayInfo.category was inadvertently omitted when calculating the hash
code for an OverlayInfo.

Bug: 78809702
Test: atest OverlayHostTests OverlayDeviceTests
Change-Id: Id196307f75569d851503ffd8ef778aec50c2de37
2018-05-08 15:38:22 -07:00
Mathew Inwood
40f67c52bb Fix typo in comments.
Keep the nitpickers happy.

Test: m
Bug: 77517571
Merged-In: I70374c05df3e366b5a0ce3bbb103dce28f48d4b8
Change-Id: I70374c05df3e366b5a0ce3bbb103dce28f48d4b8
(cherry picked from commit 5e986dccfd)
2018-05-08 10:29:39 +01:00
Mathew Inwood
a4ba0e442a Replace ALL_LISTS policy with JUST_WARN.
It seems pretty unlikely that we'd ever want to disallow access to the
light greylist in P, since doing do would break do many apps. We don't need
this policy here as an opt-in for apps now, since the StrictMode work will
achieve the same thing.

Instead, make a "just warn" policy which allows access to all APIs, but
leaves the detection and logging logic in place. This gives us the option
of disabling enforcement, but still gathering logs to find out which apps
use which APIs.

Bug: 77517571

Test: Boot device
Test: Hardcode policy of HIDDEN_API_ENFORCEMENT_JUST_WARN and verify log
Merged-In: I588f347716a79ac5887b74763c8afc16b3be699b
Change-Id: I588f347716a79ac5887b74763c8afc16b3be699b
(cherry picked from commit a6d02fb104)
2018-05-08 10:29:16 +01:00
Dianne Hackborn
c8e4fad862 Make android:cantSaveState an optional feature.
This doesn't make sense on things like watches and appliances,
so make this an optional feature that the device must enable.
If the feature is not set, then the system will ignore
the app's request.

Bug: 76213401
Test: atest CtsAppTestCases:ActivityManagerProcessStateTest
Change-Id: I91abf9d86ec14fa632e3bcc83c4a3febade5d2e4
2018-05-07 15:01:57 -07:00
android-build-team Robot
7bfb942e2d Merge "Propagate calling UID to AM from CrossProfileApps" into pi-dev 2018-05-04 19:35:44 +00:00
android-build-team Robot
06637b97dd Merge "Make safe label more safe" into pi-dev 2018-05-03 15:46:10 +00:00
android-build-team Robot
f5cb5e5525 Merge "old paths contains all entries when updating" into pi-dev 2018-05-03 13:26:50 +00:00
Richard Uhler
7790f2a4e1 Merge "Fix leak of WeakReferences on mThemeRefs list." into pi-dev 2018-05-03 13:02:35 +00:00
Todd Kennedy
6e40395882 Make safe label more safe
* limit the absolute maximum size of the label to 50000 characters
[which is probably far more than necessary, but, can be dialed down]

* use a string buffer while processing the string [instead of creating
multiple string objects]

Bug: 62537081
Test: Manual. Install APK in bug and see that it can be uninstalled
Change-Id: Ibf63c2691ad7438a123e92110d95b1f50050f8b1
2018-05-03 12:12:04 +01:00
Todd Kennedy
b9656a93aa old paths contains all entries when updating
In certains circumstances, only the base and split APKs were included in
the "old paths" list when updating the application info. Instead, this
list should contain _all_ elements, including any additional libraries
that may be added to the overall classpath.

Bug: 77342775
Test: Manual. Install a package. Install a split with --dont_kill. See that the path doesn't contain duplicate entries
Change-Id: Id9739cce215ab07bff1b17966583c0cf51a0b34a
2018-05-03 11:02:30 +01:00
Richard Uhler
dd6a0dbf2f Fix leak of WeakReferences on mThemeRefs list.
Periodically remove references from the list whose referents have been
garbage collected.

Bug: 73961798
Test: Device boots.
Test: Take a heap dump of systemui and manually check that the state of
      ThemeRefs looks reasonable.

Change-Id: I691027feb5dd217bcb60406b28897b9614e2a845
2018-05-03 10:12:24 +01:00
Chia-I Wu
53e86ba235 Update Configuration#isScreenWideColorGamut doc
Clarify that the method does not imply the screen is color-managed.
A global color transform may still be applied depending on the user
settings, such as night light, accessibility, Boosted, or Stretched.

Bug: 78012876
Test: builds
Change-Id: Ie9cdf455cf4ca93be2357a5313cd63555ab91ff9
2018-05-02 10:25:48 -07:00
Tony Mak
de32b83499 Propagate calling UID to AM from CrossProfileApps
Test: atest cts/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/CrossProfileAppsHostSideTest.java
Test: atest FrameworksServicesTests:com.android.server.pm.CrossProfileAppsServiceImplTest
Test: Try the API in TestDPC

Fixes: 78869781

Change-Id: I9b8721f6b5189e566345c2afee7d559a57670e71
2018-05-02 10:54:03 +01:00
Tyler Gunn
7f556daa41 Merge "Require READ_CALL_LOG permission to see phone numbers in phone state." into pi-dev 2018-05-01 20:27:15 +00:00
Makoto Onuki
eac8a05d19 Merge "Propagate calling UID to AM from LauncherApps" into pi-dev 2018-05-01 15:50:37 +00:00
android-build-team Robot
7f1944a365 Merge "Add documentation for what to use for SS changes" into pi-dev 2018-04-30 17:59:04 +00:00
Makoto Onuki
1a34274336 Propagate calling UID to AM from LauncherApps
- So that AM can perform all the necessary caller checks, except for the cross-profile/user check.

- Note PixelLauncher is the recent app which gets extra privileges. So I used ShortcutLauncherDemo
and a 3p launcher for manual tests.

Fixes: 78635323
Test: manual test, with a 3p launcher. (nova)
- Launch primary profile app -> launches fine
- Launch work profile app-> launches fine
- Launch suspended work profile app -> "can't open this app" dialog is shown.
- Launch the primary counterpart of the suspended work profile app -> launches fine.
- Launch work profile app in quiet mode, with separate work challenge
  -> "turn on work profile"? dialog is shown
    -> then "cancel" -> nothing happens.
    -> then "turn on" -> "re-enter your pin" is shown -> type pin -> work profile app starts fine.
- Launch work profile app without separate work challenge
  -> "turn on work profile"? dialog is shown
    -> then "cancel" -> nothing happens.
    -> then "turn on" -> work profile starts and the app starts fine.
- "App info" on work profile app -> Setting page opens fine.
- "App info" on primary profile app -> Setting page opens fine.

Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest*.java
Test: atest cts/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/LauncherApps*.java

Change-Id: Ie665a8890407d05c1d877f04d9c5c3a1caad18e1
2018-04-27 09:31:56 -07:00
Tyler Gunn
f955e56d51 Require READ_CALL_LOG permission to see phone numbers in phone state.
Incoming and outgoing call phone numbers are visible in the phone state
broadcast and via the PhoneStateListener.  To enhance user privacy, change
to require the READ_CALL_LOG permission in order to receive the call
phone numbers.

This means to see phone numbers:
1. android.intent.action.PHONE_STATE - requires READ_PHONE_STATE and
READ_CALL_LOG permission.
2. PhoneStateListener#onCallStateChanged - now required READ_CALL_LOG
permission.

To support this new behavior, added sendBroadcastAsUserMultiplePermissions
method to context to allow sending the broadcast to all users while
requiring the two permissions.

Bug: 78650469
Test: Created PHONE_STATE broadcast receiver in test app and verified that
when no permissions are granted, the phone number is empty for incoming
and outgoing calls.
Test: Granted Phone state permission to test app and verified that phone
number is not populated.
Test: Granted test app read call log permission and verified that phone
number is populated.
Test: Created PhoneStateListener in test app and verified that when no
permissions are granted, phone number is empty for incoming and outgoing.
calls.
Test: Granted read call log permission to test app and verified that both
the incoming and outgoing numbers are populated.

Change-Id: I857ea00cc58a0abbb77960643f361dd6dd9c8b56
2018-04-27 08:44:07 -07:00
Jeff Sharkey
ddb15c471c Merge "Protect usage data with OP_GET_USAGE_STATS." into pi-dev 2018-04-20 02:38:01 +00:00
Jeff Sharkey
0ad6283da7 Protect usage data with OP_GET_USAGE_STATS.
APIs that return package usage data (such as the new ArtManager)
must ensure that callers hold both the PACKAGE_USAGE_STATS permission
and the OP_GET_USAGE_STATS app-op.

Bug: 77662908
Test: atest vendor/xts/gts-tests/hostsidetests/dexapis/host/
Change-Id: I7a85d959f1682d2bd5cf3684415e368fece88101
2018-04-19 15:46:59 -06:00
Makoto Onuki
d329ae8010 Merge "SyncManager: Dump per-source last sync time too." into pi-dev 2018-04-19 17:37:45 +00:00
Makoto Onuki
dbdf5df96e Merge "Split provider / service dumpsys into platform and non-platform" into pi-dev 2018-04-19 17:21:48 +00:00