There are two main usecases for this:
- provide an alternative route to implement features like markSensitive
(which requires only 1 function call per class, rather than a
function call and flag per transaction type)
- support RPC format transactions
Bug: 175814583
Test: atest android.os.ParcelTest, boot, manual
Change-Id: Ibaacc27a125a31e18d4b5889d05d12cc18d05624
Description:
Added replacements of `readList`, `readParcelable` and
`readParcelableCreator` APIs.
To avoid unexpected types of objects being unparcelled,
ideally clients would use the readTypedXXX() methods that
take the parcelable creator. However, this won’t be an option
for use cases involving deserializing children objects
inherited from non-final parcelable or serializable objects.
Currently out of ~4k parcelable classes, only ~1.5k
are marked as “final” in the platform. Hence it would be
necessary to introduce new replacements that take
an extra Class<T> parameter and before deserializing
we check that the class written on the wire is the
same or a descendant from the one provided as argument.
Doing so could enhance the security of Parcel deserialization,
More details can be found at go/safer-parcel.
Test: atest -d android.os.cts.ParcelTest
Bug: 195622897
Change-Id: Ie9a4cb4c3d6f1805b14df7b703aef43e2993d459
Bug: 178981521
Bug: 150670922
Test: Discover and pair with the CSIP supported device, and check the
pairing string in the dialog
Merged-In: I3e99c59e0cb974409291e1b4c28393106784e133
Change-Id: I3e99c59e0cb974409291e1b4c28393106784e133
Bug: 178981521
Bug: 150670922
Test: Discover and pair with the CSIP supported device, and check the
pairing string in the dialog
Change-Id: I3e99c59e0cb974409291e1b4c28393106784e133
Bluetooth can no longer call SystemConfig and need to use the manager.
Bug: 190440540
Bug: 199279027
Test: Manual
Tag: #refactor
Change-Id: I065ab407c83cd2edf2244e4170496b0979ac562c
For isInbandringing API - it is used in the call journey and would
change the behavior(undeterministic) of the call if not used.
Stop/StartScoUsingVirtualVoiceCall is used in the BluetoothShim layer
specifically for testing and mocking in the Android Apps. Seems
reasonable to keep this as a SystemAPI given that it has no params and
unlikely to be changed.
Bug: 195160939
Tag: #feature
Test: Manual
Merged-In: I02b2e7e5e0be3b462f7c25b655e669e2c7fe47eb
Change-Id: I02b2e7e5e0be3b462f7c25b655e669e2c7fe47eb
For isInbandringing API - it is used in the call journey and would
change the behavior(undeterministic) of the call if not used.
Stop/StartScoUsingVirtualVoiceCall is used in the BluetoothShim layer
specifically for testing and mocking in the Android Apps. Seems
reasonable to keep this as a SystemAPI given that it has no params and
unlikely to be changed.
Bug: 195160939
Tag: #feature
Test: Manual
Change-Id: I02b2e7e5e0be3b462f7c25b655e669e2c7fe47eb
- add getSlicingConfig() API in TelephonyManager and ITelephony
- add Parcelable implmentations for RouteSelectionDescriptor,
SlicingConfig, and UrspRule
- remove @hide and @SystemApi for TrafficDescriptor and
NetworkSliceInfo to make them public
Bug: 178075247
Test: .
(1) run "atest TelephonyManagerTest#testGetSlicingConfig" for CTS result
[22/121] android.telephony.cts.TelephonyManagerTest#testGetSlicingConfig: PASSED (956ms)
(2) run "atest RILTest#testGetSlicingConfig" for RILTest result
[17/111] com.android.internal.telephony.RILTest#testGetSlicingConfig: PASSED (1ms)
Change-Id: I0addc2b22c11b13759e890d88f51490993fb72e1
Merged-In: I0addc2b22c11b13759e890d88f51490993fb72e1
Expose requestModemActivityInfo in TelephonyManager using the Executor +
Consumer pattern, and modify clients to use it.
Test: atest TelephonyManagerTest#testRequestModemActivityInfo
Fixes: 170427831
Change-Id: I7e8134c8058017b888c324a9f85d473fc3cdd8f5
Merged-In: I7e8134c8058017b888c324a9f85d473fc3cdd8f5
Update ModemActivityInfo to present a nicer API surface and expose it as
a SystemApi. Also change clients in BatteryStats to match the new
surface.
This is part 1. Part 2 will modify the methods in TelephonyManager to
use a more up-to-standards threading model.
Bug: 170427831
Test: atest ModemActivityInfoTest
Change-Id: I762ed949342861c75d94eafce88335e7bd8c9139
Merged-In: I762ed949342861c75d94eafce88335e7bd8c9139
The NDK is built out of internal *-release branches. Unfortunately, the
internal and external manifest attribute IDs don't currently line up.
As a result, NDK-built apps with memtagMode='[a]sync' won't turn on MTE
on AOSP images, but work in internal images.
We'd like NDK-built apps to work out of the box with AOSP images, and
so let's line up these IDs to fix the silent failure. This is especially
important as testing is mostly done using AOSP-on-QEMU.
RESTRICT AUTOMERGE because this should be an AOSP-only patch.
Bug: N/A
Test: Build the sanitizer test app
(https://github.com/google/sanitizers/tree/master/android) with an MTE
attribute and make sure you crash with MTE errors.
Change-Id: I48a3e08d01508dc6694fefd9563fb7d3f25108a9
The functionality is similar with fetchUuidsWithSdp which uses TRANSPORT_AUTO. Bt stack depends on the devie type and address type to do sdp or gatt service discovery. Add an api to specific the transport. It would be fexible to handle the dual mode device.
Ignore-AOSP-First: avoid merge conflict
Tag: #feature
Bug: 194447999
Test: atest BluetoothInstrumentationTests
Test: Take two headphone to test the dual mode behavior
Change-Id: I32c8dde68969e0bdc42e4e898c43a4f2c1d3379a
Merged-In: I32c8dde68969e0bdc42e4e898c43a4f2c1d3379a