Commit graph android_packages_modules_Co.../services
Message SHA1
Merge "Remove tlsFingerprints init value"
Wayne Ma   authored and   Gerrit Code Review   commited 2019-12-26 07:13:05 +00:00
2a479ab133
[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

markchien   commited 2019-12-19 20:53:06 +08:00
5776f96096
Remove tlsFingerprints init value
Initializing the value is no longer necessary because ResolverParamsParcel has
 a default value now

Bug:146100043
Test: FrameworksNetTests pass
Change-Id: Ieb151c0cbb330d25f887cbd2eba9db392699d36e

waynema   commited 2019-12-19 11:39:44 +08:00
c4e888bf64
Merge changes from topic "dec13_netrevert"
* changes:
  Revert "[NS A24] Add an object to represent changes in assignment"
  Revert "[NS A25] Send all listen callbacks after all rematches"
  Revert "[NS A26] Move available callbacks out of the rematch computation"
  Revert "[NS A27] Remove useless logs and a useless var"

Andrew Chant   authored and   Gerrit Code Review   commited 2019-12-14 07:10:08 +00:00
9ea156af87
Revert "[NS A24] Add an object to represent changes in assignment"
This reverts commit c375dccad3.

Reason for revert: Toggling wifi on/off causes networking to
 stop working with these four patches applied.
Bug: 146230156

Change-Id: Ie0217796c89abf0dc86e6a4f8324811155dc57cd

Andrew Chant   commited 2019-12-14 03:35:07 +00:00
6b569b2d62
Revert "[NS A25] Send all listen callbacks after all rematches"
This reverts commit b56e56916f.

Reason for revert: Toggling wifi on/off causes networking to
 stop working with these four patches applied.
Bug: 146230156

Change-Id: Icd368df5ef76991dd2b4c1fa530cbc5fae2f61fa

Andrew Chant   commited 2019-12-14 03:33:51 +00:00
9e299b5f30
Revert "[NS A26] Move available callbacks out of the rematch computation"
This reverts commit be083a195f.

Reason for revert: Toggling wifi on/off causes networking to
 stop working with these four patches applied.
Bug: 146230156

Change-Id: I9af7f8b9af1a6279f2b9f1249824da705164c6b5

Andrew Chant   commited 2019-12-14 03:32:41 +00:00
6f9f854916
Revert "[NS A27] Remove useless logs and a useless var"
This reverts commit dbb4dff52e.

Reason for revert: Toggling wifi on/off causes networking to
 stop working with these four patches applied.
Bug: 146230156

Change-Id: I6c75ac179bcc08cc5979194eea69525b333e2ba7

Andrew Chant   commited 2019-12-14 03:31:20 +00:00
06a8edd342
Merge changes I4b793e86,I6f86add0,I2db9535b,I703db6d3
* changes:
  [NS A27] Remove useless logs and a useless var
  [NS A26] Move available callbacks out of the rematch computation
  [NS A25] Send all listen callbacks after all rematches
  [NS A24] Add an object to represent changes in assignment

Chalard Jean   authored and   Gerrit Code Review   commited 2019-12-13 06:50:36 +00:00
ff54f522a6
Fix a doc
Test: FrameworksNetTests
Change-Id: I5c9aeb627d9f22aa84bc134b6c7d3c15f237a775

Chalard Jean   commited 2019-12-12 13:56:13 +09:00
2e3154435f
[NS A27] Remove useless logs and a useless var
These logs haven't found a bug in a long time and we now have
some structural guarantees that the conditions they check for
can't happen (like the checks that everything is happening on
the same thread).
Maybe we'll reinstate similar checks later, but for now they
are in the way and removing them is a small sacrifice for the
intended benefit.

The local was simply not used any more.

Test: FrameworksNetTests
Change-Id: I4b793e86039c204a038c1b0fecbf8a4927eef48d

Chalard Jean   commited 2019-12-12 13:55:32 +09:00
dbb4dff52e
[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
be083a195f
[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
b56e56916f
[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
c375dccad3
[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
05cbe97f28
[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
05edd05f53
[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
cd397a2042
[NS A21] More cleanup
Test: FrameworksNetTests NetworkStackTests
Change-Id: I4771f2e9151ff16a7045d9c3025ac686f244b22d

Chalard Jean   commited 2019-12-10 14:15:14 +09:00
1123f5d067
[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
5c4bddb8cd
Merge "Remove incorrect annotation - @TransportType"
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-12-06 04:50:27 +00:00
ac81b72e22
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
387ce1a837
Merge "Replace the permission of internal connectivity checks"
Paul Hu   authored and   Gerrit Code Review   commited 2019-12-04 05:59:59 +00:00
032c3c3e30
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
8e96a75543
[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
959c7cd889
[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
9127f03a5c
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
adb58138bd
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
a1a975e149
[NS A17] Update linger state after rematching.
Test: FrameworksNetTests NetworkStackTests
Change-Id: I720a1feb89088aa123201ef5867de444234343e8

Chalard Jean   commited 2019-12-02 13:02:41 +09:00
7807fa2b7f
[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
f034453cce
[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
b9d9405225
[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
9589e72241
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
783ba3e0bd
[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
5e86665079
[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
f01b2efc13
[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
61c79256b1
Add tests for ConnectivityService → BatteryStats messages
Test: ConnectivityServiceTest
Bug: 113554781
Change-Id: I7d3a16be76f606872f8edb84647b9ef94f36cba1

Chalard Jean   commited 2019-11-29 16:59:30 +09:00
0a2a20054d
Merge "[NS A11] Small refactor"
Chalard Jean   authored and   Gerrit Code Review   commited 2019-11-25 08:55:19 +00:00
a8e2afde61
Merge "Fix hasUseBackgroundNetworksPermission issue."
Paul Hu   authored and   Gerrit Code Review   commited 2019-11-25 08:41:05 +00:00
0a6f03873a
Merge "Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN"
Lucas Lin   authored and   Gerrit Code Review   commited 2019-11-25 08:14:09 +00:00
fc8c834040
Merge "Adjust PermissionMonitor#startMonitoring in ConnectivityService"
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-11-24 15:21:43 +00:00
5d6da8de07
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

paulhu   commited 2019-11-24 22:27:32 +08:00
9b2c01a7f0
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

lucaslin   commited 2019-11-22 12:46:32 +08:00
784ca66669
[NS A11] Small refactor
Test: ConnectivityServiceTest
Change-Id: I9c4247e0ed67c76d10575bd1a8fb5ff7780a1206

Chalard Jean   commited 2019-11-20 20:42:41 +09:00
f5ff770f70
[NS A10] Cleanup
Reap networks after all networks have been rematched.

Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: I195d894e702f1c738ea25596704ea73a3ae55031

Chalard Jean   commited 2019-11-20 20:42:41 +09:00
0a8afdae5d
[NS A09] Always rematch all networks to requests
This is a regression in performance but it is necessary for
the sake of refactoring ; when the refactoring is over, the
performance will be improved back.

Test: ConnectivityServiceTest
Change-Id: I7069c11193dccb7dce6af65cfb731c0f4ad93629

Chalard Jean   commited 2019-11-20 20:42:40 +09:00
b0b3bc6d3d
[NS A08] Tiny refactoring
Test: ConnectivityServiceTest
Change-Id: I52f70756003cef61b450e9c1e9e57dc70f3091d5

Chalard Jean   commited 2019-11-20 20:32:57 +09:00
f728b7c91b
[NS A07] Move the last side effects out of the decision loop.
This is a no-op. Reviewers : please scrutinize this for behavior
changes.

Test: ConnectivityServiceTest
Change-Id: Icc621f0a64a72dae0192843e6b6587ec4e31ea4d

Chalard Jean   commited 2019-11-20 20:32:57 +09:00
d56c485af9
[NS A06] Move more side effects out of the decision loop
This is a no-op.

Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: I493b969c278097a289a1ef689ca268606227ae79

Chalard Jean   commited 2019-11-20 20:32:57 +09:00
ed295c52b2
[NS A05] Move some side effects out of the network decision loop
This moves the side effects done by the decision loop when a
network stops satisfying a request to outside the decision loop.

Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: I7b7594250d5c04362c699e065d30a1181effed09

Chalard Jean   commited 2019-11-20 20:32:57 +09:00
1c75c2309a
[NS A04] Store changes in rematchNetworkAndRequests in a map
This is a preliminary change to move the code that chooses what
network gets assigned to what request out of ConnectivityService.

By storing the list of changes first, it becomes possible to move
the changes with side-effects to a later part of the code, after
the decisions have been made. This move is implemented in a later
change.

Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: I60fe318a8eabf13d1c07b144367ca92cf07e734e

Chalard Jean   commited 2019-11-20 20:32:56 +09:00
a97b9c8fec