Commit Graph

1243 Commits

Author SHA1 Message Date
Automerger Merge Worker
df7fa0d965 Merge "[SP01] Add NetworkStats to system API" am: 0104ecc3b8 am: 08ad8528d7 am: 95bccf8d85
Change-Id: I1bb272727cbaec0102669b3f3b8141994f8e1f9a
2020-01-09 09:37:50 +00:00
junyulai
18c92ac796 [SP01] Add NetworkStats to system API
In order to let external module report their network stats,
expose necessary APIs to construct NetworkStats object.

Test: atest FrameworksNetTests CtsUsageStatsTestCases
Test: m doc-comment-check-docs
Bug: 130855321
Change-Id: Id3ec8aaff3df67948c25eac2319a74cf33a27979
2020-01-09 03:11:22 +00:00
Automerger Merge Worker
3bc8383bbf Merge "Add FrameworksNetIntegrationTests to postsubmit" am: 062a4df489 am: 81a121d5b5 am: f4af1273d1
Change-Id: Ia0068ec43a68330d97a7c8067e5a5aec5356fad9
2020-01-07 13:30:19 +00:00
Remi NGUYEN VAN
062a4df489 Merge "Add FrameworksNetIntegrationTests to postsubmit" 2020-01-07 12:16:34 +00:00
Automerger Merge Worker
bb5729e19d Merge changes If28f0be6,If0f80067 am: 96529ad7fc am: 6df702d3c9 am: b071735cd8
Change-Id: I826f1f94ea62eb5bd93e5d7edcbe278c8247ae2d
2020-01-07 07:31:36 +00:00
Lorenzo Colitti
b32fb84a4b Make LinkPropertiesTest pass, and fix an NPE.
aosp/973686 added the DHCP server address to LinkProperties, but
it did not have any tests, and would throw NPE when parceling a
LinkProperties that did not have a DHCP server.

Add tests and fix the bug.

Bug: 134098566
Test: unit test now passes
Change-Id: If28f0be650963e8d9af7eb53f6940824582a2db3
2020-01-07 13:02:32 +09:00
Remi NGUYEN VAN
cddc9a2621 Add FrameworksNetIntegrationTests to postsubmit
After checking flake metrics for this test, it can be added in
presubmit.

Test: this change is to check results in postsubmit
Change-Id: I70cb149629a3e959e29cfd21048e7b148bd29fe9
2020-01-06 22:03:43 +09:00
Automerger Merge Worker
8705ac9fe2 Merge "Merge "Add permissions for FrameworksNetIntegrationTests" am: eb1eac5931 am: 5d64473716" into qt-qpr1-dev-plus-aosp am: 68c7733ebe
Change-Id: If2d58d553dacfa675638b215df4b17bd96e3b9bb
2020-01-06 05:30:46 +00:00
paulhu
e8fea0957e Add permissions for FrameworksNetIntegrationTests
The protected permissions were changed in some connectivity APIs
since aosp/1099096. Add required permissions for
FrameworksNetIntegrationTests.

Bug: 147121740
Test: atest FrameworksNetIntegrationTests
Change-Id: I38ba5c8e93fd5bc94371b2a02a280f503f2e1367
2020-01-06 09:30:03 +08:00
markchien
b0bb7865e0 [Tether13] Move TetheringManager into framework
Move tethering out of ConnectivityService. All client would
use TetheringManager to talk with TetheringService directly.

Bug: 144320246
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
2019-12-20 10:31:31 +08:00
markchien
4f94981670 [Tether13] Move TetheringManager into framework
Move tethering out of ConnectivityService. All client would
use TetheringManager to talk with TetheringService directly.

Bug: 144320246
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
Merged-In: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
2019-12-19 20:53:06 +08:00
Automerger Merge Worker
8cec43be41 Merge "Fix parceling of LinkProperties Inet6Addr" am: 87c9d38d1e am: c7e09e3c83 am: 0b0d019da8
Change-Id: I6692a91c3e00fb8726ed4914f7d7e3c22874a068
2019-12-19 03:46:11 +00:00
Remi NGUYEN VAN
e50cd96c1d Fix parceling of LinkProperties Inet6Addr
IPv6 addresses parceled for DNS servers, private DNS servers, PCSCF
servers were parceled without the scope. This causes issues with
link-local DNS servers.

Test: atest FrameworksNetTests
Bug: 145181158
Change-Id: I0ed24e51d4d0656f4a1f932b5e9f646b35b4b971
2019-12-18 19:52:30 +09:00
Aaron Huang
70061ab8f1 Add keepalive related methods and fields to system APIs
Add KeepalivePacketData to system API for mainline support.
Also, remove InvalidPacketException class from SocketKeepalive
and create a new InvalidPacketException class in android.net

Bug: 139268426
Bug: 135998869
Bug: 138306002
Test: atest FrameworksNetTests
      atest NetworkStackTests
      atest FrameworksTelephonyTests
      ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh
      atest android.net.cts
      atest android.net.wifi.cts
      atest android.telephony.cts

Change-Id: I2d982e8abb5cb6b4c74a20483550b18cf814320d
2019-12-13 23:05:37 +08:00
Automerger Merge Worker
9efe42a177 Merge changes Ie756b9aa,I38110f3a am: 810e743c54 am: 8324d9830c
Change-Id: I884650a0a0fbf1a96f81ca927886eb2a563f4e28
2019-12-04 19:56:21 +00:00
Paul Hu
af0a3e0525 Merge "Replace the permission of internal connectivity checks" 2019-12-04 05:59:59 +00:00
Paul Hu
dd32fc08e7 Merge "Replace the permission of internal connectivity checks" 2019-12-04 05:52:01 +00:00
paulhu
ec0a963cea Replace the permission of internal connectivity checks
A number of connectivity checks that protect system-only methods
check for CONNECTIVITY_INTERNAL, but CONNECTIVITY_INTERNAL is a
signature|privileged permission. We should audit the permission
checks, and convert checks that protect code that should not be
called outside the system to a signature permission. So replace
all CONNECTIVITY_INTERNAL to other proper permissions.

Bug: 32963470
Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest
Change-Id: I8f2dd1cd0609056494eaf612d39820e273ae093f
2019-12-04 11:45:51 +08:00
paulhu
d70b7dd6e3 Replace the permission of internal connectivity checks
A number of connectivity checks that protect system-only methods
check for CONNECTIVITY_INTERNAL, but CONNECTIVITY_INTERNAL is a
signature|privileged permission. We should audit the permission
checks, and convert checks that protect code that should not be
called outside the system to a signature permission. So replace
all CONNECTIVITY_INTERNAL to other proper permissions.

Bug: 32963470
Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest
Change-Id: I8f2dd1cd0609056494eaf612d39820e273ae093f
Merged-In: I8f2dd1cd0609056494eaf612d39820e273ae093f
2019-12-04 11:44:45 +08:00
Treehugger Robot
810e743c54 Merge changes Ie756b9aa,I38110f3a
* changes:
  [NS A19] Inline updateCapabilities in rematch.
  [NS A18] Reverse listens and request-availables
2019-12-04 02:07:45 +00:00
Automerger Merge Worker
7465ce4923 Merge "Disable a flaky test" am: 932dda858a am: 18946e3c78
Change-Id: Ia3596b558fb09600e7d9a16f0dce03d4402ee653
2019-12-03 16:51:32 +00:00
Chalard Jean
b04416ea86 Disable a flaky test
Bug: 145513323
Test: FrameworkNetTests
Change-Id: I66e02fdaab2969b77db4a0f0e6fb8b1a981d9350
2019-12-03 16:13:22 +09:00
Chalard Jean
6f4173ec78 [NS A18] Reverse listens and request-availables
This is a long standing bug that happens to now be trivial
to fix, and also be beneficial for refactoring

Test: FrameworksNetTests NetworkStackTests
Change-Id: I38110f3a4a75936ea755788e7f9fee67863e14be
2019-12-02 18:44:10 +09:00
Chalard Jean
0f5ed2269c Merge changes I0613c23f,Ibeab8d0a,I8bd668ad,I7d3a16be am: 604c2121a4 am: ea7b582312
am: 1922a45e9d

Change-Id: I4540ad08fbb1ccabf0a19f73bc36611194ef8bfa
2019-12-01 21:37:03 -08:00
Chalard Jean
604c2121a4 Merge changes I0613c23f,Ibeab8d0a,I8bd668ad,I7d3a16be
* changes:
  [NS A14] Move code notifying battery stats in its right place
  [NS A13] Move legacy broadcast handling after rematch.
  [NS A12] Move some legacy type tracker handling to a function
  Add tests for ConnectivityService → BatteryStats messages
2019-12-02 05:17:39 +00:00
Chalard Jean
e55503198b [NS A14] Move code notifying battery stats in its right place
This should be done once every time an interface comes online.
Doing this in updateLinkProperties guarantees this happens every
time a new interface comes online, but it doesn't do it more
often than needed.

Test: FrameworksNetTests NetworkStackTests
Change-Id: I0613c23f44192944266d76107308da8d1c541d1c
2019-12-02 13:02:38 +09:00
Mark Chien
254a71dd7b Merge changes from topic "tether_migrate"
* changes:
  [Tether10]Remove UserManagerInternal usage in Tethering
  [Tether07] Migrate Tethering into module
  [Tether07] Clean up build rule for libtetheroffloadjni
2019-11-30 12:17:47 +00:00
markchien
497a062e04 [Tether07] Migrate Tethering into module
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.

Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
      -atest TetheringTests
      -atest FrameworksNetTests

Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
Merged-In: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
2019-11-30 10:03:08 +00:00
Chalard Jean
c63c19ddce Add tests for ConnectivityService → BatteryStats messages
Test: ConnectivityServiceTest
Bug: 113554781
Change-Id: I7d3a16be76f606872f8edb84647b9ef94f36cba1
2019-11-29 16:59:30 +09:00
markchien
0eda8558ae [Tether07] Migrate Tethering into module
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.

Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
      -atest TetheringTests
      -atest FrameworksNetTests

Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
2019-11-29 07:05:21 +00:00
Hugo Benichi
97e58950a8 Merge "BitUtils: support packing/unpacking negative long values" am: d5930606d1 am: 12ebdfdc5a
am: 33dd2dc700

Change-Id: Iaa8c4084f0754781ea3e6a0a9202d9e102d5f074
2019-11-27 07:58:33 -08:00
Treehugger Robot
d5930606d1 Merge "BitUtils: support packing/unpacking negative long values" 2019-11-27 15:34:46 +00:00
Hugo Benichi
72da2b0e43 BitUtils: support packing/unpacking negative long values
Bug: None
Test: Compiled. New unit tests.
Change-Id: Ia543285e206b0bbc7d64458da10e68a951f9eec1
2019-11-27 11:00:32 +09:00
Chiachang Wang
735e7fae8f Merge "Refactor based on new NetworkMonitor" am: 3ad444cb32 am: 27f97a21da
am: 28e85dcd62

Change-Id: I7b5bb41d2e5d99a81565506a4274a38156e3afc2
2019-11-26 04:15:47 -08:00
Chiachang Wang
3ad444cb32 Merge "Refactor based on new NetworkMonitor" 2019-11-26 10:52:33 +00:00
Chiachang Wang
f6cf0703a3 Refactor based on new NetworkMonitor
Bug: 130325409
Test: atest NetworkStackIntegrationTests
Change-Id: I4426be339cb9990c05b3f4fb5666bd70bcd0f78e
2019-11-26 09:10:45 +08:00
Paul Hu
2dd1f14da1 Merge "Fix hasUseBackgroundNetworksPermission issue." am: bc582ab167 am: c4ca8c9877
am: 92079abc2d

Change-Id: I8a1575dedd6e3b7a8b60ee2ffd475d790aec55c4
2019-11-25 10:35:55 -08:00
Lucas Lin
a1265ce930 Merge "Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN" am: acac9a269b am: e00efe4c24
am: 7e76a7bdb8

Change-Id: I9539e73842040e3a38a64c4b4863adfe32c893e9
2019-11-25 10:33:04 -08:00
Paul Hu
bc582ab167 Merge "Fix hasUseBackgroundNetworksPermission issue." 2019-11-25 08:41:05 +00:00
Lucas Lin
acac9a269b Merge "Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN" 2019-11-25 08:14:09 +00:00
paulhu
121b2fb600 Fix hasUseBackgroundNetworksPermission issue.
PermissionMonitor#hasUseBackgroundNetworksPermission only uses
the first package name of the uid for checking permission.
This is incorrect since each package declared different
permissions. So using the mApps which already checked both
network and using restricted network permissions. If uid is in
the mApps list that means uid has one of permission at least.

Bug: 135897744
Test: atest FrameworksNetTests
Change-Id: I3500a03ce06b5b822311ad0c67b606ce4039216a
2019-11-24 22:27:32 +08:00
lucaslin
78bfa8c92d Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN
NetworkNotificationManager will only get the first transport
type from the NetworkCapabilities of network, and if the device
connects to a VPN and its underlying network is wifi, then the
first finding transport type will be TRANSPORT_WIFI. So, if the
private DNS is broken when device connected to VPN,
NetworkNotificationManager will try to get the SSID for the
title of notification but failed. For this kind of case, the
title of PRIVATE_DNS_BROKEN notification will show
"null has no internet access".

Bug: 143340533
Test: 1. Build pass.
      2. Connect to VPN and let private DNS to be broken, check
      title of PRIVATE_DNS_BROKEN notification.
      3. atest FrameworksNetTests

Change-Id: I1ed018cc8774d4fce4b94854f8e8703a28818463
2019-11-22 12:46:32 +08:00
Chalard Jean
10d53ec99a Merge "Rename waitForConnectivityBroadcast" am: eb6a236187 am: 4073f980bf
am: c16dd33261

Change-Id: I9c3197407c99bb209700364686ee64d6ccb07a06
2019-11-20 06:21:12 -08:00
Chalard Jean
4870538794 Merge "Add tests for the legacy broadcast" am: 840102cf8d am: d0d5ff5d7c
am: d7e3abc2e7

Change-Id: Ifc56e73f7eeaa22d8f16fcd50083f0b0fa37dc95
2019-11-19 19:43:42 -08:00
Chalard Jean
ba1a47dd75 Rename waitForConnectivityBroadcast
This doesn't wait, so it was ill-named.
Test: ConnectivityServiceTest

Change-Id: I15e5083f961e415b1d2d870e49c177fc84f0312c
2019-11-19 22:41:09 +09:00
Chalard Jean
840102cf8d Merge "Add tests for the legacy broadcast" 2019-11-19 13:32:17 +00:00
Chalard Jean
53f3e0c141 Add tests for the legacy broadcast
Test: this
Change-Id: I0777bf443f65d894eaab9b800db40c1caf6520fe
2019-11-19 21:08:44 +09:00
Jayachandran Chinnakkannu
0072e72ac1 Merge "Remove usage of Telephonymanager getDefault() and from() hidden APIs" am: 73e22ad21d am: c9c264b861
am: f1b55ba4af

Change-Id: Ief1f090f3664d583565f291c89357bfbac58fe17
2019-11-18 01:09:40 -08:00
Jayachandran C
4022aa3829 Remove usage of Telephonymanager getDefault() and from() hidden APIs
This CL replaces with getSystemService(TelephonyManager.class)

Bug: 140768340
Test: atest frameworks/base/tests/net
Change-Id: I0f14cc5440fa85c81ab90f3199e9e91c1b00f5e1
2019-11-15 19:26:33 -08:00
Remi NGUYEN VAN
5057703a30 Merge "Add permissions to NetIntegrationTests manifest" am: 541077b76a am: 4a0d8ff37e
am: 81dc489a66

Change-Id: I33f628f9845d672edce17807f32819e31549eefd
2019-11-11 21:54:17 -08:00