Commit Graph

93642 Commits

Author SHA1 Message Date
Luke Huang
1711278ce2 Merge "Use IDnsResolver instead of INetd for resolver related binder commands"
am: b9ef4dd299

Change-Id: Icca07604bc8f922c51493e72fde8c7377105bf8b
2019-03-29 01:57:44 -07:00
Luke Huang
b9ef4dd299 Merge "Use IDnsResolver instead of INetd for resolver related binder commands" 2019-03-29 08:45:19 +00:00
Luke Huang
391b3aa532 Merge "Fix cancellation race problem for aysnc DNS API"
am: 1859ae7e7d

Change-Id: I7e22c38c502fa0181e97057d9992c2a43c11b378
2019-03-28 20:32:40 -07:00
Luke Huang
1859ae7e7d Merge "Fix cancellation race problem for aysnc DNS API" 2019-03-29 03:15:32 +00:00
Varun Anand
09ef7691f5 Merge changes from topic "vpn_data_accounting"
am: 6c93e5378a

Change-Id: Iaa4b2dd9be2fc6e9833c6c846b6858aab507ca8b
2019-03-28 18:06:12 -07:00
Varun Anand
6c93e5378a Merge changes from topic "vpn_data_accounting"
* changes:
  Move BatteryStats and StatsCompanionService to use NetworkStatsService.
  NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
  Take all VPN underlying networks into account when migrating traffic for VPN uid.
2019-03-29 00:40:53 +00:00
Hans Boehm
0e63b9ce98 Merge "Clarify hasSelection description"
am: 6bd5cf2bcc

Change-Id: Ia7f3d0eae07f978ad29a7f3e127f1bf71c14c8dc
2019-03-28 15:39:43 -07:00
Hans Boehm
6bd5cf2bcc Merge "Clarify hasSelection description" 2019-03-28 22:21:00 +00:00
Varun Anand
346aa87544 Move BatteryStats and StatsCompanionService to use NetworkStatsService.
This CL is a manual merge of http://ag/c/6015966/3.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: manual test: verified that BatteryStats are correctly accounting
for VPN traffic.
Change-Id: I5b07ce70ac58bdcbebc3114bfe9fd411469d57af
Merged-In: I230c1edbf64cfeb3dbb560db368b5e420f7b79a4
2019-03-28 10:31:51 -07:00
Varun Anand
29d2ef2fe1 NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
This API is similar to one provided by NetworkStatsFactory with the
difference that NSS also migrates traffic from VPN UID to other apps.

Since traffic can only be migrated over NetworkStats delta, NSS
therefore maintains NetworkStats snapshot across all UIDs/ifaces/tags.

This snapshot gets updated whenever NSS records a new snapshot
(based on various hooks such as VPN updating its underlying networks,
network getting lost, etc.), or getDetailedUidStats API is invoked by
one of its callers.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: manually verified that battery stats are migrating traffic off of
TUN (after patching above CL where we point BatteryStats to use this
API).
Change-Id: Ib0f0c2d4d41ee1d7a027ea9da457baaf198d649e
2019-03-28 10:31:51 -07:00
Varun Anand
95aa6d446f Take all VPN underlying networks into account when migrating traffic for
VPN uid.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: Manually verified on device that stats from VPN UID are moved
      appropriately based on its declared underlying network set.
Test: vogar --mode app_process --benchmark NetworkStatsBenchmark.java

Change-Id: I9d8d0cc58d18002c1c96f8ddff780ef8dc452d21
2019-03-28 10:31:49 -07:00
Luke Huang
5386f49418 Fix cancellation race problem for aysnc DNS API
This problem might cause double-close fd and result in app crash
or unexpected behaviour

Bug: 129317069
Test: atest DnsResolverTest
      manual test with delaying response callback/cancel
Change-Id: I223234f527edafc51d34fa6be390419c05def8d8
2019-03-28 19:46:56 +08:00
Nicolas Geoffray
7561d4667c Merge "Revert "Preload non-bootclasspath Java lib ClassLoaders.""
am: d08c3b655b

Change-Id: Id04898d99862cc1fff248fc9ba466faf55e30eb7
2019-03-28 02:39:21 -07:00
Nicolas Geoffray
d08c3b655b Merge "Revert "Preload non-bootclasspath Java lib ClassLoaders."" 2019-03-28 09:27:05 +00:00
Nicolas Geoffray
d3c2bc5a4e Revert "Preload non-bootclasspath Java lib ClassLoaders."
This reverts commit 1b11aaaf9b.

Bug: 128529256
Bug: 127406460

Reason for revert: Breaks FSI

Change-Id: Ie9775779cda7b376c36493f3ce3246eafc672c59
2019-03-28 09:25:11 +00:00
Jack Yu
8b855b16f3 Merge "Update Android Beam deprecated API description"
am: 527b6de018

Change-Id: Icf9d876a705f4f10365c836d3e0c15f476ce113e
2019-03-27 18:52:23 -07:00
Treehugger Robot
527b6de018 Merge "Update Android Beam deprecated API description" 2019-03-28 01:33:58 +00:00
Junyu Lai
abb63e3a99 Merge changes I0baf582f,I4bba01ba
am: e5ee6b9b31

Change-Id: Ie69a03e6c61e172ba7e9948706fe6780be61a41b
2019-03-27 18:17:27 -07:00
Junyu Lai
e5ee6b9b31 Merge changes I0baf582f,I4bba01ba
* changes:
  Block unpriviledged apps which create keepalives with null fd
  Fix keepalive don't get removed when lower layer error
2019-03-28 00:53:20 +00:00
Steven Moreland
625d63ed64 Merge "Preload non-bootclasspath Java lib ClassLoaders."
am: 213812ba28

Change-Id: Ie16e82383bab53b5f92258289bf50ba9d7a897cd
2019-03-27 16:18:22 -07:00
Steven Moreland
213812ba28 Merge "Preload non-bootclasspath Java lib ClassLoaders." 2019-03-27 22:59:49 +00:00
Andrei-Valentin Onea
6acb2106f7 Merge changes from topic "unsupported-internal"
am: 2f573ac6f8

Change-Id: I0fedf5c754a59a9c57b3abd00adff00d58b4930c
2019-03-27 06:56:12 -07:00
junyulai
15178155e0 Block unpriviledged apps which create keepalives with null fd
Currently, socketKeepalive implementation is accepting null fd
due to backward compatibility with legacy packet keepalive API.
However, due to lack of the fd, the service cannot guarantee the
port is not reused by another app if the caller release the port
for any reason.

Thus, grant the null fd access only for priviledged apps.

This commit also address some comments from aosp/918533.

Bug: 126699232
Test: atest FrameworksNetTests
Change-Id: I0baf582ff4ca8af6082c3754e8dfbcd867f39792
2019-03-27 19:51:08 +08:00
Andrei Onea
eecddd581e Add @UnsupportedAppUsage annotations
For packages:
  com.android.internal.app
  com.android.internal.database
  com.android.internal.http
  com.android.internal.os
  com.android.internal.policy
  com.android.internal.util
  com.android.internal.view
  com.android.internal.view.menu
  com.android.internal.widget
  com.android.server.net
  com.android.server
  com.google.android.collect
  com.google.android.util

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Merged-In: Ia5306f4713298b46ae3aba6fc9d87fae41f8a593
Change-Id: Ie26033d486033289ad3e010a534a921d29c3b2ca
2019-03-27 11:22:20 +00:00
Luke Huang
6591477a5b Use IDnsResolver instead of INetd for resolver related binder commands
migrate resolver related commands from INetd to IDnsResolver

Bug: 126141549
Test: atest FrameworksNetTests ConnectivityServiceTest Nat464XlatTest
      atest DnsManagerTest
Change-Id: I559c0c1304d53dde408c062e1a52e742595e7cbe
2019-03-27 17:39:07 +08:00
Steven Moreland
1b11aaaf9b Preload non-bootclasspath Java lib ClassLoaders.
This is specifically for HIDL but is applicable to other libs.

Classes on the bootclasspath are implicitly used by apps. For this
reason, many classes should not go there. However, there are some
libraries which are used by many apps/processes which are still
nice to preload the ClassLoaders of.

Now, cacheNonBootclasspathSystemLibs in ApplciationLoaders keeps
a map of jar -> ClassLoader in zygote to be retrieved by child
processes.

Bug: 128529256
Bug: 127406460
Test: boot Pixel 2, verify libs are preloaded and used, try apps that
    use these libraries.
Test: grep for ClassLoaderContext errors, for instance:
 - ClassLoaderContext shared library size mismatch
 - ClassLoaderContext classpath element mismatch
Test: showmap on various processes which use the preloaded libs.

Change-Id: I351bf1679e9a928c10dca860b6cd6cb414c3bb8e
2019-03-27 01:40:05 -07:00
Remi NGUYEN VAN
4864ffd97e Merge "Use SystemApi framework parcelables directly"
am: 021ea66aea

Change-Id: I33ab2a6935edc25eb0cfcaee258ef6da92ed2c83
2019-03-26 20:09:17 -07:00
Treehugger Robot
021ea66aea Merge "Use SystemApi framework parcelables directly" 2019-03-27 02:55:15 +00:00
Remi NGUYEN VAN
266868246a Use SystemApi framework parcelables directly
Remove StaticIpConfigurationParcelable and ApfCapabilitiesParcelable and
use StaticIpConfiguration and ApfCapabilities directly.
These two classes are SystemApi and defined in framework.jar, so no
stability guarantee is needed: the parceled and unparceled class will
always be the framework.jar version.

Bug: 126477266
Fixes: 126477266
Test: atest FrameworksNetTests NetworkStackTests
Test: flashed, booted, WiFi and captive portal works.
Change-Id: Iaf80ae23e003752cc6d2300700021931923b6533
2019-03-26 12:05:27 +09:00
Remi NGUYEN VAN
3d48153a8f Merge "Add nullability annotations"
am: a1ee1fc888

Change-Id: I47ec92d406b16eaff049ad4a5af1b1b407418e4d
2019-03-25 06:33:40 -07:00
Treehugger Robot
a1ee1fc888 Merge "Add nullability annotations" 2019-03-25 13:19:19 +00:00
Junyu Lai
08e1787088 Merge "Fix SocketKeepalive APIs which do not meet API review requirement"
am: 8324c3e7e5

Change-Id: Id82be12a54e676c4ad18900ae910e6d08079e62c
2019-03-25 03:57:32 -07:00
Junyu Lai
8324c3e7e5 Merge "Fix SocketKeepalive APIs which do not meet API review requirement" 2019-03-25 10:42:37 +00:00
Remi NGUYEN VAN
2704d2f4f6 Merge "Add nullable annotations to startActivityAsUser"
am: 743a4b7872

Change-Id: Ifa44f448fd37ecc2051a16d979717b8aeaa05ebf
2019-03-25 03:41:34 -07:00
Treehugger Robot
743a4b7872 Merge "Add nullable annotations to startActivityAsUser" 2019-03-25 10:29:22 +00:00
Remi NGUYEN VAN
ef8f79292f Add nullable annotations to startActivityAsUser
This change is already in internal branches.

Test: m
Bug: 128935825
Change-Id: I6f6c939c26215fbc113a6edafbdf865d365c9105
Merged-In: I9b61d833a68528f168611c83a8539eb095a42e01
2019-03-25 16:59:27 +09:00
junyulai
0c66697770 Fix SocketKeepalive APIs which do not meet API review requirement
Per API review, change the use of FileDescriptor to
ParcelFileDescriptor.
This change also fix nullability according to API review
feedbacks.

Fix: 126698610
Fix: 126699425
Fix: 126699232
Fix: 126700278

Test: 1. m -j
      2. atest FrameworksNetTests --generate-new-metrics 50
      3. m -j doc-comment-check-docs
Change-Id: I19476c50dd1ca290bf3f41973829da2bd229796a
2019-03-25 15:56:35 +08:00
Remi NGUYEN VAN
45ecef3b4c Add nullability annotations
Add nullability annotations on the following methods:
 - StaticIpConfiguration#getRoutes
 - ValidationProbeEvent#getProbeName

Test: m
Bug: 128935825
Change-Id: I1c17d200f3125e684c4e4d67b2f7f079eda310b6
2019-03-25 16:46:34 +09:00
Jack Yu
65b438b07a Update Android Beam deprecated API description
Bug: 127532226
Test: None
Change-Id: Id3a769c4cf97bbaee751fd5dc0831bdc5993ef50
2019-03-25 06:29:55 +00:00
Remi NGUYEN VAN
34198fac89 Merge "Separate NetworkMonitor/framework portal URL"
am: bcd3bed561

Change-Id: I1926527f7875e459b4d3c84bfcd8b3aac9562cae
2019-03-24 20:02:39 -07:00
Remi NGUYEN VAN
bcd3bed561 Merge "Separate NetworkMonitor/framework portal URL" 2019-03-25 02:50:37 +00:00
Remi NGUYEN VAN
79f2cf93d2 Merge "Fix API in CaptivePortal and ConnectivityManager"
am: 3c959339ae

Change-Id: I4cc3c61232c74bafe4eb549c1aba5de20a8bb3ff
2019-03-24 19:46:32 -07:00
Treehugger Robot
3c959339ae Merge "Fix API in CaptivePortal and ConnectivityManager" 2019-03-25 02:37:28 +00:00
Remi NGUYEN VAN
150a395303 Merge "Refactor DhcpErrorEvent error codes"
am: ed2e54a521

Change-Id: I5bbac5cedb73e1a7705914f190ff22f753791e96
2019-03-24 18:46:13 -07:00
Remi NGUYEN VAN
e2365d6644 Fix API in CaptivePortal and ConnectivityManager
- Remove CaptivePortal constructor from SystemApi. This constructor was
   added in Q timeframe and ends up being unnecessary since
   CaptivePortal creation was refactored to ConnectivityService because
   of visibility issues on ICaptivePortal.
 - Rename getAvoidBadWifi to shouldAvoidBadWifi
 - Add permission annotation for shouldAvoidBadWifi

(already merged in internal as:
I09545c00af3519dbf141dd5951b28f49e37b3e80)

Test: flashed, WiFi and captive portal works
Bug: 128935314
Bug: 128935673
Merged-In: I09545c00af3519dbf141dd5951b28f49e37b3e80
Change-Id: I7395d4a4db6a64398a827692aee1956c011873e5
2019-03-25 01:43:48 +00:00
Remi NGUYEN VAN
ed2e54a521 Merge "Refactor DhcpErrorEvent error codes" 2019-03-25 01:33:59 +00:00
Andrei-Valentin Onea
02f43694e4 Merge "Add @UnsupportedAppUsage annotations"
am: 88e2a9aaee

Change-Id: I63ae22279aa46522b652cdc9329567a04a7ef136
2019-03-22 06:25:44 -07:00
Andrei Onea
fbc8cfdc94 Add @UnsupportedAppUsage annotations
For packages:
  android.companion
  android.filterfw
  android.hardware.camera2.utils
  android.inputmethodservice
  android.net.nsd
  android.os
  android.preference
  android.security.keymaster
  android.service.dreams
  android.telecom
  android.telephony.ims.compat.feature
  android.telephony
  android.util
  android.view.accessibility
  android.media.effect

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Merged-In: I9c2f8347952f3cc65759472b0e1a2717b285e44e
Change-Id: I14793863cf815fa3383fec6c6bf5a9365c2e17eb
2019-03-22 11:43:11 +00:00
Remi NGUYEN VAN
c32d602c9c Refactor DhcpErrorEvent error codes
Addresses review comments on aosp/930843. The new format is more
concise.

Resulting constant values are unchanged as demonstrated by the absence
of change in the API file.

Test: m
Change-Id: I2e086c0411bce1d5b528de50b59dcf51e390681f
2019-03-22 15:45:04 +09:00
Remi NGUYEN VAN
0bd294cd55 Separate NetworkMonitor/framework portal URL
The framework cannot return URLs used by the updatable NetworkStack,
which may use configurable URLs, changing URLs, or mechanisms not
involving URLs to detect captive portals. NetworkMonitor has already
been using random fallback URLs for a while that do not match the value
returned by ConnectivityManager#getCaptivePortalServerUrl.

With this change, the default value returned by the framework is
configured in framework resources as
config_networkDefaultCaptivePortalServerUrl. NetworkMonitor behavior may
change as it is an updatable component, but the current URL is
configured in NetworkMonitor resources as
config_captive_portal_http_url.

Test: flashed, booted, WiFi and captive portal working
Test: ConnectivityManager#getCaptivePortalServerUrl returns correct
      value.
Bug: 127908503
Change-Id: I371dedc5b22efa909d7fd58e1ebe9b8aaced9780
2019-03-22 15:11:14 +09:00