This commit allows the startLegacyVpn() call to start Platform VPN
profiles, allowing Settings to use the IKEv2/IPsec VPN options
When using an aliased private key, the
Ikev2VpnProfile.KEYSTORE_ALIAS_PREFIX must be prepended to the front of
the alias. This will in turn result in the fromVpnProfile() function to
pull the key from the KeyStore, as opposed to the inline-key that the
VpnManager API uses.
Bug: 148991741
Test: FrameworksNetTests passing, new tests added in subsequent CL
Test: Manually tested
Change-Id: Icbca695c353b2e12e99305676404dbf1a4495949
Update KernelSingleUidTimeReader to read BPF data rather than per-UID
proc files when the BPF data is available. This is implemented by
calling libtimeinstate functions via JNI.
Extend KernelSingleUidTimeReaderTest to exercise both the BPF and proc
file code paths.
Bug: 138317993
Test: KernelSingleUidTimerTest passes
Test: no regression in BatteryStatsTests
Change-Id: Ie5fa2605007e8c5f70a0383bf8adbd81d479abfe
Merged-In: Ie962ddd9e30d96aa0fab6104a4164af9ad02f55e
Signed-off-by: Connor O'Brien <connoro@google.com>
Update KernelCpuUidTimeReader and its subclasses to support reading
frequency, active & cluster times from BPF maps rather than proc files
on devices that support this approach. BPF-based accounting offers
improved accuracy as it can detect every context switch, whereas the
proc files attribute a full tick period to whatever happens to be
running when the tick occurs.
Add a KernelCpuUidBpfMapReader class modeled on
KernelCpuProcStringReader, with singletons for reading each distinct
set of data. These follow the locking approach used by
KernelCpuProcStringReader to ensure thread safety, but they collect
data by calling libtimeinstate functions via JNI rather than reading
text from proc files. They also provide a getDataDimensions() function
to retrieve information currently provided by the header rows of the
proc files, such as the list of available freqs or the number of cores
on each cluster.
Extend the KernelCpu*TimeReaderTest classes to exercise the BPF path
for each reader class, and add a KernelCpuUidBpfMapReaderTest modeled
on KernelProcStringReaderTest.
Bug: 138317993
Test: KernelCpu*TimeReaderTests and KernelCpuUidBpfMapReaderTest pass
Test: no regressions in BatteryStatsTests
Change-Id: Ia092e896028e5f647f6c182de05fa76c7e2e3180
Merged-In: Ie7c0b11a47289e16f72fd6868de4185e858c7e4f
Signed-off-by: Connor O'Brien <connoro@google.com>
The kernel no longer enforces XOM layouts, and the build system no
longer generates XOM binaries. As a result, the zygote code to mark XOM
sections of memory readable for apps with targetSdkVersion<Q.
Bug: 147300048
Test: m -j
Change-Id: I0abb0abb54f8f5a538da9194a900e6a64e574bfe
Merged-In: I0abb0abb54f8f5a538da9194a900e6a64e574bfe
Move the logic to startProcessLocked so that it can use app info/flags.
Bug: 135754954
Test: NFC
Change-Id: I50cfb8d0ec4ce1f79dec56b8bef09752a1b37490
Merged-In: Ief86185c6866640700e2548259df9ba1fb617e4d
(cherry picked from commit 5750d3b153)
We now use the sequence number of the atrace tag rather than a Binder
transaction, so zygote can observe changes to the tags.
Test: m
Bug: 137366208
Bug: 147667830
This is a cherry-pick of e38797be84.
Change-Id: I50e32a19c538dd255097c035836504b4746b172b
Merged-In: I50e32a19c538dd255097c035836504b4746b172b
This change adds a VpnRunner superclass to the LegacyVpnRunner in
preparation for the PlatformVpnRunner
Bug: 144246767
Test: FrameworksNetTests passing
Change-Id: I1b7da86d59c34f5d8c1ac13fb621f2e5d3bf8d26
* changes:
[NS A36] Add a test for lost trusted capability
[NS A35] Send updated scores to factories at the end.
[NS A34] Still more simplification
[NS A33] Unify changing the default network
[NS A32] More simplification
[NS A31] Simplification
[NS A30] Note linger out of the rematch loop
[NS A29] Call LOST callbacks at the end of the rematch.
[NS A28] Move setting the default network out of the rematch loop.
Move all StatsLog generated constants into ChangeReporter, to make
re-submitting http://ag/10194708 easier.
Bug: 145952197
Test: atest PlatformCompatTest ChangeReporterTest
Change-Id: Iccff9582099c58f070a6b6aeb1d2588b0fafa90a
Since LocationPermissionChecker#checkLocationPermission will be
used in ConnectivityService and the try-catch style will end up
in unwinding the stack. This CL remove the try-catch block from
this check function.
Bug: 148460709
Test: atest LocationPermissionCheckerTest
Change-Id: Ia97b3d8b1a96aca10fd87876969c290818e7e758
Merged-In: Ia97b3d8b1a96aca10fd87876969c290818e7e758
This CL does following updates for the ConnectivityUtil class:
1. Remove the current profile check from location permission
check since it's not related to location permission check.
2. Makes all the checking functions to static to avoid memory
allocation
3. Rename the class from util to checker.
Bug: 148180968
Bug: 148232681
Bug: 148233000
Test: atest FrameworksNetTest
Change-Id: Ibf8879fe7dbcecdf766b959cb052d4d825b9b24c
Merged-In: Ibf8879fe7dbcecdf766b959cb052d4d825b9b24c
This commit adds the fields required to support IKEv2/IPsec VPNs. Other
fields will be reused where possible.
Bug: 143221465
Test: Compiles, new tests written for parcel/unparcel, encode/decode
Change-Id: I4c0e8fb934e75548424a15bbfb35c2ea9a3a57bc
For testing, this feature can be enabled per-application with
adb shell am compat 135754954 <app.name>
Bug: 135754954
Bug: 147147490
Test: malloc() returns tagged pointer with the feature enabled
Change-Id: I067b4ba6f5fbfcb8287f0cc07d17978dbe708806
* changes:
Fixed an issue Zygote initialization.
Improved timekeeping logic for USAP Pool refill mechanism.
Resets the refill action/timing info after a pool fill event.
Make the USAP Pool refill delay configurable.
Re-adds a trace point that was accidentally removed.
Moved some thread priority changes.
Adjust Java Language thread priority in new processes.
Adjusts the USAP pool refill mechanism.
Change USAP name to application name as soon as possible.
An assignment to a flag and a call to a function that uses that flag
were in the wrong order.
Bug: 146614089
Test: Treehugger
Change-Id: If046aa62084892b8dae10497f15cf4c685d226db
Merged-In: If046aa62084892b8dae10497f15cf4c685d226db
This patch makes two changes to increase the reliability of the USAP
pool refill mechanism. The first is to change the storage type of the
result of an expression from int to long. This will help avoid
potential overflow issues.
The second change mitigates the impact of the non-monotonic system clock
having its value changed. If the clock goes backwards in time past when
the initial event triggered the refill delay, the delay will now be reset.
Bug: 146614089
Test: Treehugger
Change-Id: Ic6f65de51757803b5ba95975bab3b9322a91c837
Merged-In: Ic6f65de51757803b5ba95975bab3b9322a91c837
Bug: 132794985
Bug: 146614089
Test: m & flash & launch more apps than USAPs in the pool
Change-Id: I9ee74d76692fa8aeba9c70765b3e8f98ea9105bc
Merged-In: I9ee74d76692fa8aeba9c70765b3e8f98ea9105bc
This patch fetches the USAP pool refill delay value from device_config
instead of hardcoding it.
Bug: 131362095
Bug: 146614089
Test: Build and launch 10+ apps successfully
Change-Id: Idfeb30fa62fa296492da211b2b44902ff4f99b18
Merged-In: Idfeb30fa62fa296492da211b2b44902ff4f99b18
Test: Built and collected a trace to verify slice ended
Bug: 146614089
Change-Id: Ic75d65fc7b2a417fc3a58c2df8ec9deb795fb418
Merged-In: Ic75d65fc7b2a417fc3a58c2df8ec9deb795fb418
The previous place I had moved these changes resulted in runtime threads
being created at the wrong priority. This patch moves the calls to the
correct location.
Test: atest CtsJvmtiRunTest924HostTestCases
Bug: 146614089
Change-Id: Iad2e17cd137eab81c595cb6816608a36b009da8b
Merged-In: Iad2e17cd137eab81c595cb6816608a36b009da8b
Previously init started the Zygote with -20 nice value and then
immediately switched it to 0 in ZygoteInit.main so that new applications
forked from the Zygote have the correct Java Language thread priority.
This patch delays this priority change so that it only affects the new
processes and not the priority of the Zygote.
Test: m & flash & check ps
Bug: 146614089
Change-Id: Id00d0cfd642f02640c40b6e7b2aa8933a320b60c
Merged-In: Id00d0cfd642f02640c40b6e7b2aa8933a320b60c
This patch adjusts the USAP pool refill mechanism so that it is less
disruptive to launching applications. Refill events are now delayed
by several (3) seconds if delaying wouldn't cause the pool to be below
the minimum population size.
This patch also adjusts the process priorities for the USAPs and other
processes spawned from the Zygote so that they behave better in the
context they are spawned in.
Bug: 131362095
Bug: 146614089
Test: booted & launched apps & checked logs
Change-Id: I7328f304c9b744cfdbfbdbe522a5f9aeea5233bb
Merged-In: I7328f304c9b744cfdbfbdbe522a5f9aeea5233bb
This patch changes the location where the process's name is changed to
that of the application being launched. It also attempts to use the
package name if the "nice name" is missing.
Test: m & flash & boot
Bug: 146614089
Change-Id: Id3a3d0b2b66d31c48274f8a986e86e9ed1d28f34
Merged-In: Id3a3d0b2b66d31c48274f8a986e86e9ed1d28f34
This util function will check whether the app has location permission
and whether the location mode is enabled for the users. This function
will be used by both connectivity service and wifi networks.
Bug: 142072839
Test: atest ConnectivityUtilTest
Change-Id: I5558ed04e5ef28033a1c649f5491f2f15aa63557
Merged-In: I5558ed04e5ef28033a1c649f5491f2f15aa63557
ImsUceManager does not need to be created per phoneId, since
the UCE service is created per subscription in RcsStackAdaptor.
Fixes: 147319232
Test: manual; bring up/down RcsService on a MSIM device
Change-Id: If9f89f8f083197c68900a6c1a51837ce0dd0b4a0