Commit Graph

17282 Commits

Author SHA1 Message Date
TreeHugger Robot
53f7348d69 Merge "Update cross-profile javadoc" 2020-02-15 13:42:35 +00:00
Julia Reynolds
30965c45ce Log conversation id in notification history
So we can clean up the history when a conversation is deleted
and link to the correct notification settings screen

Test: atest
Bug: 149505730
Change-Id: I0784ae80b0fd0a1c00e9b63dfce1104b274df6ce
Exempt-From-Owner-Approval: impatience
2020-02-15 12:41:40 +00:00
Alex Kershaw
c4b5cc5957 Update cross-profile javadoc
Update the javadoc after reviewing the new public-facing Javadoc
implemented for the INTERACT_ACROSS_PROFILES work.

Bug: 136249261
Test: no Java changes
Change-Id: I1a669adea2ff47171dbbcbe6e847a3be0cfa7509
2020-02-15 10:46:16 +00:00
Stanislav Zholnin
4b7fd29ff1 Merge "Stack Trace sampling and reporting." 2020-02-15 04:53:11 +00:00
TreeHugger Robot
575d7ad93c Merge "Response and Dataset authentication via inline autofill." 2020-02-15 02:41:58 +00:00
Adam He
5be0f15801 Response and Dataset authentication via inline autofill.
Bug: 148815880
Test: manual verification
Change-Id: Ic72f6d828521737db5ce890c0e79cd6f8d16a6c6
2020-02-14 16:25:52 -08:00
Evan Rosky
12a75f325a Merge "SystemUI Split via TaskOrganizer" 2020-02-14 21:44:28 +00:00
Yuliya Kamatkova
268d43ef3f Merge "Pass Activity LocusContext to the Content Capture." 2020-02-14 18:56:29 +00:00
Stanislav Zholnin
90516b9200 Stack Trace sampling and reporting.
Sampling is done in cycles where length of single cycle is
configurable server side.
During one sampling cycle only one stack trace / message is reported.

Two sampling strategies are used in this CL.

1. Sampling uniformly packages and appops, and waiting only for
messages coming from sampled package (all other packages are
silenced to presereve system resources). All appops are recorded,
but sampled appop has preference and replaces any previous stack
trace / message. This strategy is created to focus on all packages
and all apps uniformly.

2. Creating list of rarely used packages - packages which were not
using any dangerous permissions for more than a week. Any newly
installed app is automatically added to this list, including apps
which were updated. Whenever message is received for rarely used
package, there is 50% probability that this message will replace
whatever is being sampled in current sampling cycle. This strategy
is created to focus on newly installed apps, on apps which are used
infrequently and on apps which use dangerous permissions infrequently.

Bug:136134050
Test: atest android.app.appops.cts.RuntimeMessageCollectionTest
Change-Id: I3109b38bf0482481acf945d5441a26bfe704c9b5
2020-02-14 18:33:30 +00:00
Evan Rosky
bed2d1b57c SystemUI Split via TaskOrganizer
Use the early TaskOrganizer concepts to implement Split-screen
in system-ui.

This includes changes to both FW and SystemUI. The changes to
FW involve removing the use of split-screen specific behavior (like
minimize dock and direct ordering) and also reducing things that
care about primary vs secondary. It also changed ActivityStack
to inherit bounds from parent** when in split-mode so that sysui
only needs to manipulate the tile and/or reparent stacks to
effect their geometry.

This means a lot of layout logic moves to SystemUI. The bulk of
the work done in ActivityStack which is split-screen related is
moved into SplitDisplayLayout. This basically takes a snapshot of
display configuration and manages the sizes of splits and their
snap targets.

Intermediate dragging of divider bar now only moves root task leashes
around rather than talking to WM. This includes position as well
as crop (which used to be stack crop). Once the user releases
the divider bar, it will calculate (based on snaps) the new
root task sizes and update their configurations via
WindowContainerTransaction. Because the interim updates are only
on the leashes, no configuration updates occur until the end.

Entering/Exiting split-mode is now handled by SplitScreentaskOrganizer#
onTaskInfoChanged. This is effectively a state-machine that
looks at the current split task membership vs. previous and then decides
when to move things into/out-of split tasks and how to coordinate with the
DividerView.

Minimized dock is relegated to a purely system-ui concept. To
accomplish this, **the home *stack* is set to the minimizedhomebounds
by systemui. This means that it's relative position to its parent is
negative! This allows us to leave the split sizes constant, have
their children inherit the "actual" split sizes, but keep the
home stack unchanging in its minimized size. We just adjust the crop
negative to reveal it.

IME handling is done through the same mechanism as app-driven IME
animation... only Divider receives the control instead of the app.
This allows synchronized animation of split tasks with IME. To
account for insets, though, when IME is opened, the bottom stack
will be repositioned in WM.

Bug: 133381284
Test: Manual, use split-screen, rotate device, launch unresizable
      apps in split, use divider snap to close/maximize apps, etc.
Change-Id: I103f68030a170e2fd3d8f2125b81cf33af412793
2020-02-14 09:25:43 -08:00
Vishnu Nair
11b35e66e9 Merge "[wm] Add APIs to notify task focused & task focus lost" 2020-02-14 16:24:00 +00:00
Alex Johnston
f45a4b7da9 Merge "Invert setFactoryResetProtectionDisabled" 2020-02-14 11:44:07 +00:00
Julia Reynolds
ac6a498ece Merge "Allow system listeners to unsnooze" 2020-02-14 01:58:32 +00:00
Bogyun Son
bfb64dc915 [wm] Add APIs to notify task focused & task focus lost
- Let listeners know which task is going to front or back.

 onTaskFocusChanged(taskId, focused)
- calls when the task gets or loses focus.

Test: atest ActivityStackSupervisorTest#testNotifyTaskFocusChanged
Bug: 129951708
Change-Id: I92bfdb760f4c5f1db00334f4eff41fe52115b942
2020-02-13 17:56:18 -08:00
Yuliya Kamatkova
b5d87a8695 Pass Activity LocusContext to the Content Capture.
Bug: 147750355
Test: manual
Change-Id: Ic739318ac5a38f5c251da433ffc054a57e4123c1
2020-02-13 17:15:56 -08:00
TreeHugger Robot
1a2d75ebad Merge "No need to grab lock for single read" 2020-02-13 23:45:44 +00:00
TreeHugger Robot
4e21e319cd Merge "Obfuscate visibility of notification-related events." 2020-02-13 22:46:52 +00:00
Etan Cohen
ee9f12795b Merge "[WIFICOND] Rename to nl80211" 2020-02-13 22:34:09 +00:00
Julia Reynolds
0d07378e47 Allow system listeners to unsnooze
Also refactor to simplify data structure

Test: atest
Bug: 149386091
Change-Id: Iccc8ee440bdd02a74390713c3dfeffa49d1ba142
2020-02-13 16:07:52 -05:00
Varun Shah
0cbb6b63ee Obfuscate visibility of notification-related events.
UsageStats will return obfuscated NOTIFICATION_SEEN or
NOTIFICATION_INTERRUPTION events to callers of #queryEvents
and #queryEventsForUser if they don't hold the MANAGE_NOTIFICATIONS
permission.

Additionaly, refactor the query API in UsageStats to take in flags as
defined in UsageEvents to make future obfuscation/visibility parameters
cleaner.

Also, add the MANAGE_NOTIFICATIONS permission to shell for CTS test.

Bug: 144724524
Test: atest android.app.usage.cts.UsageStatsTest
Test: atest com.android.server.people.data.UsageStatsQueryHelperTest
Test: atest android.content.pm.cts.shortcutmanager.ShortcutManagerUsageTest
Change-Id: I118de7e589ac8dd5924d3740c70903fa484b79b5
2020-02-13 12:01:13 -08:00
Automerger Merge Worker
ec47b48311 Merge "Update InCallService API docs." am: 11e7b55ea9 am: 040db280fa am: 01bb7cef0e
Change-Id: Ie50b8f5173a16f34d9a9674a081ce62a45687656
2020-02-13 19:48:37 +00:00
Automerger Merge Worker
01bb7cef0e Merge "Update InCallService API docs." am: 11e7b55ea9 am: 040db280fa
Change-Id: Id6df82c6284b2cc027dba1d2b355806888185761
2020-02-13 19:26:10 +00:00
Automerger Merge Worker
040db280fa Merge "Update InCallService API docs." am: 11e7b55ea9
Change-Id: Ica011ce75760d1d7338c3accdf29dc7505fd9949
2020-02-13 19:09:01 +00:00
Tyler Gunn
11e7b55ea9 Merge "Update InCallService API docs." 2020-02-13 18:48:00 +00:00
Kweku Adams
d088856bfb Merge "Make apps active when charging." 2020-02-13 18:37:44 +00:00
Alex Johnston
0f20b0ee24 Invert setFactoryResetProtectionDisabled
* Invert and rename setFactoryResetProtectionDisabled
  to setFactoryResetProtectionEnabled.
* Invert and rename isFactoryResetProtectionDisabled
  to isFactoryResetProtectionEnabled.
* Update javadoc for both APIs.

Bug: 148596230
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
      atest com.android.server.devicepolicy.FactoryResetProtectionPolicyTest
      atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testFactoryResetProtectionPolicy
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testFactoryResetProtectionPolicy

Change-Id: I0e0b7d0bec8d10ffa4ef4a2d9fa4b60d7b3a94c1
2020-02-13 17:56:30 +00:00
Alex Johnston
c39e9b2e25 Merge "Modify DPM KEYGUARD_DISABLE_SECURE_CAMERA restriction" 2020-02-13 17:50:29 +00:00
Alex Johnston
af0aa258a1 Modify DPM KEYGUARD_DISABLE_SECURE_CAMERA restriction
* Introduced new logic that allows the profile owner of an
  organization-owned device (COPE PO) to set the restriction
  KEYGUARD_DISABLE_SECURE_CAMERA on the parent profile.
* Modified the API setKeyguardDisabledFeatures to be callable
  on the parent profile for restriction KEYGUARD_DISABLE_SECURE_CAMERA.

Bug: 148656201
Test: Manual testing with TestDPC
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testSetKeyguardDisabledFeatures
      atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testSetKeyguardDisabledFeatures
      atest com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testSetKeyguardDisabledFeatures
      atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testSetKeyguardDisabledFeaturesLogged

Change-Id: I13984193e24b8745686e48c9c58ebee40a204fc7
2020-02-13 16:08:06 +00:00
Alex Johnston
7ab8a28306 Merge "Rename lockdown admin configured networks API" 2020-02-13 09:51:00 +00:00
Amy Zhang
8527147b3d Merge changes from topic "tuner-rm"
* changes:
  Add a TunerResourceManagerService as an Android System Serivce.
  Add Lnb related APIs into the TunerResourceManager interface
  Add Cas related APIs into the Tuner Resource Manager
  Adding ITunerResourceManagerService interface into android.media.tv
2020-02-12 23:48:29 +00:00
Kweku Adams
f35ed37018 Make apps active when charging.
This undoes part of the work to remove parole windows from
AppStandbyController. In the past, UsageStatsManager.isAppInactive would
return false when the device was charging. This wasn't documented
behavior, but was intentional, so removing it was the wrong thing to do.
I've updated the documentation to explicitly call out the behavior and
added it back so that the behavior is consistent with previous versions.

Bug: 148988544
Test: atest CtsUsageStatsTestCases:UsageStatsTest
Test: atest AppIdleHistoryTests
Test: atest AppStandbyControllerTests
Change-Id: If5cad80b693a1e043ae64b8206e28abb60f83853
2020-02-12 11:52:28 -08:00
Philip P. Moltmann
0946037764 Merge "Revert "Revert "Activity start: Send featureId from context->AppOpsManager""" 2020-02-12 18:52:23 +00:00
Philip P. Moltmann
ee29509ecd Revert "Revert "Activity start: Send featureId from context->AppOpsManager""
This reverts commit e7421e92d9.

Exempt-From-Owner-Approval: revert-revert and only piping anyway
Test: 1:1 revert-revert
Bug: 136595429
Change-Id: I44e5fa2019f5604c6e2c08bdd1967129c64a90a7
2020-02-12 18:51:53 +00:00
Alex Johnston
12a4461733 Merge "Modify Screen Capture Disabled APIs" 2020-02-12 16:55:36 +00:00
Alex Johnston
8e935f7737 Modify Screen Capture Disabled APIs
* Previously, setScreenCapturedDisabled and getScreenCaptureDisabled
  did not support explicitly querying the parent profile.
* This CL allows the COPE profile owner call these APIs on the parent
  profile to disable screen capture device-wide.

Bug: 149006854
Test: atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testScreenCaptureDisabled
      atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testScreenCaptureDisabled
      atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testScreenCaptureDisabled_assist
      atest com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testScreenCaptureDisabled_allowedPrimaryUser
      atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testCreateAdminSupportIntent

Change-Id: I64469af190577f66f48052c7f0df20067101aac4
2020-02-12 11:52:59 +00:00
TreeHugger Robot
c228e1d88a Merge "Add manifest broadcasts for profile (un-)available." 2020-02-12 11:39:12 +00:00
TreeHugger Robot
5f212d0010 Merge "Revert "enable dynamic binding in AppPredictionSession"" 2020-02-12 08:05:03 +00:00
Pierre Barbier de Reuille
1858482e49 Add manifest broadcasts for profile (un-)available.
This mean both switch on/off and add/remove profiles.

The broadcasts already exists for registered receivers, this adds them
for manifest receivers with INTERACT_ACROSS_PROFILES permission and
crossProfile attribute.

The MANAGED_PROFILE_REMOVED broadcast is sent to all application with
android:crossProfile="true". Any cross profile app may be impacted, and
there is no possible transfer of information as the account is already
deleted at the time the signal is emitted.

Change-Id: I17fb9a01b70b28845c5d6aacdcdd497a82391474
Fix: 145135525, 145598120
Test: Demo-app using Digital Wellbeing (automated test underway).
Test: atest com.android.cts.devicepolicy.CrossProfileAppsPermissionHostSideTest
Test: atest 'com.android.cts.devicepolicy.QuietModeHostsideTest#testBroadcastManagedProfileAvailable_withCrossProfileAppsOp'
Test: atest 'com.android.cts.devicepolicy.QuietModeHostsideTest#testBroadcastManagedProfileAvailable_withoutCrossProfileAppsOp'
2020-02-12 07:44:23 +00:00
Amy
06a551ee7b Add a TunerResourceManagerService as an Android System Serivce.
This service is used to interact with TunerHAL interface and the Tuner
framework to manage the Tuner resources currently used on the device.
Tuner framework claims resource from this service. The service will
handle the requests from multiple applications based on their priority.

Sepolicy changes are in https://android-review.googlesource.com/c/platform/system/sepolicy/+/1161873
Test: cuttlefish
Bug:
Change-Id: Ifedc4e6f120e711aadffdf715d8720e0b64fbe16
2020-02-11 19:39:44 -08:00
TreeHugger Robot
07e850a979 Merge "Add new permission / appop for reading loader data" 2020-02-12 01:56:31 +00:00
Philip P. Moltmann
e276c35a5c No need to grab lock for single read
The read is atomic anyway.

Test: Built
Change-Id: I0d62248913c2c702b62852ced5d1e60b8502d9dc
2020-02-11 17:04:59 -08:00
Todd Kennedy
b0948d4cec Add new permission / appop for reading loader data
Bug: 148374455
Test: Manual
Test: Create three packages; 1) only request PACKAGE_USAGE_STATS, 2) only request LOADER_USAGE_STATS, 3) request both
Test: Go to Settings -> Apps & Notifications -> Special app access
Test: See that there is only a single entry for "Usage access"
Test: Under "Usage access", see all three test apps appear
Test: Disable access for each application and verify that only the appop for the declared permisson is flipped using
Test: adb shell cmd appops get <<PACKAGE_NAME>>
Test: atest CtsPermission2TestCases
Change-Id: I7741a703fd4494832347e51e113adf974cc31d2b
2020-02-11 15:46:43 -08:00
Pinyao Ting
5052796bf0 Revert "enable dynamic binding in AppPredictionSession"
This reverts commit 6b172567d5.

Reason for revert: Unexpected Crash

Bug: 149282975
Change-Id: I674397398ae40d106f84e6a650f75e77769e9de1
2020-02-11 22:30:42 +00:00
Julia Reynolds
3f39de97d0 Merge changes from topic "jr-hist-snooze"
* changes:
  Add tracing for notification history actions
  Optionally exclude snoozed notifs from dismissal archive
2020-02-11 21:54:58 +00:00
Automerger Merge Worker
f0b9f042de Merge "Add HomeVisibilityObserver APIs in ActivityManager." am: cb47d86158 am: c1363ad2b9
Change-Id: If7b65fd40532a8868463a5d545da5c197676ffe8
2020-02-11 21:34:57 +00:00
Automerger Merge Worker
c1363ad2b9 Merge "Add HomeVisibilityObserver APIs in ActivityManager." am: cb47d86158
Change-Id: Ib48d687e8da2941fa3385aa5066e4d490b1d3ad8
2020-02-11 21:10:48 +00:00
Xiangyu/Malcolm Chen
cb47d86158 Merge "Add HomeVisibilityObserver APIs in ActivityManager." 2020-02-11 21:00:16 +00:00
Fiona Campbell
004e36da64 Merge "Add support for brightness as a float" 2020-02-11 18:51:02 +00:00
Julia Reynolds
27e26448ff Optionally exclude snoozed notifs from dismissal archive
Test: manual
Bug: 137396965
Change-Id: I9238b3edc89a0c0821bcee38612dcb81b2f3f69c
2020-02-11 11:31:35 -05:00
Alex Johnston
57ec80939f Rename lockdown admin configured networks API
* Renamed 'isLockdownAdminConfiguredNetworks'
  to 'hasLockdownAdminConfiguredNetworks'
* Renamed 'setLockdownAdminConfiguredNetworks'
  to 'setConfiguredNetworksLockdownState'

Bug: 148853269
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
      atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAdminConfiguredNetworks
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testAdminConfiguredNetworks

Change-Id: I6bef862b4ef7e5a7997378efcff08477da9de6dc
2020-02-11 12:43:21 +00:00