This change fixes the potential for a networkAgent to be left dangling,
due to a situation where a VcnGatewayConnection shuts down, but fails to
unregister it's NetworkAgent.
The root cause was that the NetworkAgent was not unregistered when
moving to the DisconnectedState from the RetryTimeoutState, and the new
state assumed that there was no NetworkAgent, and thus failed to close
it when disconnecting.
Thus, this change ensures that the NetworkAgent is closed before moving
to the DisconnectedState. Additionally, it adds safety-checks to
onQuitting(), ensuring that if all else fails, these fields are cleaned
up.
Lastly, this change adds the specific gateway reference to facilitate
future debugging of issues such as this where there is potential for
duplicate networks, or gateway connections.
Bug: 191707296
Test: atest FrameworksVcnTests
Change-Id: I84cd43a0c136662f5c2d229650f1f5f889e6f144
This keylayout was introduced in ba81efe04a.
Unfortunately, we cannot match by vid / pid, since this breaks other
devices (like keyboards) that use the same vendor / product id.
Instead, match by name to avoid conflict.
Bug: 191720859
Change-Id: I9dd686ebcd612ca04d41b7b5cadf8442350346c9
Test: verified manually
The TracingServiceProxy is called by traced, which runs as UID 9999 and
therefore doesn't have the required permissions to start a foreground
service.
So, clear that calling identity so that the identity checked for this
permission is system_server, which does have the correct permissions.
We'll ensure that no other processes can utilize this path via selinux
rules.
Bug: 191391382
Test: Manually tested that before this change, I saw an
'ActivityManager: startForegroundService() not allowed' error when
taking a bugreport while a trace is running, while after this change the
bugreport was taken successfully with no errors, and the trace was
included in the bugreport.
Change-Id: I472fe8acc2e59e93afd8475f51b5f347cd3ccc5d
This will allow us to inspect whether or not compilation times
degrade over time.
Test: ArtStatsLogUtilsTest
Bug: 170149255
Merged-In: I3a0946b4e2bba32db3c972a871bbd2519d1d70c3
Change-Id: I3a0946b4e2bba32db3c972a871bbd2519d1d70c3
(cherry picked from commit 4c75ae6c23)
Revert the class rename in master as discussed in http://b/183513856#comment19,
because the API has landed Android S.
This reverts the commit fa36bdff9f
Bug: 183513856
Test: m droid
Change-Id: I38bd8b7a9dad85d993dd432ab8f72995a23550fc
lint database file (api-versions.xml) is used for NewApi checks. These checks
were written thinking about app developers.
When used inside the platform codebase, quite often it produces false positives
which make relying on it cumbersome.
This CL removes APIs introduced by mainline modules from the lint database to
remove many such false positives. While some of them might be real issues, the
alternative would be not turning these checks on at all.
Bug: 186478867
Bug: 177434707
Test: m lint-check
Test: m filter-api-versions
Test: atest api_versions_trimmer_unittests
Merged-In: Ic45db0b71a2f13dc456463ce04b2f7744a0e330c
Change-Id: Ic45db0b71a2f13dc456463ce04b2f7744a0e330c
This commit includes IkeTunnelConnectionParams in
VcnGatewayConnectionConfig#hashCode and
VcnGatewayConnectionConfig#equals.
This commit fixes the issue that VcnGatewayConnection was not
being restarted as expected.
Bug: 191317512
Test: atest FrameworksVcnTests (new tests added)
Test: atest CtsVcnTestCases
Change-Id: I70182f9b645e55eced1e0a048a1bd87778c1c0f6
This change contains two item,
1. public BluetoothProfile.LE_AUDIO that App can use
BluetoothProfile.ServiceLister with LE Audio profile, such as HFP, A2DP
and hearing aid profile.
2. public getGroupId API that App can use this api to identify which
devices are in the same group
Bug: 150670922
Test: Manual test
Change-Id: I32865720a8195b7c5ae29411cd1f3de95e7fc9b5
Merged-In: I32865720a8195b7c5ae29411cd1f3de95e7fc9b5
This dir is home of the modularized SDK now. Add hansson and
modularization team as explicit owners so that we can e.g. approve new
modules being added.
Bug: 184125529
Test: No
Change-Id: I97802b98d24309759f9cf5d3192da6b80dc7657b
Merged-In: I97802b98d24309759f9cf5d3192da6b80dc7657b
This target is used for TradeFed dependencies and can be managed
separately by these two teams.
Bug: 181921006
Test: Manual
Change-Id: Ibcfeef30c8cb88e244561cac99c034981b84ed80
- Latest AndroidX drop changes the requirements for observers
which must be registered on the main thread
Bug: 162884675
Test: atest SystemUITests passes locally
Change-Id: Ib77248bc6d44cc9c8a5d2ad0e5c95feab6a54a01
Merged-In: Ib77248bc6d44cc9c8a5d2ad0e5c95feab6a54a01
(cherry picked from commit 5676d98881)
The bug proposes to 'move' the /proc/self/fd/ readlink/stat/etc checks
performed by the FileDescriptorAllowlist from before-fork to an earlier
stage.
The original aim was to allow the app zygote Preload hook to open
ashmem/memfd read-only regions to save more RAM (around 5MiB on aarch64)
via sharing more across processes. Potentially other files/sockets can
be opened - the app zygote takes responsibility of managing file
descriptor access controls across its own processes. App Zygote Preload
does not run 3rd party code.
Unfortunately a straightforward move of the checks to
just-before-preload has disadvantages:
* opens more codepaths for potential accidental misuse (the zygote
accepts commands between preload and fork, there are valid usecases
for extending these commands)
* this way FileDescriptorAllowlist would need to support more file
descriptor types (sockets and maybe pipes), which is not needed now
because these FDs are closed right before forking
The solution proposed here is to:
1. Determine the set of file descriptors open before preload
2. Run the preload hook
3. Determine FDs opened by the hook and allow them to remain open across
fork
4. Hypothetical new attempts to preload (if ever supported) will not
affect the allowed FDs - the preload will be able to toss its own FDs
the way it wants, but not open the new-new ones
Bug: 184808875
Test: Manual: unreleased Chrome patch: while in app zygote preload,
create ashmem region, passes it to 'untrusted_app' (=browser
process), and call mmap(2) on it.
Change-Id: Ie302eabca83a0e4f409cb131e4308b73e5f6a580