1. Call BluetoothHeadset.setActiveDevice(BluetoothDevice device) to set
a connected HFP/HSP device as active.
2. Listen for BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intent
that will contain the latest active device (in EXTRA_DEVICE field).
If the active device could not be changed, the EXTRA_DEVICE
field could be null.
3. If setActiveDevice() is NOT in-progress, BluetoothA2dp.getActiveDevice()
can be used. If setActiveDevice() is in-progress, the result is undefined.
4. BluetoothHeadset.setActiveDevice() could be called by some other parts of
the system, so interested parties should always listen for
BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intents and prepared
for active device updates.
Bug: 68951996
Test: manual
Change-Id: I22ca639a04fed7bf17df59c405ddeda90dafb8ff
(cherry picked from commit 05f4bc4074)
For some spans, SpannableStringBuilder cannot determine the previous
start and previous end values correctly. In some cases, previous end
value is smaller than previous start value, and this causes
DynamicLayout to access negative index values. This CL updates
DynamicLayout to reflow from index 0 if such a case occurs.
Test: Added a CTS test
Test: bit CtsTextTestCases:android.text.cts.DynamicLayoutTest#testReflow_afterSpanChangedShouldNotThrowException
Bug: 67926915
Change-Id: Ibc55edfd5e49a7782cdd807e2465f4f21577b68d
Basic Wi-Fi RTT API for ranging to APs + Wi-Fi Aware peers.
Note: no functional tests, just unhiding/comment fixes.
Bug: 65108607
Test: builds, unit tests, integration tests.
Change-Id: I532ca35c866a7862859a0e64d9f7eccd95baa83d
This is how we tell CTS if the device has reserved blocks set aside
for system critical services.
Test: builds, boots
Bug: 62024591
Change-Id: Ib970554235b49346f9e9df7d3d1646beb168cd92
Ensure consistent behaviour depending on whether OAHL is on the
bootclasspath or not.
When OAHL is on the bootclasspath the search order is (where ... is the
other libraries on the bootclasspath):
OAHL
...
shared libraries
optional shared libraries
APK
Prior to this change the OAHL was added to the end of the shared
library list which meant the search order (when OAHL is not on the
bootclasspath) would be:
...
shared libraries
OAHL
optional shared libraries
APK
After this change the order will be:
...
OAHL
shared libraries
optional shared libraries
APK
The slight difference at the beginning is not an issue because there are
no conflicting resources or class files between OAHL and the other boot
libraries.
Bug: 65552462
Bug: 18027885
Test: build, flash, check systrace when starting GoogleDialer
Change-Id: Ifcb4d50c13e35eebac4d18f8f0f10dd0734e8896
- It doesn't make sense to clear the list of WorkChains if we're
remove is called with a WorkSource that has no chains.
- The early return for mNum <= 0 is faulty because it incorrectly
returns early for WorkSources that have workChains but no flat
UIDs.
Test: WorkSourceTest
Bug: 62390666
Change-Id: I4c0e69bdd7c114b41329aa329d1c1d08a8cb9b59
Mirrors the design of TimeUnit and ChronoUnit which many developers
are already familiar with, making it easy to pick up and use.
Yes, this is an enum.
Bug: 70915728
Test: bit FrameworksCoreTests:android.util.DataUnitTest
Change-Id: Id0cfdac5c81ed89c3c9ece23c964acba4a4f8471