Commit Graph

111110 Commits

Author SHA1 Message Date
Luke Huang
2adba7dd4a Merge "Keep the native mdns daemon alive for pre-S application" 2021-09-29 03:35:20 +00:00
Evan Severson
73ebf86c32 Update permissions OWNERS
Bug: 201319595
Test: None
Change-Id: Iebb9cd731b592df2dfb79bd088e917635c21b6b1
2021-09-28 01:03:32 +00:00
Treehugger Robot
56db11dfc2 Merge "fix google widget timing issue" 2021-09-24 18:57:13 +00:00
Yifan Hong
de452e49af VintfObject.getHalNamesAndVersions report AIDL version number.
Tests that rely on this API does not attempt
to parse it, but rather treat this as an opaque
string and upload them.

Test: pass
Bug: 200729012
Change-Id: I025e2602ab506ad009ce48d6329a230f12f1060c
2021-09-23 13:21:35 -07:00
Yifan Hong
4510a23652 Add owners for VINTF.
Test: pass
Change-Id: I24b73fd00bafd8a3c2fdfdecc1c00179a18b2e89
2021-09-23 13:21:35 -07:00
Bernardo Rufino
92b71e564f Merge "Synchronize in LazyValue.get()" 2021-09-23 16:48:49 +00:00
Devin Moore
e731e209d3 Merge "ServiceManagerNative: add getConnectionInfo" 2021-09-22 16:25:48 +00:00
Bernardo Rufino
9293dca91c Synchronize in LazyValue.get()
When we use Bundle's copy constructor we perform a shallow copy of the
underlying map, so lazy values are the same across the original and the
clone. So, if we're accessing the same item backed by a lazy value in 2
different threads, each one accessing a different bundle (the original
and the clone), both would have to synchronize on a common lock.

Although Bundle is not thread-safe, we should keep the expectation that
the client only needs to properly synchronize access to one bundle, not
more. To achieve this, we synchronize on the original parcel held by
LazyValue in get(), this removes the need for the above.

Note that after we produce the lazy values and put them in the map, we
don't have a reference to mParcelledData anymore inside the Bundle, the
only objects holding a reference to that parcel are the lazy values.

Also fixed some stuff in LazyValue:
* Fixed condition inside LazyValue that used mObject == null as
  signal for "not deserialized" state since mObject can be null, so
  switched to mSource != null.
* Made mSource volatile and adjusted operations to always check it
  before, ensuring visibility of itself and mObject via happens-before.
  This works because after checking mSource, if that's null, mObject is
  guaranteed to be visible and valid, if it's not null, we can use it
  since we're in the serialized state and this works even if another
  thread deserializes in between as long as we hold on to a reference of
  mSource in a local because the parcel is still valid.
* Remove the recycling of mValueParcel, otherwise we'd need locking to
  ensure whatever was using it was still using a valid object. Decided
  to just remove recycling for now since the plan is to remove
  mValueParcel entirely when we add comparison and hasFileDescriptor()
  methods that operate on a range to Parcel.

Bug: 195622897
Test: atest -d android.os.cts.ParcelTest android.os.cts.BundleTest
      android.os.BundleTest android.os.ParcelTest
Test: More tests coming
Change-Id: I501c91f505950338b23e7837e55f89b2f63ff93a
2021-09-22 11:58:24 +01:00
Roopa Sattiraju
2279402490 Merge "Adding sattiraju@ as OWNER and also changing the order of ldaps to be alphabetical" 2021-09-20 19:05:39 +00:00
Treehugger Robot
a9c6fbdff7 Merge "Make createBond(int) a system API" 2021-09-20 15:52:02 +00:00
Alice Kuo
399c36babb csip: Expose an extra data with intent and store in CachedBluetoothDevice
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
2021-09-18 01:02:32 +00:00
Anton Hansson
f664101210 Merge "Move annotations in public api to frameworks/base" 2021-09-17 14:01:20 +00:00
Anton Hansson
e0f3d2348f Move annotations in public api to frameworks/base
These two are the only annotations in the android.annotations package
that are not @hide -- they are actually in the public API.

As such, they are not suitable in the annotations library. Move them
back to frameworks/base where the other core java APIs live.

Bug: 186197911
Test: m
Merged-In: Ide01e4e7840bddf1e024e9024771e528d17a1d80
Change-Id: Ide01e4e7840bddf1e024e9024771e528d17a1d80
2021-09-17 12:31:50 +00:00
Roopa Sattiraju
b3ba6cdbed Adding sattiraju@ as OWNER and also changing the order of ldaps to be
alphabetical

Tag: #feature
Bug: 200240100
Test: Manual
Change-Id: I15ccfeae1e1a061a002be9c2e202104352b1ce98
2021-09-16 23:47:19 -07:00
Qasim Javed
d93483f74b Make createBond(int) a system API
BUG: 195156317
Test: Manual

Change-Id: I10d9ac305cbc1bb28c8150e1b167a0e61ad3f04e
Merged-In: I10d9ac305cbc1bb28c8150e1b167a0e61ad3f04e
2021-09-16 22:38:47 +00:00
Aaron Huang
8216831b36 Remove forceAllNetworkTypes from test
A test should test the actual behavior as much as possible.
However, if the flag is true, matchesMobile/matchesMobileWildcard
will always return true regardless of the network type and metered.
Thus, remove this flag would be closer to the actual behavior.

Bug: 183776809
Test: atest FrameworksNetTests
Change-Id: I0907a08ca1dd8a14a738db4057ea5ff6a0cd925a
2021-09-15 18:30:09 +08:00
Roopa Sattiraju
2ef5e10f45 Merge "Changing BluetoothHeadset APIs from @hide to @SystemApi" 2021-09-15 01:12:09 +00:00
Treehugger Robot
bca93eafe5 Merge "New API for getting enabledcomponent" 2021-09-14 18:18:30 +00:00
Elliott Hughes
1353c41379 Merge "Set $TMPDIR as well as java.io.tmpdir." 2021-09-14 16:49:24 +00:00
wescande
29dbede144 New API for getting enabledcomponent
Bluetooth can no longer call SystemConfig and need to use the manager.

Bug: 190440540
Bug: 199279027
Test: Manual
Tag: #refactor
Change-Id: I065ab407c83cd2edf2244e4170496b0979ac562c
2021-09-14 16:11:19 +00:00
Łukasz Rymanowski
58ad9295c7 csip: Add Coordinated Set Identification Profile
Tag: #feature
Test: atest CsipSetCoordinatorStateMachineTest CsipSetCoordinatorServiceTest
Bug: 150670922
Sponsor: jpawlowski@
Merged-In: I67536ddcc32ace82d63e19426dce19f2bc69cdea
Change-Id: I67536ddcc32ace82d63e19426dce19f2bc69cdea
2021-09-13 19:02:10 +00:00
Devin Moore
e7864e38d1 ServiceManagerNative: add getConnectionInfo
Check vintf manifest for connection info for a given service.

Test: build
Bug: 198207801

Change-Id: Ic9b4277de2bf13c429ba4921f1196b921b2a47de
2021-09-10 22:55:07 +00:00
Roopa Sattiraju
943ac64f97 Changing BluetoothHeadset APIs from @hide to @SystemApi
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
2021-09-09 15:48:15 -07:00
Bill Yi
56cff2cee0 Merge "Merge RQ3A.210905.001 to aosp-master - DO NOT MERGE" 2021-09-09 21:27:24 +00:00
Bernardo Rufino
730b6cfbc1 Merge "Use appendFrom in LazyValue.writeToParcel()" 2021-09-09 09:48:13 +00:00
Bill Yi
505f138725 Merge RQ3A.210905.001 to aosp-master - DO NOT MERGE
Merged-In: If0c6aebc7ecb401d0f68a00a746f7ae337e4bb86
Merged-In: Ic4c9fc8a62966b7b171d4ff2185e3d3232dea2e0
Merged-In: Ic4c9fc8a62966b7b171d4ff2185e3d3232dea2e0
Change-Id: Ife6d981ebcc9d55b8b7f0089ef9af09a51ae87c5
2021-09-08 18:01:22 -07:00
Treehugger Robot
a9f7998ff4 Merge "Refactor: Remove unused branch." 2021-09-09 00:20:59 +00:00
Treehugger Robot
882bac800d Merge "ServiceManager: doc comment" 2021-09-08 23:44:36 +00:00
Anthony Stange
68e875719b Merge "Correct ranges for pitch and roll" 2021-09-08 21:34:34 +00:00
Elliott Hughes
d5ccb038f6 Set $TMPDIR as well as java.io.tmpdir.
This helps functions like tmpnam() and tmpfile() to "just work", like
their Java equivalents.

Bug: https://issuetracker.google.com/36991167
Bug: http://b/174682340
Test: atest FrameworksCoreTests:android.app.activity.ActivityThreadTest
Change-Id: Ife785f0ca69a34ba2c6b5d1e8e23f8b883d8fc8f
2021-09-08 12:31:25 -07:00
Steven Moreland
dc7cae65cf ServiceManager: doc comment
A couple words on this for ya!

Fixes: 197629711
Test: N/A
Change-Id: I4fbaacb6e123c042919c03f11a0403e041d23a56
2021-09-08 11:34:38 -07:00
Sarah Chin
e34b1b8735 Merge "Expose requestModemActivityInfo" 2021-09-08 16:12:28 +00:00
Bernardo Rufino
5e5d776906 Use appendFrom in LazyValue.writeToParcel()
Due to lazy bundle, we can now have bundles touching the original parcel
(used to create the bundle in the first place) during serialization.
This can lead to races within the same bundle or across bundles when
the same is copied.

Both these cases happen in notification manager when it's about to post
notification for its listeners. In summary, it notifies all the
listeners in oneway calls and the listeners make a call back to
system_server to retrieve the notification. These calls back can race
and lead to the bug observed in http://b/198355758#comment12.

In order to avoid that we use appendFrom(mSource, mPosition) in
LazyValue.writeToParcel() since that method doesn't change or use the
cursor of mSource. We only ever write to mSource before creating all the
LazyValues, so there can't be any r/w races.

Test: 1. Attach debugger to system server and put log breakpoints in
         racy lines in Parcel$LazyValue.writeToParcel
      2. atest -d CtsHostsideNetworkTests:com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testDozeModeMetered_enabledButWhitelistedOnNotificationAction
      3. Observe no crashes
Test: 1. Attach debugger as in previous "Test:" line
      2. Create a notification with a parcelable extra, post it
      3. Observe no crashes
Bug: 195622897
Bug: 198355758
Test: atest -d android.os.cts.ParcelTest android.os.cts.BundleTest android.os.BundleTest android.os.ParcelTest
Change-Id: I02f890d22910c69e29e791b55d3655962a6dddfd
2021-09-08 09:19:58 +01:00
Treehugger Robot
42d6f9b7b2 Merge "Fix guide link to bg execution limits" 2021-09-08 06:20:52 +00:00
Darwin Huang
8303c17229 Refactor: Remove unused branch.
`filename` must be `null` at this point, as it's recently been set to that value, and hasn't adopted any other value yet. 

Refactoring change only. No functional changes intended.

Change-Id: I29a28872efc8c12c0da3c9f7c0a92d6aff465410
2021-09-08 00:33:11 +00:00
Steven Moreland
0f2729a96e Merge "Parcel: markForBinder" 2021-09-08 00:29:29 +00:00
Hall Liu
1c8976b843 Expose requestModemActivityInfo
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
2021-09-07 15:30:36 -07:00
Hall Liu
f4fe3ac665 Update and expose ModemActivityInfo
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
2021-09-07 11:40:55 -07:00
Christopher Tate
7ad31eb3f4 Fix guide link to bg execution limits
Bug: 157788333
Test: m offline-sdk-docs
Change-Id: I9258aeaa549b63960669d4bed9ea8fb03392146b
2021-09-07 11:36:20 -07:00
Bernardo Rufino
6ae29f70d7 Merge "Don't throw for LazyValue in Parcel.hasFileDescriptors()" 2021-09-06 10:12:59 +00:00
Bernardo Rufino
c087f62482 Don't throw for LazyValue in Parcel.hasFileDescriptors()
In aosp/1819733 we extracted Parcel.hasFileDescriptor() for types
produced by Parcel.writeValue() and consumed by Parcel.readValue() out
of Bundle into Parcel. It's supposed to handle LazyValue too.

However, we put a check to verify that it was a type supported by
readValue()/writeValue() by retrieving the VAL_XXX type of the value via
Parcel.getValueType(), however, that method throws for LazyValue since
we don't actually write that special type on the wire. However, we still
want Parcel.hasFileDescriptor() to support it, so moving the check into
a last 'else' statement, making sure we don't throw in case the value is
a LazyValue.

Bug: 195622897
Bug: 198433827
Test: atest CtsNetTestCases android.net.cts.CaptivePortalTest#testCaptivePortalIsNotDefaultNetwork
Change-Id: I1e6ec122557c12e74db6890e1631fec3cefe31f6
2021-09-06 08:51:21 +01:00
Jakub Pawlowski
fe2fd0e0ad Merge "le_audio: Introduce connection state handling for LE Audio group" 2021-09-03 20:03:15 +00:00
Steven Moreland
580ab91411 Parcel: markForBinder
Allow Parcel data to be dependent on the binder in question. This
exposes the API in Java which is previously only available in native.

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: I134b6e23da83699195a8f075b9f50b6409ecff86
2021-09-03 11:50:58 -07:00
Michael Groover
1e5f1a293a Merge "Update APK sig scheme verification OWNERS" 2021-09-03 17:07:40 +00:00
Grzegorz Kołodziejczyk
46aba35609 le_audio: Introduce connection state handling for LE Audio group
Patch implements connection state handling for LE Audio device group.

Tag: #feature
Test: Set LE audio device as active
Sponsor: jpawlowski@
Bug: 150670922
Merged-In: I11222ca07e265ac8b6dc3c21650874ebeffa473c
Change-Id: I11222ca07e265ac8b6dc3c21650874ebeffa473c
2021-09-03 11:58:32 +00:00
Michael Groover
9688bab011 Update APK sig scheme verification OWNERS
Bug: 198670656
Test: Builds
Change-Id: I2dd8de24baf29759a9000213650e4de49d2bb521
2021-09-02 13:20:14 -07:00
Jooyung Han
01da4566ee Merge "Revert "AIDL: use typed Map"" 2021-09-01 00:20:02 +00:00
Bernardo Rufino
93b4b55ee7 Merge "Lazy bundle" 2021-08-31 09:18:47 +00:00
Treehugger Robot
c2cbf5d420 Merge "devicepolicy: use typed List<String> in AIDL" 2021-08-31 09:16:30 +00:00
Jooyung Han
f306e46365 Revert "AIDL: use typed Map"
This reverts commit 553c027bbf.

Reason for revert: b/197550396

Change-Id: I3c59d132985a3d21a11b55ba1546ed9f46f6e474
2021-08-31 00:49:37 +00:00