Commit Graph

13288 Commits

Author SHA1 Message Date
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
Julia Reynolds
618033a1c7 Merge "Update logic for interruptive notifications" into pi-dev 2018-05-01 12:47:41 +00:00
Chris Wren
32491b6f8e Merge "Add implementation for SliceMetrics" into pi-dev 2018-05-01 11:52:42 +00:00
android-build-team Robot
24c4759714 Merge "Substituting the app name also on the public content view" into pi-dev 2018-05-01 00:26:46 +00:00
Selim Cinek
ed07b96aef Substituting the app name also on the public content view
Test: add notification with substitute name, observe correct public notification
Change-Id: Ib682a363c47f8925d54413e1edb20c0b8ce2e8b9
Fixes: 78605862
2018-04-30 14:41:11 -07:00
Julia Reynolds
e5c6045070 Update logic for interruptive notifications
- Only count visual changes for non-foreground service notifications,
because users consider the notification to be one 'session'
- Don't count every remoteviews update, but those where the layoutid
or sequence number has changed.

Bug: 78643290
Test: runtest systemui-notification
Change-Id: I49483d26ebe63329ef2d6d3f10dd730c310fcf2a
2018-04-30 19:13:00 +00:00
Chris Wren
d63dffd8cd Add implementation for SliceMetrics
Bug: 76150975
Test: atest cts/tests/tests/slice
Change-Id: Ide07b6b490434841978df86794b048b997d523be
2018-04-30 13:30:04 -04:00
Evan Rosky
fb699bcf1c Merge "Use correct windowingMode when computing override config" into pi-dev 2018-04-27 17:16:36 +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
android-build-team Robot
8ba6a53270 Merge "Enable Notifications on AndroidTV" into pi-dev 2018-04-27 12:47:42 +00:00
TreeHugger Robot
10b77a39a2 Merge "Using a list to store usage events" into pi-dev 2018-04-26 22:58:40 +00:00
Evan Rosky
b0e388823b Use correct windowingMode when computing override config
The StackWindowController was calculating task bounds with
the WM-side windowingMode instead of the AM-side.
In this case, we are resizing during a windowingMode change
(fullscreen -> freeform). Since the windowingMode isn't sent
to WM-side yet, the smallestScreenWidthDp was set using
the old windowingMode resulting in the wrong resources being
used.

This change makes windowingMode one of the parameters (like
bounds/density) used to adjust the configuration.

Bug: 71028905
Test: ActivityStackTests and WindowConfigurationTests still pass.
      Open playstore maximized, go to an app page, restore window.
      Layout should now be appropriate for the smaller window.
Change-Id: Idcb538a768cd983ab9eac0d61a6dbea3e9dc64a5
2018-04-26 13:14:36 -07:00
Philip P. Moltmann
76f04073f9 Compute correct rejected time
Fixes: 78632929
Test: atest FrameworksServicesTests:AppOpsServiceTest
            CtsPermissionTestCases:AppOpsTest

Change-Id: I34e1de6658c89c40cae3a8bb6e9fdb4e7fd80795
2018-04-26 11:01:08 -07:00
Kristian Monsen
30f59b2635 Enable Notifications on AndroidTV
Also fix some tests that were broken on TV.

Bug: 78285926
Test: runtest systemui-notification

Change-Id: Icf4e5a1e02c3075b466305023c986ada52e9ec93
Merged-In: Icf4e5a1e02c3075b466305023c986ada52e9ec93
2018-04-26 12:48:04 +00:00
Suprabh Shukla
60aa35b756 Using a list to store usage events
Moving UsageEvent.Event objects to an array list sorted on the event
timestamps as there can be multiple events with the same timestamps.

Test: atest android.app.usage.EventListTest
Existing tests:
atest android.app.usage.cts.UsageStatsTest

Bug: 74406113
Change-Id: Idc7f2a8db6e5a9499b3b0b74efbf014b17fa495f
2018-04-25 16:36:35 -07:00
Dianne Hackborn
fcefeb25ac Merge "Work on issue #78480444: Start tracking uid state in app ops" into pi-dev 2018-04-25 20:59:04 +00:00
Makoto Onuki
778ce66697 DO NOT MERGE Make "Want to start battery saver?" dialog better.
- Don't line-break in "Battery" (only in English)
- Add "Learn more" link.

Bug: 78261259

Test: Manual test with:
- adb shell dumpsys battery unplug
- adb shell settings delete secure low_power_warning_acknowledged
- Enable battery saver
- Make sure the link is clickable if a link is set.
- Make sure there's no "learn more" link if the link is not set in strings.xml

Change-Id: I83364f628dd596a4d50bf2aca4db7cbfe7cf4909
2018-04-25 15:27:47 +00:00
Dianne Hackborn
cd1f30b439 Work on issue #78480444: Start tracking uid state in app ops
We now push uid states down from activity manager in to app
ops, and it uses them to keep track of access/reject times for
each uid/package at the various states.

Bug: 78480444
Test: manual
Change-Id: Ia0bc9174b60b4bf0851834961cc48507a6a60951
2018-04-24 16:08:25 -07:00
TreeHugger Robot
ad8159bea0 Merge "Check self permission in BackupManager#isBackupServiceActive" into pi-dev 2018-04-24 12:12:53 +00:00
TreeHugger Robot
4019c39405 Merge "Clarify SystemUpdatePolicy" into pi-dev 2018-04-24 10:59:50 +00:00
Bernardo Rufino
2bf65c6e5c Check self permission in BackupManager#isBackupServiceActive
Old method only checked for IPC caller, method isn't an IPC, adding
check for self permission as well.

Bug: 78467264
Test: atest com.google.android.gts.devicepolicy.DeviceOwnerTest#testBackupServiceActive
Change-Id: If9eed90f2deaaf1a4f2376fdf1881e62ee8954fb
2018-04-24 11:41:13 +01:00
Selim Cinek
53790c1c8f Merge changes from topic "notification_reply_action" into pi-dev
* changes:
  Cleaned up the paddings of the messaging layout and smart replies
  Changed the size of the largeIcon
  Moved the disabling from alpha to manual color blending
  Updated the color of the reply button to be more neutral
  Updated the reply icon
  Disabled reply action when pending intents are cancelled
  Split the reply icon permanently from the right icon
2018-04-24 09:10:38 +00:00
TreeHugger Robot
5f18904a00 Merge "Add spinner for smart replies." into pi-dev 2018-04-24 08:51:56 +00:00
Selim Cinek
1c72fa0249 Cleaned up the paddings of the messaging layout and smart replies
Refactored the code such that the reply icon's inset was substracted
from the overall paddings to make all of them consistent. This
will also help in the future as we don't have to update those
paddings manually anymore.

Test: test all sorts of combinations with Notify
Change-Id: I8c6c9951bc73c88d95cb443c8e618c7adca7ebd3
Fixes: 78441535
2018-04-24 14:33:29 +08:00
Selim Cinek
4717d862a0 Updated the color of the reply button to be more neutral
The primaryTextColor wasn't a good fit, because it was
drawing too much attention being pure black. We're now
taking the default color instead. It's also used for
active permissions now.

Test: add notification, look at reply button.
Change-Id: If390c66e927a92a1115250abb7254fafe81b054c
Fixes: 72750728
2018-04-24 13:05:56 +08:00
Selim Cinek
d83203cde4 Disabled reply action when pending intents are cancelled
Previously the user could open inline reply even when the
action was already cancelled. This also enables listening
to pending intent cancellations.

Test: manual
Fixes: 77811784
Change-Id: I4ae164081c6abdeb60a8e78d61bf5e4f26cca1d3
2018-04-24 13:05:53 +08:00
Winson Chung
a4fa8d5bd4 Add windowing mode to task snapshot.
Bug: 78155683
Test: atest FrameworksServicesTests:TaskSnapshotPersisterLoaderTest
Change-Id: I4e562d818416a30d6759baef37c74b6d9c514a00
2018-04-23 12:25:38 -07:00
Kenny Guy
a0f6de8ab2 Add spinner for smart replies.
Add a spinner to MessagingGroup that is enabled
when the user has clicked on a smart reply.

Bug: 73607490
Test: atest SystemUiTests

Change-Id: I4d892c19b5df2b443761819929a83f016967e217
2018-04-23 18:58:19 +01:00
Rubin Xu
fcf3d6e5e2 Clarify SystemUpdatePolicy
Bug: 69734091
Test: make ds-docs
Change-Id: Ibd40f4c6bdc2e70ffe41c785c5a5b389fbeabd78
2018-04-23 16:40:44 +01:00
Selim Cinek
384804b42d Split the reply icon permanently from the right icon
Previously these would overlap, but they are now completely
separate.

Test: ensure that all notification styles still work with the new affordance.
Change-Id: I16f5f863b4afac27494a4a7615631bca240ca532
Fixes: 72750728
2018-04-23 16:19:21 +08:00
Andrii Kulian
5007c67a70 Merge "Don't require post-execution state for onActivityResult" into pi-dev 2018-04-20 23:21:25 +00:00
Andrii Kulian
e55b009a3d Don't require post-execution state for onActivityResult
According to the documentation, onActivityResult() should be called
immediately before onResume(). This, however, was not always the case
in previous releases and fixing this caused some app compatibility
issues.
This CL removes required post execution state for ActivityResultItem.

Bug: 77695691
Test: ActivityLifecycleTests
Change-Id: Id8c02e9b49f9758aac616e37948570722d802de8
2018-04-20 12:58:49 -07:00
Jeff Sharkey
c3c8d16380 Give CTS a way to force-poll network stats.
Collecting network statistics is pretty heavy, which is why we're
throttling callers.  However, to keep CTS running fast, we provide a
way for tests to force a poll event, instead of making them wait for
the throttle timeout.

Bug: 77908520
Test: atest cts/tests/tests/app.usage/src/android/app/usage/cts/NetworkUsageStatsTest.java
Change-Id: Ia792f0cd495023366ff8c4839df54e7da2ae8331
2018-04-20 12:18:23 -06:00
TreeHugger Robot
5e12ebfffd Merge "Defer resizing invisible stacks while drag resizing" into pi-dev 2018-04-20 14:43:38 +00:00
Adrian Roos
a6d6aab0e0 Defer resizing invisible stacks while drag resizing
Works around a source of jank when drag resizing in split
screen mode: instead of immediately resizing the (potentially
numerous) invisible secondary stacks, we defer that until
the user lets go of the handle.

Change-Id: I3b9faa83005fa86185d4e51b2849e3a826b7f6a9
Fixes: 78214347
Test: Open a gazillion (resizeable) tasks. Enter split screen. Drag handle, verify there is no jank
Test: atest RectTest
2018-04-20 15:09:02 +02:00
Jeff Sharkey
ddb15c471c Merge "Protect usage data with OP_GET_USAGE_STATS." into pi-dev 2018-04-20 02:38:01 +00:00
Winson Chung
1c0d00fac4 Merge "Workaround to ensure we cancel the recents animation prior to starting home" into pi-dev 2018-04-20 01:54:09 +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
Winson Chung
703719be15 Workaround to ensure we cancel the recents animation prior to starting home
- It is possible for the call from SystemUI to cancel the recents animation
  to be processed and handled after the virtual key has been processed in
  PhoneWindowManager. This causes a misordering in which the canceling of
  the Recents animation clears the pending start activity remote animation
  (which is waiting for app transition ready).

  Instead, move the canceling of the Recents animation to PhoneWindowManager
  where the nav button is handled, to ensure that we cancel the animation
  on the same thread before we start the activity.

Bug: 73188263
Test: Only able to reproduce so far artificially, which points to this
      misordering

Change-Id: I1f3477acdf988953a5b3cef2e3b2b402af2d9909
Signed-off-by: Winson Chung <winsonc@google.com>
2018-04-19 13:58:19 -07:00
Beverly Tai
39997ea603 Merge "Don't mute ringer if apps can bypass dnd" into pi-dev 2018-04-19 16:08:28 +00:00
Jeff Sharkey
1cd96854d4 Merge "Visit Uris in RemoteViews for granting purposes." into pi-dev 2018-04-19 14:58:02 +00:00
Jeff Sharkey
23b3118f28 Visit Uris in RemoteViews for granting purposes.
RemoteViews end up passing around Uris, so we need to extend Uri
permission grants for them to ensure the recipient of a Notification
object is able to render its contents.

Bug: 9069730
Test: atest frameworks/base/services/tests/uiservicestests/src/com/android/server/notification
Change-Id: Id31b5adaf2ee66113a1b503e32126aeddbf97b28
2018-04-18 21:40:47 -06:00
Jason Monk
e96443e5a7 Make Instrumentation more robust to other inputs
Test: atest cts/tests/app/src/android/app/cts/InstrumentationTest.java
Change-Id: I2d55274ab19c4687ce85c086f2da61a4316b8096
Fixes: 70720100
2018-04-18 15:43:50 -04:00
Beverly
86d076f9d3 Don't mute ringer if apps can bypass dnd
Test: atest RankingHelperTest
Change-Id: I587e5b8d4f6cfe3b384c5b4b9e72de12b6639b6f
Fixes: 77729075
2018-04-18 14:10:19 -04:00
Jason Monk
0c179a94a9 Slices: Don't use public namespace for internal intent
Test: manual
Change-Id: I21bc0a367456b58de195d71fc29cca0dbbca6927
Fixes: 78214697
2018-04-18 10:37:19 -04:00
Julia Reynolds
6013e5cc96 Color and text changes
Change-Id: I2b1837ffd16911be20b5d5f9a7007ff3071265ab
Fixes: 78191129
Fixes: 77810424
Fixes: 78196346
Test: manual inspection
2018-04-18 08:45:12 -04:00
Sudheer Shanka
850c6662b0 Merge "Update Instrumentation.newActivity to pass non-null application." into pi-dev 2018-04-17 22:06:09 +00:00
Patrick Baumann
eb59580abd Checks that secondary instrumentation ABI matches
This adds checks that the secondary ABI for an instrumentation package
matchs that of its target before using it when forced and warns of
mismatches.

Change-Id: I394427721c83cbd1c3c6af6cee24a93b18d8c65f
Fixes: 77152863
Test: gts-tradefed > run gts -m GtsBackupHostTestCases -a armeabi-v7a do not all fail with NPE
2018-04-17 09:55:47 -07:00