Commit Graph

9991 Commits

Author SHA1 Message Date
Andrei-Valentin Onea
d8c3bf5bb2 Merge "Fix regression in Dalvik:HEAP_TOTAL" am: deb35fb00b
am: 4d65d3cbac

Change-Id: I7e370c252f14988d60711c1fa777832825d54d48
2019-02-11 03:50:48 -08:00
Andrei-Valentin Onea
deb35fb00b Merge "Fix regression in Dalvik:HEAP_TOTAL" 2019-02-11 11:26:46 +00:00
Mathieu Chartier
9c3874add3 Merge "Add use_app_image_startup_cache feature flag" am: b5a69ab764
am: b2f6041624

Change-Id: Ic4f04f06056c5e1036345373118a00eccd2a4497
2019-02-07 14:01:18 -08:00
Andrei Onea
e6efa0540a Fix regression in Dalvik:HEAP_TOTAL
Make HiddenApiUsageLogger a singleton initialised in Zygote pre-fork and
rely on copy-on-write to prevent heap size increases

Test: atest google/perf/memory/memory-test
Bug: 123705750
Change-Id: I384d3bdefa6525fcce494783c548e85979bce4d5
Merged-In: Idc5ad13d4e158659009290f410ce721013345308
2019-02-07 17:12:59 +00:00
Mathieu Chartier
f5cd8c1601 Add use_app_image_startup_cache feature flag
Passed down to the zygote if the corresponding system property is set:
runtime_native / use_app_image_startup_cache.

Bug: 123524494
Bug: 116059983
Test: adb shell device_config put runtime_native use_app_image_startup_cache true

(cherry picked from commit ced7e08129)

Merged-In: I27c0b9ea9533b2b6ad1ccd45f0fb9292c4cfca02
Change-Id: I27c0b9ea9533b2b6ad1ccd45f0fb9292c4cfca02
2019-02-06 12:30:36 -08:00
Varun Anand
b8ae5b64a9 Merge "Add an API that allows VPNs to declare themselves as metered." am: 62a9b66a38
am: 9563c15d09

Change-Id: Iab1d2a3bf27ec9c033253ccd48ce8026e3b18799
2019-01-30 19:39:50 -08:00
Varun Anand
62a9b66a38 Merge "Add an API that allows VPNs to declare themselves as metered." 2019-01-31 02:43:25 +00:00
Christian Wailes
c5de65d8f0 Merge "Added OWNERS entries for some Zygote related files." am: 3ad8923842
am: 2f0392e6f7

Change-Id: If5c42163657b9704bcd4e257a0869e4ee8345793
2019-01-30 17:29:36 -08:00
Christian Wailes
3ad8923842 Merge "Added OWNERS entries for some Zygote related files." 2019-01-31 01:04:28 +00:00
Varun Anand
1215f09b07 Add an API that allows VPNs to declare themselves as metered.
For VPN apps targeting Q and above, they will by default be treated as
metered unless they override this setting before establishing VPN.

Bug: 120145746
Test: atest FrameworksNetTests
Test: On device tests verifying meteredness setup correctly for apps
targeting Q and apps targeting P.
Change-Id: Ia6d1f7ef244bc04ae2e28faa59625302b5994875
2019-01-30 14:09:03 -08:00
Andrei-Valentin Onea
6706993777 Merge "Initialise hidden api usage logger pre-fork" am: 763747b7ce
am: c14670fc8e

Change-Id: I10aba0942a240ee041306c1bf24e6bed37e62f0a
2019-01-30 09:14:17 -08:00
Neil Fuller
6bdf43af58 Merge "Track ZygoteHooks API changes in libcore" am: 20bca262f5
am: 97ba02c505

Change-Id: I3b377b6bd83cf6d7d293c89931ac13560e9db2c7
2019-01-30 03:19:42 -08:00
Andrei Onea
89acbab9c8 Initialise hidden api usage logger pre-fork
Topic: hidden-api-reporting-upcall
Test: m
Bug: 119217680
Change-Id: I8722f0bf4275fea4a8faf41d7b862c04b4014824
Merged-In: I80f82092ef779a7dc1f1322cb7c05ebf5e59939b
2019-01-30 11:17:07 +00:00
Neil Fuller
927c15c470 Track ZygoteHooks API changes in libcore
Track ZygoteHooks API changes in libcore to make
the ZygoteHooks API more consistent.

Bug: 111742291
Test: build / boot / treehugger
Merged-In: Ie65aac6539cffc90663807791511b95a6cd61ab4
Change-Id: Ie65aac6539cffc90663807791511b95a6cd61ab4
2019-01-29 19:47:35 +00:00
David Brazdil
47b4ad2c13 Merge "Add @UnsupportedAppUsage to methods known to be used by apps" am: faedae5981
am: fe642a81d9

Change-Id: I927ed3371a0f6df6182999fb188d040af28289e6
2019-01-28 08:24:04 -08:00
David Brazdil
faedae5981 Merge "Add @UnsupportedAppUsage to methods known to be used by apps" 2019-01-28 14:23:43 +00:00
David Brazdil
576da0582f Add @UnsupportedAppUsage to methods known to be used by apps
Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.

Bug: 123308819
Bug: 122291025
Test: m appcompat
Change-Id: Iafd62b8ece0d19268fad65086134a1e7369bc0bb
2019-01-28 12:46:33 +00:00
Chris Wailes
5d0f240569 Added OWNERS entries for some Zygote related files.
This commit adds two OWNERS files and modifies a third to add owner
entries for files related to the Zygote.

Test: none
Change-Id: Id26271e5af168775b2d2d3f9d3cc0c3421ad03f1
2019-01-25 11:22:58 -08:00
Christian Wailes
a6fc60e47c Merge "Enables the use of the blastula pool." am: 33a09948e5
am: b649fda0ef

Change-Id: I489ce1f3a9aa072d9627376448bb6bf25b026d5e
2019-01-24 18:31:37 -08:00
Christian Wailes
3763cc1859 Merge "Added Java Language methods for blastula management." am: 0d9156a9c0
am: 8a2facfa4c

Change-Id: Iec674c1318ae87310ff3327fc5f10d48e3191af5
2019-01-24 18:23:22 -08:00
Christian Wailes
33a09948e5 Merge "Enables the use of the blastula pool." 2019-01-25 02:06:47 +00:00
Christian Wailes
0d9156a9c0 Merge "Added Java Language methods for blastula management." 2019-01-25 02:06:28 +00:00
Chris Wailes
cffbf1c9b4 Enables the use of the blastula pool.
This commit adds the code necessar to initialize and use the blastula
pool during application launching.  Highlights include:
* Modifying ZygoteState to allow the creation of blastula session
sockets
* Modified application startup to track if a web view process is being
created.
* Initialization of the blastula pool during Zygote initialization.
* Blastula lifecycle management via reporting pipes and event FDs.
* Launching of applications via the blastula pool.

The creation, maintenance, and use of the blastula pool can be disabled
by setting Zygote.BLASTULA_POOL_ENABLED to false.  When this feature is
disabled applications will launch as they did before this patch.

Topic: zygote-prefork
Test: make & flash & launch app & check log message
Bug: 68253328
Change-Id: I46c32ad09400591e866b6c6121d5a9b0332092f3
Merged-In: I46c32ad09400591e866b6c6121d5a9b0332092f3
2019-01-24 16:50:05 -08:00
Chris Wailes
c37ebe1313 Added Java Language methods for blastula management.
This commit adds Java Language wrappers for native blastula management
functions.  No changes are made to the application lifecycle.

Topic: zygote-prefork
Test: make & flash & launch apps & check log for messages
Bug: 68253328
Change-Id: Ie9fd0aea2952dbd3baaca22c820e9af700f5e89d
Merged-In: Ie9fd0aea2952dbd3baaca22c820e9af700f5e89d
2019-01-24 16:50:02 -08:00
Chenbo Feng
8d027dd829 Merge "Use delta reads for per uid traffic stats" am: 48f46ac83c
am: d5cc53302f

Change-Id: Ibc1e7d1b6be2915d4000cda2b7a9141ac387f7f0
2019-01-24 11:12:54 -08:00
Irina Dumitrescu
b866a5b6e6 Merge "Add API for proxy configuration over VPN." am: 8b5917965d
am: ac77629a1e

Change-Id: I51930e4ed99cc3df10db2c8bbef27989f0a06a46
2019-01-24 10:20:32 -08:00
Chenbo Feng
48f46ac83c Merge "Use delta reads for per uid traffic stats" 2019-01-24 18:16:25 +00:00
Treehugger Robot
8b5917965d Merge "Add API for proxy configuration over VPN." 2019-01-24 17:52:22 +00:00
Irina Dumitrescu
044a436ac9 Add API for proxy configuration over VPN.
Test: runtest -x
frameworks/base/tests/net/java/com/android/server/ConnectivityServiceTest.java
&& atest HostsideVpnTests
Bug: 76001058
Change-Id: Id4dde4a4103fd93bfbbacc52d0e5ade56ae67a6a
Merged-In: Id4dde4a4103fd93bfbbacc52d0e5ade56ae67a6a
2019-01-24 16:07:20 +00:00
Christian Wailes
80db7b7783 Merge "Refactored ZygoteConnection.Arguments to ZygoteArguments." am: 3a46c1b4ce
am: 3926f08109

Change-Id: I173c9cd671a9683793eee0c5053e3e8855ec0cf8
2019-01-23 18:34:18 -08:00
Christian Wailes
a13898896c Merge "Code cleanup in ZygoteInit." am: 889648df40
am: 6b7e35d216

Change-Id: I654fcdb478dfae98d78b0353e068122d115dd2c5
2019-01-23 18:28:46 -08:00
Christian Wailes
a1f14e0912 Merge "Code cleanup to conform to style guide / linter." am: f5ff8f0661
am: 420eec4f52

Change-Id: If4634a4d8026c1df1c581b120527926fbee68a0e
2019-01-23 18:23:25 -08:00
Christian Wailes
3f076da22b Merge "Implemented native functions and types for blastula management." am: 5222bf368b
am: c5cc5e525c

Change-Id: I4eb03e2d0592aefa196be7f96687aa4f155c0022
2019-01-23 17:56:00 -08:00
Chris Wailes
682b479a88 Refactored ZygoteConnection.Arguments to ZygoteArguments.
This commit moves the ZygoteConnection.Arguments class into its own file
and re-names it to ZygoteArgumens.  Doing this also required small
changes to files that used ZygoteConnection.Arguments.  In turn, this
required some changes to make the files conform to the Frameworks style
guide.

Highlights include:
* Moving ZygoteConnection.Arguments to ZygoteArguments
* Moving helper functions from ZygoteConnection to Zygote
* Re-named member variables in the ZygoteArguments class
* Removed unused imports.

Topic: zygote-prefork
Test: make & flash & launch apps & check log for messages
Bug: 68253328
Change-Id: Ideb414c87a92020128a644147949ef4f4133ae33
Merged-In: Ideb414c87a92020128a644147949ef4f4133ae33
2019-01-23 13:35:16 -08:00
Chris Wailes
cd92db2545 Code cleanup in ZygoteInit.
This commit mostly re-flows the code in ZygoteInit.java to conform to
the Frameworks style guide.

Topic: zygote-prefork
Test: make & flash & launch apps
Bug: 68253328
Change-Id: I0d348caa1d9ca2a4c1e32430e0eebdd91672e473
Merged-In: I0d348caa1d9ca2a4c1e32430e0eebdd91672e473
2019-01-23 13:35:06 -08:00
Chris Wailes
6e3c7ced5e Code cleanup to conform to style guide / linter.
This commit made the following changes to make the code conform to the
Frameworks style guide:
* Re-named variables
* Re-flowed code
* Organized includes

Topic: zygote-prefork
Test: make & flash & launch apps
Bug: 68253328
Change-Id: I9274b32f1f606f29f6eb3a1e5068ca18f607afe7
Merged-In: I9274b32f1f606f29f6eb3a1e5068ca18f607afe7
2019-01-23 13:34:52 -08:00
Chris Wailes
8b35ba25a9 Implemented native functions and types for blastula management.
This patch adds native support for spawning and managing blastula pools,
as well as several code cleanups and modernizations.

Changes includes:
* A function to fork blastulas
* A table for managing blastula-related data
* Functions for adding and removing blastula data from the
aforementioned table
* Switching from NULL to nullptr
* Replacing string-passing error handling with a curried failure
function
* Utility functions for handling managed objects
* JNI functions for blastula pool management

Topic: zygot-prefork
Test: make & flash & launch apps & check log for messages
Bug: 68253328
Change-Id: I12cd9f2c87a2e3c00d64b683edf3631e29a51551
Merged-In: I12cd9f2c87a2e3c00d64b683edf3631e29a51551
2019-01-23 13:34:40 -08:00
Chenbo Feng
b29a6166e0 Use delta reads for per uid traffic stats
For the detailed network stats of each uid and tag, the native
implementation provides delta read instead of consistent stats
data since boot. Every time the readNetworkStatsDetail function gets
called, the data pulled will be cleared. We will keep a persistent data
since boot in NetworkStatsService instead.

Fixed some checkstyle complains in related files as well.

Bug: 79171384
Test: android.app.usage.cts.NetworkUsageStatsTest
      NetworkStatsServiceTest
Change-Id: I50bcf278739135081d522e50b0e88d76fd9ab131
2019-01-22 13:50:35 -08:00
Remi NGUYEN VAN
c904972acd Merge changes Ieef54d84,Ica3e88c2 am: 491f53523a
am: 8e4ce11318

Change-Id: I33fc6ee4cf47676dc2a4a9369dd3fc053dba34ec
2019-01-22 05:22:30 -08:00
Remi NGUYEN VAN
c1c02dcb65 Remove NetworkStack dependencies on hidden members
- DhcpClient only shares its handler with IpClient, and NetworkMonitor
   has its own handler: remove Protocol.BASE_DHCP,
   Protocol.BASE_NETWORK_MONITOR
 - Remove dependency on Network.netid in NetworkMonitor
 - Remove dependency on Sets.newArraySet in DhcpServingParams
 - Remove dependency on formatDuration() in DhcpClient
 - Replace isMetered() with hasCapability() in NetworkMonitor
 - Use WifiManager.isScanAlwaysAvailable instead of reading setting

Test: atest FrameworksNetTests NetworkStackTests
Bug: 112869080
Change-Id: Ieef54d847ddc081fb33cbad0b050b06d2e52548e
2019-01-22 18:48:12 +09:00
Chenbo Feng
5fb25b6389 Merge "Adjust map names due to new bpfloader" am: 9613bfd2a4
am: 59ce36a44d

Change-Id: I28a2e41a354abdd8b2113c927a6489ea8710b431
2019-01-09 11:15:44 -08:00
Treehugger Robot
9613bfd2a4 Merge "Adjust map names due to new bpfloader" 2019-01-09 18:34:49 +00:00
Chenbo Feng
6880d632ab Adjust map names due to new bpfloader
With the new loader support added. The bpf map format is defined by bpf
kernel program as well. Change the netd bpf program to the new format.

Test: CtsUsageStatsTestCases
Bug: 112334572
Change-Id: I34e38e0a8cf0cca54dc52ec897771452f9d90525
2019-01-04 12:06:35 -08:00
Mathew Inwood
8501ae1763 Merge "Limit access to suspected false positives." am: aeda49d185
am: 152d5a5dcd

Change-Id: I8e10322e69d2d479079df5cf8fec0287c7c117f1
2019-01-02 05:00:54 -08:00
Mathew Inwood
55418eada5 Limit access to suspected false positives.
Members modified herein are suspected to be false positives: i.e. things
that were added to the greylist in P, but subsequent data analysis
suggests that they are not, in fact, used after all.

Add a maxTargetSdk=P to these APIs. This is lower-risk that simply
removing these things from the greylist, as none of out data sources are
perfect nor complete.

For APIs that are not supported yet by annotations, move them to
hiddenapi-greylist-max-p.txt instead which has the same effect.

Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.

Bug: 115609023
Test: m
Change-Id: Ia937d8c41512e7f1b6e7f67b9104c1878b5cc3a0
Merged-In: I020a9c09672ebcae64c5357abc4993e07e744687
2018-12-28 14:26:35 +00:00
David Brazdil
a5083783f7 Merge "Annotate two non-SDK methods known to be used by apps" am: de441278e7
am: 32d2f8fe46

Change-Id: I0d1a0e85eebb555ca43c2d43e6c28ce96af94122
2018-12-20 05:59:08 -08:00
David Brazdil
ad857d637a Annotate two non-SDK methods known to be used by apps
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 121237128
Bug: 120783643
Test: m appcompat
Change-Id: Ib7a8bdf3151290aa8a5ca85dc8650612432f0d59
2018-12-20 13:36:21 +00:00
Nicolas Geoffray
955963c109 Merge "Use the boot class loader as parent of system server loader." am: 7baf5a8d73
am: c2a38e56f3

Change-Id: I5b467cd965f89240910f6a286d723a50d621b81b
2018-12-19 01:08:02 -08:00
Nicolas Geoffray
7baf5a8d73 Merge "Use the boot class loader as parent of system server loader." 2018-12-19 08:35:24 +00:00
Nucca Chen
97de461dcb Merge "Add new netd event callback for changes to NAT64 prefix" am: ed30ec8dd1
am: dba2101a3c

Change-Id: I4e263d78c48a07fbcbfddc63e118c45b4cfb9c5a
2018-12-17 19:52:40 -08:00