Commit Graph

81648 Commits

Author SHA1 Message Date
Jack He
89f979849a Bluetooth: Fix HFP SCO logic and documentation
AudioService:
* Call setBtScoActiveDevice and setBluetoothScoOn both in AudioService's
  broadcast receiver so that these two methods must be triggerred in
  the same sequence as ACTIVE_DEVICE_CHANGED and AUDIO_STATE_CHANGED
  intents are sent and we no longer need to handle race condition by
  synchronously checking active device in setBluetoothScoOn
* Default sco audio mode when no headset is active should be virtual
  voice call, as many HFP devices do not accept SCO audio without an
  ongoing call
* Synchronize checkScoAudioState() method with mScoClients
* Add helper functions connectBluetoothScoHelper and
  disconnectBluetoothScoHelper to call various SCO setup and tear down
  methods based on sco audio mode
* Try raw, virtual call, and voice recognition mode when disconnecting
  externally started SCO
* Add new sco state SCO_STATE_DEACTIVATING to allow back to back calling
  of startBluetoothSco and stopBluetoothSco

Audio Manager:
* Modified AudioManager logic so that removed devices callback is called
  before newly added devices

BluetoothHeadset:
* Modified BluetoothHeadset so that start and stop SCO using virtual
  voice call no longer need a parameter and will use active device by
  default
* Modified documentation around various sco mangement APIs to match
  their expected behaviors

Bug: 76114959
Test: VoIP calls sanity test cases
Change-Id: Id50db88f4ff36069b0f392c81dd9d90c24cd2206
2018-05-04 19:49:49 -07:00
android-build-team Robot
b88217bd17 Merge "Fix spelling errors in BluetoothGatt documentation" into pi-dev 2018-05-05 01:29:53 +00:00
android-build-team Robot
564942d065 Merge "Convert RTT background throttle to a settable value (1/2)." into pi-dev 2018-05-04 23:40:22 +00:00
Stanley Tng
c87223b718 Fix spelling errors in BluetoothGatt documentation
Correct "paramter" to "parameter". Correct "connectoin" to connection.

Bug: 79198797
Test: Compile
Change-Id: I98646eec66da2aaa6f74ae2db35ea914c6a105a1
(cherry picked from commit 505c05839b)
2018-05-04 23:20:46 +00: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
Andrii Kulian
1ed9f4294c Merge "Schedule local activity relaunch" into pi-dev 2018-05-04 18:23:32 +00:00
android-build-team Robot
018166c16e Merge "Just drop the default WP bitmap, don't explicitly recycle it" into pi-dev 2018-05-04 17:47:04 +00:00
android-build-team Robot
8aec7be10e Merge "Update dnd defaults for new users" into pi-dev 2018-05-04 13:54:27 +00:00
android-build-team Robot
ec41a069fd Merge "Reset statsd and correctly record the dump reason when system server restarts/crashes." into pi-dev 2018-05-04 02:43:03 +00:00
Andrii Kulian
320e3b546f Schedule local activity relaunch
If local activity relaunch is executed immediately, and if
recreate() was called from a lifecycle callback, then existing
instance of activity will be destroyed while ActivityThread may
continue using it to finish performing a transaction item.
To remove this double lifecycle loop we now schedule local activity
relaunch on client thread instead of executing it immediately.
It worked in similar way until changes in b/30060825.

Bug: 78576150
Bug: 64610483
Bug: 30060825
Test: ActivityLifecycleTests
Change-Id: Ic0cef229f2f9df0fa40066d8540c4b29da7bdc58
2018-05-03 17:34:16 -07:00
Yangster-mac
892f3d3229 Reset statsd and correctly record the dump reason when system
server restarts/crashes.

Test: statsd test
BUG: b/79161505
Change-Id: I0646c764964f6eafde91f9ae0179a1c837af320d
2018-05-03 17:05:24 -07:00
android-build-team Robot
6fb01a8a56 Merge "Add app op for Bluetooth scans" into pi-dev 2018-05-04 00:01:53 +00:00
Rob Carr
625de7758b Merge "SurfaceControl: Close CloseGuard when destroying surface in transaction." into pi-dev 2018-05-03 22:52:18 +00:00
Andrii Kulian
1b59867b9f Merge "Preserve custom activity intent on relaunch" into pi-dev 2018-05-03 18:26:04 +00:00
Julia Reynolds
10a7cc1275 Update dnd defaults for new users
Test: flash new device
Change-Id: I83ecf3394724a1efd952c01514272924cd289e34
Fixes: 78778706
2018-05-03 14:09:55 -04:00
android-build-team Robot
f4e0438a46 Merge "In place split install native support" into pi-dev 2018-05-03 16:38:54 +00:00
android-build-team Robot
06637b97dd Merge "Make safe label more safe" into pi-dev 2018-05-03 15:46:10 +00:00
Selim Cinek
929ea36157 Merge "Fix new notification showing timestamp "now" after turning off DND" into pi-dev 2018-05-03 15:15:42 +00:00
Benjamin Miller
297965f29e Merge "Docs: noted that DISALLOW_INSTALL_APPS prevents DPCs installing apps." into pi-dev 2018-05-03 14:08:54 +00:00
android-build-team Robot
d733159b45 Merge "WIDGET_TYPE_UNSELECTABLE_TEXTVIEW is missing in the WidgetType" into pi-dev 2018-05-03 14:05:00 +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
Benjamin Miller
f1c3ed1e81 Docs: noted that DISALLOW_INSTALL_APPS prevents DPCs installing apps.
Bug: 72428023
Test: make ds-docs and inspect output
Change-Id: Ifc31378b7061d10b73de183e3c64864d608975b1
2018-05-03 11:24:44 +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
Mathew Inwood
e9db89cc76 Merge "Pass package name to runtime." into pi-dev 2018-05-03 08:12:02 +00:00
shawnlin
ea19d32a9b Fix new notification showing timestamp "now" after turning off DND
DateTimeView won't update timestamp until the view is attached to
window and received TIME_TICK intent.

Update timestamp on onAttachedToWindow().

Test: manual 1) turn on DND 2) send a notification and wait some time 3)
turn off DND and check the timestamp
Fixes: 77970557

Change-Id: Ia8420aacf5b91b0bb9cbec561629ddbfc8de4f67
2018-05-03 11:06:52 +08:00
Andrii Kulian
770c403069 Preserve custom activity intent on relaunch
An activity can have a custom intent set via Activity#setIntent().
This was lost in ag/3305584

Change-Id: I88f3e164d2cf7f6c62989bba05cd84b9b83befc3
Fixes: 73181785
Test: ActivityThreadTest#testCustomIntentPreservedOnRelaunch
2018-05-02 18:40:59 -07:00
Dianne Hackborn
6b590c3934 Add app op for Bluetooth scans
Bug: 78480444
Test: manual
Change-Id: I0e747ed5301640af04ec4d6ef2ba5ee6c2de495a
Merged-In: I5a88abc8f26e7505ebfbd76137f13f75be6e5ff9
2018-05-02 17:40:50 -07:00
Jeff Sharkey
f7d3e028ae Merge "Return to modifying raw /mnt/media_rw paths." into pi-dev 2018-05-02 21:14:17 +00:00
Christopher Tate
1c827da635 Just drop the default WP bitmap, don't explicitly recycle it
Recycling invalidates it out from under any client code that might
have retained the reference previously.  That's not sociable.

Just drop the internal cache reference.  The underlying storage will
be properly freed by GC if it's genuinely not being used anywhere
else.

Change-Id: I94e0e2ba2b78daa40c8026e6fc72fda3bed57ae3
Fixes: 79108131
Bug: 74534423
Test: atest android.content.cts.ContextWrapperTest#testAccessWallpaper
2018-05-02 13:18:35 -07:00
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
Tony Mak
4dd4314744 WIDGET_TYPE_UNSELECTABLE_TEXTVIEW is missing in the WidgetType
Test: None

Bug: 72534351

Change-Id: I9cde8d98d2cd32aae91513fd65010011e3570470
2018-05-02 15:51:55 +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
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
Mathew Inwood
37b6ca82ed Pass package name to runtime.
When binding an application in ActivityThread, pass the package name to
the runtime so it knows which package is running in the process.

Bug: 77517571
Test: m
Change-Id: Ia646599ca45b76ebcd068fcc50df23659e89b82b
2018-05-02 10:43:24 +01: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