Commit graph

7,513 commits

Message SHA1
[NS A26] Move available callbacks out of the rematch computation
Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: I6f86add0ccde221c22436ac1995ef6064b3ca69e

Chalard Jean   commited 2019-12-12 13:55:32 +09:00
17d97920bd
[NS A25] Send all listen callbacks after all rematches
Bug: 113554781
Test: ConnectivityServiceTests NetworkStackTests
Change-Id: I2db9535b1d72edd46b968b1bae66b148aa815235

Chalard Jean   commited 2019-12-12 13:55:31 +09:00
65f5a26b8d
[NS A24] Add an object to represent changes in assignment
Test: ConnectivityServiceTest
Change-Id: I703db6d3f039bd67a90fad0eadffc6cfed9a50ee

Chalard Jean   commited 2019-12-12 13:21:43 +09:00
a662979e97
[NS A23.1] Minor cleanup
The argument is always true.

Test: ConnectivityServiceTest
Change-Id: Ibebdae14e63e6baf74db054038ee575ec462f6d5

Chalard Jean   commited 2019-12-10 14:15:15 +09:00
b9c0272643
[NS A23] Move a synchronized block in a central place
As the calls to this apparently need to be synchronized, let's
do it all in the same place instead of in all callers

Test: FrameworksNetTests
Change-Id: I0c097e7756fc155ba0243834b84626e86c68340e

Chalard Jean   commited 2019-12-10 14:15:14 +09:00
8ffefbac16
[NS A22] Small refactoring
The point of this is to be able to move parts of processListenRequests
independently.

Test: FrameworksNetTests
Change-Id: I6c889b15696123c1120221977b0f36fa3d91de56

Chalard Jean   commited 2019-12-10 14:15:14 +09:00
ec70c4f03e
[NS A21] More cleanup
Test: FrameworksNetTests NetworkStackTests
Change-Id: I4771f2e9151ff16a7045d9c3025ac686f244b22d

Chalard Jean   commited 2019-12-10 14:15:14 +09:00
fa8105ac33
[NS A20] Cleanup
A lot of this code can't be triggered at all.
• newNetwork.created in l.6488 is implied by newNetwork.everConnected
  in l.6357
• !newNetwork.isVPN() in l.6488 is implied by the fact that VPNs are
  always foreground, so oldPermission can't != newPermission in l.6488
• updateUids in l.6502 is useless because uids can't change during a
  rematch (because there is no code doing that). Metered state and
  roaming state similarly can't change during a rematch, so
  meteredChanged and roamingChanged are always false
• updateAllVpnCapabilities in l.6537 is useless because VPN do not
  inherit the foreground state of their underlying networks, which
  would be the only reason to call that in l.6537
• Object.equals() in l.6480 is necessary false because at this line
  it is known that the foreground state has changed, which must have
  caused the NET_CAPABILITY_FOREGROUND to be different, so the objects
  can't be equal

Test: FrameworksNetTests NetworkStackTest
Change-Id: I2a52f7f4a085f3eea22a1dd170af8f04671250ff

Chalard Jean   commited 2019-12-10 14:14:57 +09:00
1c89b21fca
Merge "Remove incorrect annotation - @TransportType"
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-12-06 04:50:27 +00:00
644939bad5
Remove incorrect annotation - @TransportType
This annotation is mis-adding by aosp/929879, and now it also
makes compilation failure for Telephony Mainline.

Bug: 145755373
Test: atest FrameworksNetTests
Change-Id: Ic22ce6bf17c4300b8cd52217976bfb215a123f68

lucaslin   commited 2019-12-06 11:17:25 +08:00
7ff9ed145a
Merge "Expose netId to SystemApi"
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-12-05 02:29:41 +00:00
cec4a7df3a
Expose netId to SystemApi
Tethering will be build as unblundled APP. It can't use @hide
API anymore. Expose netId for tethering because it need to set
proxy dns server with netId.

Bug: 144758139
Test: build
Change-Id: Ifefa791940874617bb479f5c23488d14be87f45e

markchien   commited 2019-12-04 14:33:51 +08:00
931b4fae18
Merge "Replace the permission of internal connectivity checks"
Paul Hu   authored and   Gerrit Code Review   commited 2019-12-04 05:59:59 +00:00
af0a3e0525
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

paulhu   commited 2019-12-04 11:44:45 +08:00
d70b7dd6e3
Merge changes Ie756b9aa,I38110f3a
* changes:
  [NS A19] Inline updateCapabilities in rematch.
  [NS A18] Reverse listens and request-availables

Treehugger Robot   authored and   Gerrit Code Review   commited 2019-12-04 02:07:45 +00:00
810e743c54
Merge "Merge Android10 QPR1 into AOSP master"
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-12-03 23:15:02 +00:00
d6c8feb116
Disable a flaky test
Bug: 145513323
Test: FrameworkNetTests
Change-Id: I66e02fdaab2969b77db4a0f0e6fb8b1a981d9350

Chalard Jean   commited 2019-12-03 16:13:22 +09:00
b04416ea86
Merge Android10 QPR1 into AOSP master
Bug: 145570283
Change-Id: I557701733b49b0f231c89165239ba07c0fa288d2

Xin Li   commited 2019-12-02 21:25:07 -08:00
86afa905fd
Merge changes I720a1feb,I9539b8cc,Ib79b777b
am: 230687643c

Change-Id: Ieaa1371f6e52074b76e3353ea9a2653c783ff04e

Chalard Jean   authored and   android-build-merger   commited 2019-12-02 01:51:07 -08:00
75b3919e0c
[NS A19] Inline updateCapabilities in rematch.
This is ugly, but it's a necessary step to improve the code.
Followups will clean this up. Importantly this kind of inlining
will let us break the very confusing apparent loop between
updateCapabilities and rematch.

Test: FrameworksNetTests
Change-Id: Ie756b9aa8066984264717f0b1e1f31606432f1a4

Chalard Jean   commited 2019-12-02 18:44:11 +09:00
95fa3677fc
[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

Chalard Jean   commited 2019-12-02 18:44:10 +09:00
6f4173ec78
Merge changes I720a1feb,I9539b8cc,Ib79b777b
* changes:
  [NS A17] Update linger state after rematching.
  [NS A16] Cleanup
  [NS A15] Move legacy default broadcasts out of the loop

Chalard Jean   authored and   Gerrit Code Review   commited 2019-12-02 09:40:44 +00:00
230687643c
Merge changes I0613c23f,Ibeab8d0a,I8bd668ad,I7d3a16be
am: 604c2121a4

Change-Id: Ibe34e78e53a15e987042703fdd27d6393e4e7d59

Chalard Jean   authored and   android-build-merger   commited 2019-12-01 21:26:44 -08:00
ea7b582312
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

Chalard Jean   authored and   Gerrit Code Review   commited 2019-12-02 05:17:39 +00:00
604c2121a4
[NS A17] Update linger state after rematching.
Test: FrameworksNetTests NetworkStackTests
Change-Id: I720a1feb89088aa123201ef5867de444234343e8

Chalard Jean   commited 2019-12-02 13:02:41 +09:00
41bae5c936
[NS A16] Cleanup
Move LegacyTypeTracker work into a function for readability.

Test: FrameworksNetTests NetworkStackTests
Change-Id: I9539b8cc4422b3a0cc1d3d9b3a44d59dc1905b44

Chalard Jean   commited 2019-12-02 13:02:41 +09:00
4005aeb760
[NS A15] Move legacy default broadcasts out of the loop
Test: FrameworksNetTests NetworkStackTests
Change-Id: Ib79b777b5efda3a4c85c30055f1a6d03d5d04c25

Chalard Jean   commited 2019-12-02 13:02:41 +09:00
76b041667a
[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

Chalard Jean   commited 2019-12-02 13:02:38 +09:00
e55503198b
Merge "Give apps access to the NAT64 prefix."
am: d6d1874f83

Change-Id: I673a44f3f75a2395ae3d9d436c83708f20f414e6

Chalard Jean   authored and   android-build-merger   commited 2019-12-01 18:20:00 -08:00
72a0f88e74
Merge "Give apps access to the NAT64 prefix."
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-12-02 02:05:16 +00:00
d6d1874f83
Merge changes from topic "tether_migrate"
am: 254a71dd7b

Change-Id: I03e43b7a112f91637941e5193bd21b3e714f5dac

Mark Chien   authored and   android-build-merger   commited 2019-11-30 04:26:07 -08:00
29e7ec4550
[Tether07] Migrate Tethering into module
am: 497a062e04

Change-Id: I1aaa034e91eae2d6e9abcbbd70741a54a18b3ddc

markchien   authored and   android-build-merger   commited 2019-11-30 04:25:57 -08:00
7444958737
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

Mark Chien   authored and   Gerrit Code Review   commited 2019-11-30 12:17:47 +00:00
254a71dd7b
Give apps access to the NAT64 prefix.
Apps that do their own DNS queries need to know the NAT64 prefix
to resolve v4 addresses on v6-only networks.

Test: FrameworksNetTests NetworkStackTests
Bug: 144877069
Change-Id: I5a255b7afc2038646b93a0ab893f8ad62d0fb34f

Chalard Jean   authored and   Maciej Żenczykowski   commited 2019-11-30 10:25:02 +00:00
6491fb772c
[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

markchien   authored and   Mark Chien   commited 2019-11-30 10:03:08 +00:00
497a062e04
[NS A13] Move legacy broadcast handling after rematch.
As opposed to other patches in this series, there is a logic change
here. This will send all necessary legacy broadcasts after all
matches have been done.

This should be fine because the callbacks and the broadcasts are
unordered anyway, and the broadcasts are still sent in the same
order as before ; there should not be an observable change from
apps besides some jitter.

Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: Ibeab8d0a9106c5198228888ac33084238c0a4a1a

Chalard Jean   commited 2019-11-29 16:59:31 +09:00
dc623310c4
[NS A12] Move some legacy type tracker handling to a function
It's fine to do this out of the if() clause because :
• If the network newly satisfies a request it is sure to have
  it in the list of requests it satisfies
• If it does not newly satisfy a request and there is still
  a request with a legacy type that it satisfies, then it
  is already remembered by LegacyTypeTracker

As for the VPN, the code always enters the condition anyway.

Test: ConnectivityServiceTest
Change-Id: I8bd668ad27043d6a5036b1b3c52fa5a3146abcfa

Chalard Jean   commited 2019-11-29 16:59:31 +09:00
9fdd38a21a
Add tests for ConnectivityService → BatteryStats messages
Test: ConnectivityServiceTest
Bug: 113554781
Change-Id: I7d3a16be76f606872f8edb84647b9ef94f36cba1

Chalard Jean   commited 2019-11-29 16:59:30 +09:00
c63c19ddce
Merge "Add IpConfiguration parcelable interface implementation to system API"
am: 9ff42e83d1

Change-Id: I3ead12ee9162c16f8f5937cfc74f38071cef41c9

Aaron Huang   authored and   android-build-merger   commited 2019-11-28 02:09:43 -08:00
db770e3ed4
Merge "Add IpConfiguration parcelable interface implementation to system API"
Aaron Huang   authored and   Gerrit Code Review   commited 2019-11-28 09:56:58 +00:00
9ff42e83d1
Add IpConfiguration parcelable interface implementation to system API
API lint robot warnings that parcelable requires writeToParcel
and describeContents.

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

Change-Id: I7acf000c468788c3fdcb47f8601762e7804ab940

Aaron Huang   commited 2019-11-28 07:25:40 +00:00
1841dc26d5
Merge "BitUtils: support packing/unpacking negative long values"
am: d5930606d1

Change-Id: Ibd0c4756fb0f888a506111bb2f33c60debe33d57

Hugo Benichi   authored and   android-build-merger   commited 2019-11-27 07:46:56 -08:00
12ebdfdc5a
Merge "BitUtils: support packing/unpacking negative long values"
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-11-27 15:34:46 +00:00
d5930606d1
BitUtils: support packing/unpacking negative long values
Bug: None
Test: Compiled. New unit tests.
Change-Id: Ia543285e206b0bbc7d64458da10e68a951f9eec1

Hugo Benichi   commited 2019-11-27 11:00:32 +09:00
72da2b0e43
Merge "Refactor based on new NetworkMonitor"
am: 3ad444cb32

Change-Id: I6f2f42dee11b2ee3db9e52817cd7aa871539aaed

Chiachang Wang   authored and   android-build-merger   commited 2019-11-26 04:03:47 -08:00
27f97a21da
Merge "Refactor based on new NetworkMonitor"
Chiachang Wang   authored and   Gerrit Code Review   commited 2019-11-26 10:52:33 +00:00
3ad444cb32
Refactor based on new NetworkMonitor
Bug: 130325409
Test: atest NetworkStackIntegrationTests
Change-Id: I4426be339cb9990c05b3f4fb5666bd70bcd0f78e

Chiachang Wang   commited 2019-11-26 09:10:45 +08:00
f6cf0703a3
Merge "[NS A11] Small refactor"
am: 39a3f236b6

Change-Id: I317e6b99a51ddb0a3e49b08c595eb42f4edad1e9

Chalard Jean   authored and   android-build-merger   commited 2019-11-25 06:09:17 -08:00
ab187ef67c
Merge "Fix hasUseBackgroundNetworksPermission issue."
am: bc582ab167

Change-Id: I6f378dcbbecb9848d02112b2d33c5a0f2d5c9d1f

Paul Hu   authored and   android-build-merger   commited 2019-11-25 06:05:32 -08:00
c4ca8c9877
Merge "Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN"
am: acac9a269b

Change-Id: I2df410b6ceb0f9a28ee0f171bb2ff7cadd4cdefb

Lucas Lin   authored and   android-build-merger   commited 2019-11-25 05:56:29 -08:00
e00efe4c24