Commit Graph

81609 Commits

Author SHA1 Message Date
Chia-I Wu
067749725e Merge "Update Configuration#isScreenWideColorGamut doc" into pi-dev 2018-05-02 19:15:11 +00:00
android-build-team Robot
12f404e3e3 Merge "Work on issue #77931346: The notification that should not be named appeared" into pi-dev 2018-05-02 17:47:15 +00: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
Victor Hsieh
4cf738204f Avoid using 0 for fs-verity extension ID
Also:
 * Adjust size and order of some fields
 * Fix Merkle tree size calculation bug

Test: Verify fs-verity works with kernel patch
Bug: 67380979
Change-Id: I58f14cfe9630c1ff62ed64dbf333bb1c9bfe0fb1
2018-05-02 16:40:34 +00:00
Mihai Popa
90f197efe5 Merge "[Magnifier-43] Refactor to remove code duplication" into pi-dev 2018-05-02 14:50:41 +00:00
Mihai Popa
724990d5ff Merge changes I63f2b185,I0d749c1a into pi-dev
* changes:
  [Magnifier-42] Fix bug in window positioning
  [Magnifier-41] Fix behavior in windows with insets
2018-05-02 12:02:18 +00:00
Mihai Popa
f298068a7f [Magnifier-43] Refactor to remove code duplication
Since Ic5b5f6ca687db8b5d842f0ab20eac70f1fd2f85e, the magnifier can be
the child of a diffent surface than the one its content is copied from.
This initially led to much code duplication accross different methods,
making the code quite difficult to understand. This CL performs a small
refactoring, removing some of the TODOs and making the code a bit
cleaner.

Bug: 78876353
Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest
Change-Id: Ifa26f94ba2e4983446f058f016af6010c1017ea7
2018-05-02 10:30:40 +00:00
Mihai Popa
227034b863 [Magnifier-42] Fix bug in window positioning
The position of the magnifier surface is always clamped inside its
parent surface. As of Ic5b5f6ca687db8b5d842f0ab20eac70f1fd2f85e, we are
always trying to make the magnifier surface a child of the main
application window, if possible (before, if the magnified view was a
SurfaceView, we were making the magnifier a child of the SurfaceView's
surface). However, the CL did not also update the clamping, continuing
to clamp to the SurfaceView space when the magnified view was a
SurfaceView (even if the magnifier was child of the main window). This
was making the magnifier window to be wrongly positioned on the screen
when the magnified view is a SurfaceView. The current CL fixes this.

Bug: 78876353
Test: manual testing
Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest
Change-Id: I63f2b185f58e62e8ad6eadf788e641fb1de07b04
2018-05-02 10:30:29 +00:00
Mihai Popa
0450a16759 [Magnifier-41] Fix behavior in windows with insets
The CL fixes the magnifier's behavior when its parent window has
positive insets in its surface:
- we compute the content copy coordinates sent to the pixel copy request
relative to the surface the content is copied from. We were clamping
them inside the visible region of the magnified view as returned by
belonging to the view which is magnified. However, the method returns
coordinates relative to the window. Therefore, the CL offsets the
visible rectangle with the window insets, to account for them.
Otherwise, when the insets were non-zero, on a text line we were
allowing the magnifier to display content from the left outside of the
text line, while a certain region at the end of the text line could have
never been magnified
- when clamping against the visible view region, when the surface we
copy from is a SurfaceView, #getGlobalVisibleRect is still returning
coordinates relative to the main window, whereas the coordinates we are
trying to clamp are relative to the surface of the SurfaceView. In order
to make the visible rectangle relative to the surface of the SurfaceView
instead, this CL negatively offsets the visible rectangle with the
SurfaceView position in the parent surface
- the selection/insertion handles are hidden when they overlap the
magnifier. To check this, we intersect the magnifier rectangle with the
rectangle of each handle.  However, when we were performing this check,
the magnifier rectangle was relative to the surface, whereas the
handles' rectangle was relative to the main window. The CL negatively
offsets the magnifier position with the surface insets, to make both
rectangles relative to the window.

Bug: 78621162
Test: manual testing
Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest
Change-Id: I0d749c1abb38520fe8fc477d22d6523f470e9abc
2018-05-02 10:29:19 +00:00
Dianne Hackborn
55c2d4106a Merge "Work on issue #78480444: Start tracking uid state in app ops" into pi-dev 2018-05-02 06:54:54 +00:00
Dianne Hackborn
025d4a59fc Work on issue #77931346: The notification that should not be named appeared
Keep track of whether a foreground service has been shown in a
notification channel and, the first time one is, make sure the channel
is sufficiently important regardless of what the user or app last
set for it.

Bug: 77931346
Test: runtest systemui-notification
Change-Id: Idecad2dceb8cc918feec91ca1ee26edf3d3ab7de
2018-05-01 22:56:23 -07:00
Dianne Hackborn
2378a4a3fa Work on issue #78480444: Start tracking uid state in app ops
Introduce new app op mode that uses uid state to determine whether
the caller has access.  This will determine what noteOp() and
startOp() return, based on the state of the uid.

Bug: 78480444
Test: atest FrameworksServicesTests:AppOpsServiceTest
Test: atest CtsPermissionTestCases:AppOpsTest
Change-Id: I12b744b74f3129782dbda9567043f5170919b5d3
Merged-In: I55fd74023cc4dae8151372e28c3afc7d259c7a1c
2018-05-01 17:36:28 -07:00
Michael Wachenschwanz
b3972f9d23 Merge "Add Stable Charging Threshold for AppStandby" into pi-dev 2018-05-02 00:23:23 +00:00
android-build-team Robot
da8e229b9c Merge "Add OP_PLAY_AUDIO to control shutter sound." into pi-dev 2018-05-01 23:56:12 +00:00
Kevin Chyn
14de2930ba Merge "refactored Log statements to Slog" into pi-dev 2018-05-01 23:22:09 +00:00
Evan Rosky
09ba7e0bae Merge "Don't clear focus during transition animations" into pi-dev 2018-05-01 21:30:17 +00: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
android-build-team Robot
1fc69c5eda Merge "Add personalization state paused constant" into pi-dev 2018-05-01 18:56:54 +00:00
android-build-team Robot
66aa41291a Merge "Fix docs for a11yNodeInfo#refreshWithExtraData" into pi-dev 2018-05-01 17:55:19 +00:00
android-build-team Robot
fd7d5779c3 Merge changes from topic "jr-onboard" into pi-dev
* changes:
  Update 'dnd is hiding notifications' view
  Update zen onboarding flow
  Change zen defaults for upgrade and new users
2018-05-01 17:26:26 +00:00
Phil Weaver
220fc4f3b1 Merge "Fix bug and docs assuming progressBar min is 0 instead of getMin()" into pi-dev 2018-05-01 17:12:40 +00:00
Phil Weaver
849943340e Fix docs for a11yNodeInfo#refreshWithExtraData
I think an early version of this API was a bitmask.

Bug: 78922344
Test: make
Change-Id: Ib50257d39a9d60ddc33f792640065e6643ccc3aa
2018-05-01 09:26:01 -07: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
1f58057118 Change zen defaults for upgrade and new users
- Upgrade -> migrate suppressScreenOn and suppressScreenOff to
suppressVisualEffects
- New -> all visual effects are off, starred contacts are allowed
to call

Also fixed an NPE noticed while testing this CL

Test: runtest systemui-notification
Change-Id: I1efd6e3f9bc7519b2fb769bae62ffa1aaae59cb6
Fixes: 78778706
Fixes: 78768955
2018-05-01 09:04:38 -04: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
Joshua Mccloskey
d4390a52e5 refactored Log statements to Slog
Test: it builds
Change-Id: I9fdc5ad6767b02f42b768c1709b22d9f4d2d4e6b
Fixes: 76183279
2018-04-30 17:36:54 -07: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
Gene Karshenboym
1ae7fd5f44 Merge "Implement RadioMetadata.toString." into pi-dev 2018-04-30 23:28:11 +00:00
Ajay Nadathur
43bda82c10 Add personalization state paused constant
- Add a new constant USER_SETUP_PERSONALIZATION_PAUSED to inform
interested listeners when personalization is paused.

bug: 78898802
Test: Manually tested and verified
Change-Id: I4481c38e31a8b47dfc98d8733b446885899d4a67
2018-04-30 21:42:44 +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
Rob Carr
331a22e39a Merge "Detach children when stopping app." into pi-dev 2018-04-30 20:00:39 +00: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
android-build-team Robot
69b1fce562 Merge "Truncate newline and tab characters in BluetoothDevice name" into pi-dev 2018-04-30 18:54:34 +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
14186bfe08 Merge "Log slow message delivery on Looper" into pi-dev 2018-04-30 17:50:58 +00:00
Tomasz Wasilczyk
dd2e6c502f Implement RadioMetadata.toString.
This is required for metadata debugging.

Bug: 78885613
Test: build, run radio, watch logs
Change-Id: I63393bf555ede396a04f50897490049568b089dd
2018-04-30 10:40:39 -07: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
Makoto Onuki
712886fd97 Log slow message delivery on Looper
Sample log:
04-27 15:30:17.306  1000   942   942 W Looper  : Dispatch took 222ms on main, h=Handler (com.android.server.job.JobSchedulerService$JobHandler) {42042fc} cb=null msg=7 start=48162 end=48384
04-27 15:30:17.306  1000   942   942 W Looper  : Delivery took 235ms on main, h=Handler (com.android.server.job.JobSchedulerService$JobHandler) {42042fc} cb=null msg=4 start=48149 end=48384
04-27 15:30:17.773  1000   942   942 W Looper  : Dispatch took 445ms on main, h=Handler (android.app.ActivityThread$H) {5df4c77} cb=android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA@badd538 msg=0 start=48406 end=48851
04-27 15:30:17.828  1000   942   942 W Looper  : Drained
04-27 15:30:24.389  1000   942   942 W Looper  : Dispatch took 718ms on main, h=Handler (android.hardware.soundtrigger.SoundTriggerModule$NativeEventHandlerDelegate$1) {d7e9947} cb=null msg=4 start=54749 end=55467
04-27 15:30:24.389  1000   942   942 W Looper  : Delivery took 621ms on main, h=Handler (com.android.server.media.MediaSessionRecord$MessageHandler) {5851574} cb=null msg=7 start=54846 end=55467
04-27 15:30:24.499  1000   942   942 W Looper  : Drained

Bug: 78590632
Test: Boot and check log
Test: setprop log.looper.1000.android.bg 1 and runtime-restart and check log
Change-Id: Ief1fc65b40b8a3d583879f55a76288e3dba6be7d
2018-04-27 17:15:46 -07:00
Abodunrinwa Toki
8e7f8ad3ce Merge "FloatingActionMode.setOutsideTouchable" into pi-dev 2018-04-27 19:46:10 +00:00
Abodunrinwa Toki
1290226564 Merge "TC: Fix null PendingIntent being passed to RemoteAction" into pi-dev 2018-04-27 19:44:48 +00:00
Robert Carr
29daa92be9 Detach children when stopping app.
Prior to the implementation of detachChildren we handled this
case via the "mWindowStopped" codepath in SurfaceView.java which this
CL deletes. That codepath however causes confusion due to it's failure
to set null the SurfaceControl, meaning we may not necessarily
recreate it when resuming if we didn't hit any other code-path
to do such as happens in linked bug 78588930. Anyway it seems clearest
to handle all these preserve-child-surfaces-on-tear-down cases via
one mechanism (detachChildren).

Bug: 78588930
Test: Manual.
Change-Id: Iac7c0bc0c6b4da0d405bdc2b57d13d5c881611b0
2018-04-27 12:05:00 -07:00
android-build-team Robot
a973d530df Merge "camera2/legacy: Fix expected errors on eglSwapBuffers" into pi-dev 2018-04-27 18:24:00 +00: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
Chia-I Wu
06c0c3a933 Merge "Add COLOR_MODE_AUTOMATIC" into pi-dev 2018-04-27 15:47:41 +00: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
Sudheer Shanka
a750da1960 Merge "Schedule external stats sync on battery level change with a delay" into pi-dev 2018-04-27 03:20:38 +00:00
TreeHugger Robot
640d4d5f43 Merge "Fix PersistableBundle C++ -> Java interop" into pi-dev 2018-04-27 01:36:52 +00:00