Commit Graph

14194 Commits

Author SHA1 Message Date
Abhijeet Kaur
14f35d5f2d Merge "Removed unused mount mode constants" 2021-03-02 16:37:30 +00:00
Remi NGUYEN VAN
914dca36ee Move SocketUtils out of the connectivity module
SocketUtils contains system APIs for modules to interact for sockets,
wrapping internal APIs. It should be part of the platform to keep access
to the internal APIs.

This involves splitting NetworkUtils.protectVpn to NetworkUtilsInternal,
since SocketUtils and VpnService are the only users of that method.

The @UnsupportedAppUsage NetworkUtils.protectVpn has low usage
count, and is already available through VpnService.protect.

Bug: 181512874
Test: boots, VPN working
Change-Id: I7028d334975f7536c06afac7a22200c33db707ac
2021-03-01 16:50:08 +09:00
Connor O'Brien
a0bbd188e4 Merge "Revert "Revert "Clear BPF data in KernelCpuUidTimeReader.removeUid()""" 2021-02-27 00:04:47 +00:00
Evgenii Stepanov
d600f5067a Merge "Implement memtagMode and nativeHeapZeroInit manifest attrs." 2021-02-26 20:11:10 +00:00
Evgenii Stepanov
15cce113f7 Implement memtagMode and nativeHeapZeroInit manifest attrs.
memtagMode allows an app to opt in to MTE in either sync or async mode.

nativeHeapZeroInit enables automatic initialization of heap memory.

Both attributes default to off and can be specified at either
application or process level.

Bug: 135772972
Bug: 177438394
Bug: 178038272
Test: CtsTaggingHostTestCases

Change-Id: I6a481a9d2363997bf954f248d08224c79f0c2afb
Merged-In: I6a481a9d2363997bf954f248d08224c79f0c2afb
2021-02-25 23:38:33 +00:00
Zoey Chen
c9448b5efc [Telephony] Implement onDataEnabled callback
Bug: 147577230
Test: atest CtsTelephonyTestCases:PhoneStateListenerTest
Change-Id: I1b9fe50e4b805f5117fb6e03438dd0a09fbcfebc
Merged-In: I1b9fe50e4b805f5117fb6e03438dd0a09fbcfebc
2021-02-25 14:16:53 +00:00
Hans Boehm
43a9a8089f Merge "Add zygote native fork loop" 2021-02-25 00:02:19 +00:00
Todd Kennedy
be58aa730b Add self to owners for SystemConfig.java
Change-Id: I812841473d390166ccfca6492ff40d3a324b5599
2021-02-24 23:43:22 +00:00
Jeff Sharkey
79bed70aa2 Merge "Add OWNERS for long screenshots framework code" 2021-02-24 19:42:32 +00:00
Zim
e72059c0bd Removed unused mount mode constants
Since FUSE in R, there are only 4 mount modes that are used
from IVold.aidl:

REMOUNT_MODE_NONE
REMOUNT_MODE_DEFAULT
REMOUNT_MODE_INSTALLER
REMOUNT_MODE_PASS_THROUGH
REMOUNT_MODE_ANDROID_WRITABLE

Bug: 148454884
Test: Manual
Change-Id: I62b66083f2099b429474872b6f9c7cffb9fb906d
Merged-In: I62b66083f2099b429474872b6f9c7cffb9fb906d
2021-02-24 18:27:26 +00:00
Connor O'Brien
dbcba76509 Revert "Revert "Clear BPF data in KernelCpuUidTimeReader.removeUid()""
This reverts commit 0648bad1b6.

Reason for revert: commit 0208449c3b ("Defer UID data removal until after reading is finished") has now been merged to remove the deadlock that required reverting.

Bug: 177011744
Bug: 174739872
Change-Id: I4fc120dc4410e21327700cb62900b3991ec981ec
2021-02-24 04:04:48 +00:00
Treehugger Robot
6faddabeb7 Merge "Revert "Do not propogate test api access flags to Zygote."" 2021-02-24 02:20:37 +00:00
Treehugger Robot
ce2d40870e Merge "Defer UID data removal until after reading is finished" 2021-02-23 23:08:31 +00:00
Hans Boehm
69d44b0bfd Add zygote native fork loop
Do not return to Java mode between consecutive fork operations.
This greatly reduces the Zygote overhead, since we no longer need to
stop and restart Java daemons.

By not switching back to Java mode, and being careful about what memory
we touch between forks, we also keep the Zygote heaps much more stable,
facilitating page sharing between the zygote and all its children.
Under normal operation we should no longer allocate any memory in the
zygote between forks. That applies to both the Java and C++ heap.
This makes the zygote behave much more like the mental model many
of us had assumed: It has nearly constant memory contents, which are
copy-on-right cloned at each fork. This does not apply to the initial
system server and webzygote forks, that are currently still handled
differently.

This includes

1. Add ZygoteCommandBuffer, and switch the argument parsing code to use it.
This slightly reduces allocation and enables (3).

2. Support process specialization in the child, even when the arguments
are already know, Leverages existing Usap code.

3. Add support for forking multiple child processes directly to the
ZygoteCommandBuffer data structure. This directly uses the buffer
internals, and avoids returning to Java so long as it can handle the
zygote commands it sees.

FUNCTIONALITY CHANGE:

We now limit the total size of the zygote command, rather than the
number of arguments.

Initial performance observations:

[ These are not perfect, since I'm comparing to numbers before I
started. There may have been other moving parts, but they should be
minor. ]

System-server-observed launch latency:

[Not the best metric, but easy to measure. In particular, this
does not represent a significant reduction in application launch
time.]

Based on measuring the last 10 launches in a lightly used cf AOSP
instance, the system server latency from requesting an app launch to
response with the pid (which does not require the child to execute
anything) went from an average of about 10.7(25) msecs to 6.8(9) and
7.9(16) in two tries with the CL. (The parenthetical numbers are
maxima from among the 10; the variance appears to have decreased
appreciably.)

Dirty pages:

The number of private dirty pages in the zygote itself appears to have
decreased from about 4000 to about 2200. The number of dalvik-main
private dirty pages went from about 1500 to nearly zero.

Initially ART benchmarking service claim -1.88% in PSS. But this is not
consistently repeatable.

Drive-by fix:

Call setAllowNetworkingForProcess on usap / native loop path.

Bug: 159631815
Bug: 174211442
Test: Boots AOSP
Change-Id: I90d2e381bada1b6c9857666d5e87372b6a4c1a70
2021-02-23 15:03:40 -08:00
satayev
ff8c375e95 Revert "Do not propogate test api access flags to Zygote."
This reverts commit bff33b8c31.

Reason for revert: cts tests on -user builds is broken

Change-Id: I2edf200561f839e49e067403714ea6fa65bdc978
Merged-In: I2edf200561f839e49e067403714ea6fa65bdc978
2021-02-23 04:06:39 +00:00
Mark Renouf
08b97003b3 Add OWNERS for long screenshots framework code
Change-Id: If7680b6d2124c63aa29421d5c2b717db8e5cbf1a
2021-02-22 19:53:46 -05:00
James O'Leary
2964b50d79 Add OWNERS for palette library
- dupin@ landed the folder & code in it originally
- good idea to move review off the plates of generic frameworks/base
OWNERS

Change-Id: I03a1e8ec00d5b658ee026a44038703e5b31ca52e
2021-02-19 18:04:06 +00:00
Josh Gao
3361ca6c56 Merge "Add proto tombstones to Dropbox." 2021-02-18 08:41:55 +00:00
Josh Gao
f4c51f3771 Add proto tombstones to Dropbox.
Bug: http://b/159164105
Test: treehugger
Change-Id: I9f14482f693c9645d72a93d4a966909bf797533a
2021-02-17 17:40:49 -08:00
Chris Wailes
c31c4f9b31 Cleanup of Zygote files
This CL cleans up some warnings in the ZygoteInit.java and
ZygoteServer.java files.  These warnings were mostly about unused
variables, protection class changes, and dead code.  Some changes
to code in Zygote.java and ZygoteConnection.java were needed due to
function signature changes.

Test: Built and booted image
Merged-In: I6ba33cfcb4729a75dbbd4f908f4b46110d3bb991
Change-Id: I6ba33cfcb4729a75dbbd4f908f4b46110d3bb991
2021-02-16 10:23:47 -08:00
Benjamin Franz
80bbdfd100 Merge "Add versioning to app compat framework" 2021-02-16 11:48:36 +00:00
Connor O'Brien
0208449c3b Defer UID data removal until after reading is finished
Removing UID data inside readDelta() callbacks causes deadlocks when
BPF data is used. Instead, build a list of UIDs to remove but defer
deletion until after readDelta() returns.

Bug: 177011744
Test: atest FrameworksCoreTests:com.android.internal.os.BatteryStatsCpuTimesTest
Change-Id: I41881571f6955a47186797f2d9db9c7594740c6b
Merged-In: I38e037b89e71b0cb1ba01374189ba8b7af01d632
Signed-off-by: Connor O'Brien <connoro@google.com>
2021-02-11 23:05:30 +00:00
Benjamin Franz
360d60d523 Add versioning to app compat framework
With this change, callers can set overrides for specific versions of an
app. The framework falls back to default version when the given version
doesn't have an override set.

Bug: 174043039
Test: atest FrameworksServicesTests:CompatConfigTest
Test: atest FrameworksServicesTests:PlatformCompatTest
Test: atest PlatformCompatGating
Change-Id: Ib5ff67e752a9c5ee94b6e1dd664d324ab5bf4542
2021-02-11 18:33:45 +00:00
Mitch Phillips
4d7b7a71d6 Merge "[MTE] Parse MTE sysprop in system_server" 2021-02-08 18:46:52 +00:00
Jeff Sharkey
1cf122b5a7 Merge "Add OWNERS for CPU-related files" 2021-02-08 18:31:18 +00:00
Rafal Slawik
ebc11b5899 Add OWNERS for CPU-related files
This covers files from CLs like:
- http://ag/13495669
- http://ag/13425120
- http://ag/13201721

Bug: n/a
Test: n/a
Change-Id: I7b1ba4e75c57cf53a9fe8b479b9472f627a63e82
2021-02-08 16:53:22 +00:00
Treehugger Robot
39d22680c9 Merge "Do not propogate test api access flags to Zygote." 2021-02-08 15:27:19 +00:00
Treehugger Robot
905c2570cd Merge "Fix a bug in the USAP Pool refill logic." 2021-02-07 19:52:20 +00:00
Josh Gao
ddaf564365 Merge changes I8b85d8ee,I789f41f1
* changes:
  Parse proto tombstones.
  Extract tombstone tracking to a separate service.
2021-02-05 20:11:10 +00:00
Jeff DeCew
d5e38f04bb Add People widgets to those owned by System UI Notifications team
Change-Id: I15afb8f80a3d067af522707748a5b07c015af138
2021-02-05 14:09:02 +00:00
Mitch Phillips
b8d053a815 [MTE] Parse MTE sysprop in system_server
The system server inherits the ELF note from the Zygote, but should also
be able to be overwritten by the system property. This needs to be
manually parsed.

Bug: 172365548
Test: 'adb shell setprop arm64.memtag.process.system_server 123' \
Test: ... kill the system_server, and and look in logcat for
Test  ... "Unknown memory tag level for the system server".
Test: 'adb shell setprop arm64.memtag.process.system_server sync' \
Test: ... kill the system_server, and look in logcat for
Test: ... "SetHeapTaggingLevel: tag level set to 3".

Change-Id: Icda4ff141646086ae85d751b8af9b1fe94bfd7b5
2021-02-04 15:28:07 -08:00
Artur Satayev
bff33b8c31 Do not propogate test api access flags to Zygote.
The flow has been replaced by @ChangeId ALLOW_TEST_API_ACCESS, making
old approach obsolete.

Bug: 147113465
Test: atest CameraEvictionTest#testBasicCamera2ActivityEviction
Merged-In: I0bf109fa78212d6d71ba85d25f80e27e8e7cd900
Merged-In: I0e58b6924744590afaadec6a6230aa9d552b2f6f
Change-Id: I9cf8f80abb0165d4aefbf943bade57f5e031904b
Exempt-From-Owner-Approval: cp
Bug: 178391911,147113465
(cherry picked from commit a27cd30535)
2021-02-04 17:17:44 +00:00
Bill Yi
46b48bcc66 Merge RQ1A.210205.004 to aosp-master - DO NOT MERGE
Merged-In: Icbc3c9f8e1ac8064e2e006587b4d4870d74cee2d
Merged-In: I2cb57c40fd5679dbd710396f3c69deafbac9d1c3
Change-Id: Ibfd6d85bda975aaa274be9e98e197de048d178ac
2021-02-03 17:01:38 -08:00
Josh Gao
9a8b4358d3 Extract tombstone tracking to a separate service.
In preparation for making tombstones available to apps, extract the
tombstone tracking code from BootReceiver to its own service.

Bug: http://b/159164105
Test: manual
Change-Id: I789f41f12a8be312b6e966226646c4ec4becc1aa
2021-02-03 14:08:12 -08:00
Chris Wailes
6a2b1afa6a Fix a bug in the USAP Pool refill logic.
This CL addresses a bug in the USAP Pool refill logic that could cause
refill events to be delayed indefinitely.  This would not prevent future
refill events from triggering, but could cause temporary degradation in
USAP performance.

Test: launch applications from USAP pool and inspect log
Bug: 177795408
Merged-In: I2e46eae431a1d9671d31c29b3552cd0287c66239
Change-Id: I2e46eae431a1d9671d31c29b3552cd0287c66239
2021-02-03 13:27:40 -08:00
Jeff DeCew
c879d183a8 Add core notifications team as owners of internal notification widgets.
Change-Id: Ie1a8e61f8c250340083940af866552e0d15851dd
2021-02-03 01:07:21 +00:00
Dmitri Plotnikov
1ef5d3f87e Add BATTERY_STATS_OWNERS for IBatteryStats.aidl
Change-Id: Iffb8ded9ff5edc899ab38c74ffe3ad98793ca67c
2021-02-01 23:42:59 +00:00
Treehugger Robot
8334a265ad Merge "Note network interfaces based on transport" 2021-01-28 07:45:20 +00:00
Remi NGUYEN VAN
2c9ed7f32d Note network interfaces based on transport
Instead of classifying interfaces by network type in BatteryStats,
classify them based on the transports array provided by the
NetworkAgent.

Network types are deprecated and transports should be used instead. This
change allows BatteryStats to stop depending on unstable APIs such as
isNetworkTypeMobile.

This change also updates nullability annotations in ConnectivityService
and NetworkAgentInfo to show that the NetworkCapabilities are non-null
(as provided by the network agent) when calling
noteNetworkInterfaceTransports.

Bug: 174436414
Test: atest
  atest ConnectivityServiceTest#testBatteryStatsNetworkType \
      --rerun-until-failure 40

Merged-In: I4e928fac8a57a9b1fc758a44af2a5719b8c871b8

Change-Id: I4e928fac8a57a9b1fc758a44af2a5719b8c871b8
2021-01-28 15:10:54 +09:00
junyulai
fa528b2d20 [FUI03] No-op refactoring of VpnInfo
As a preparation of exposing system API. This patch does some
harmless refactoring, which includes:
  1. Move VpnInfo to android.net
  2. Add nullability annotations
  3. Make members final

Bug: 174123988
Test: TH
Change-Id: I1530bb45d0e84c28c6deac33596bc686058afc0d
2021-01-27 15:03:06 +08:00
Jeff Sharkey
24bbd50cea Merge "Add the owner for those files related to voice." 2021-01-25 19:21:12 +00:00
Seigo Nonaka
580f6ddeb2 Add OWNERS for font manager related module
Bug: N/A
Test: N/A
Change-Id: I8a653349bd6df6365e1d6cbb2fc3b3ac10c8fcd7
2021-01-22 10:07:27 -08:00
lpeter
7593a84876 Add the owner for those files related to voice.
Bug: 177641730
Test: n/a
Change-Id: Ib693e399efd14acbc00a83421e1bff77fede6cd6
2021-01-22 20:49:30 +08:00
Kohsuke Yatoh
0f4112a760 Merge "Add missing textservice OWNERS files." 2021-01-20 23:16:33 +00:00
Kohsuke Yatoh
b1d2fe86f7 Add missing textservice OWNERS files.
Test: n/a
Change-Id: I56939ce3a22c72ac489e4d9248de9e0ce4ee9413
2021-01-20 18:53:11 +00:00
satayev
2805c99594 Merge "Allow clearing a single change id for tests usage." 2021-01-20 17:48:52 +00:00
Artur Satayev
21900cb6ee Allow clearing a single change id for tests usage.
Add clearOverrideForTest(changeId, packageName) to remove a single id
from package overrdies.

Bug: 147113465
Test: N/A
Change-Id: I35c6fe418abb9bc562218444878188bc393725e5
2021-01-20 14:15:14 +00:00
satayev
5d37ff2d33 Merge "Refactor PlatformCompat and related files." 2021-01-20 14:13:45 +00:00
Artur Satayev
5d640c39a3 Refactor PlatformCompat and related files.
- Fix java style
- Remove some code duplication
- Remove redundant throws declarations for unchecked exceptions
- Fix javadoc typos

Bug: 147113465
Test: N/A
Change-Id: I723ddf3184e2da77f157340c4ef18e9395b99e60
2021-01-20 11:21:40 +00:00
Treehugger Robot
9c7e15ab31 Merge "Fixed Handler Leak on WrapperInit" 2021-01-19 18:05:04 +00:00