Commit Graph

2999 Commits

Author SHA1 Message Date
Hugo Benichi
fe3325f2a5 ConnectivityManager: a simpler CallbackHandler
This patch simplifies CallbackHandler in the following way:
  - CallbackHandler directly uses the static references to
    sNetworkCallback and sCallbackRefCount. This allows to remove
    instance fields in CallbackHandler.
  - CallbackHandler does not have a reference to ConnectivityManager
    anymore
  - CallbackHandler.getObject() is now generic in a type-safe way.

Test: ConnectivityServiceTest passes
Bug: 28537383
Bug: 32130437
Change-Id: I5004da5b91498e6ff7f8b05057a9e24b975bb56e
2016-10-20 09:09:02 +09:00
Michal Karpinski
33fa018898 Extending DNS event reporting
This adds hostname, array of addresses, total count of IP addresses
and uid to the existing pipeline.
Currently ignores the new data it receives, further work will be
done in the subsequent CLs.

Test: for now just the benchmarking, in the future unit and CTS

Bug: 29748723
Change-Id: Ice7db208282934e74f0e1808ffbae96d476c4216
2016-10-10 16:49:07 +01:00
Erik Kline
58d1a44fbe Refactor "avoid bad wifi" logic into a utility class am: fc52be9643 am: f0582faceb am: fdb7b562cf
am: 8bd57a31b8

Change-Id: Ie3d058d6c9da43763d10b0a2bc96171d07673e9d
2016-10-07 01:03:58 +00:00
Christopher Wiley
ae271bcf4f Notify NetworkPolicyManagerService on tethering changes am: 0c252807c8 am: cb89907d0c
am: 6e46a47587

Change-Id: I063450c82f80f137cd130d384134a83820d8f084
2016-10-07 00:37:04 +00:00
Erik Kline
8bd57a31b8 Refactor "avoid bad wifi" logic into a utility class am: fc52be9643 am: f0582faceb
am: fdb7b562cf

Change-Id: I7db61e54c80ec836d00bf4ae087137bb296c30f1
2016-10-06 20:44:56 +00:00
Erik Kline
fdb7b562cf Refactor "avoid bad wifi" logic into a utility class am: fc52be9643
am: f0582faceb

Change-Id: Id670d13b99ab6935b67335e19d2389e5b4f61111
2016-10-06 20:16:57 +00:00
Christopher Wiley
6e46a47587 Notify NetworkPolicyManagerService on tethering changes am: 0c252807c8
am: cb89907d0c

Change-Id: Ic1b99f8bbeffde72dd93d4879aa25954d0d98554
2016-10-06 20:08:44 +00:00
Christopher Wiley
cb89907d0c Notify NetworkPolicyManagerService on tethering changes
am: 0c252807c8

Change-Id: I43b25305c730966da83acdaccb127c27be0e2332
2016-10-06 19:57:15 +00:00
Erik Kline
f0582faceb Refactor "avoid bad wifi" logic into a utility class
am: fc52be9643

Change-Id: I4a6ad3791ac551b0d64b37dd4e2afef1e8e8ee10
2016-10-04 07:47:52 +00:00
Erik Kline
fc52be9643 Refactor "avoid bad wifi" logic into a utility class
Additionally, add this utility class to IpManager for compatibility
verification.  A follow-on CL will make use of IpManager's local
AvoidBadWifiTracker.

Bug: 31827713
Change-Id: If8c56c3f8076d6a5157ea180e361bbdadc2bc1dd
2016-10-04 15:07:42 +09:00
Christopher Wiley
0c252807c8 Notify NetworkPolicyManagerService on tethering changes
(cherry-pick of d73faf07606d40d3915d22a72fa14f7ba956d459)

No longer do this in ConnectivityService#tether/untether.
Instead, have Tethering do it when an interface is actually
tethered.

Bug: 31405407
Test: Toggling hotspot now disables data saver

Change-Id: I9910a2e488c30c92d45f817c8f5df0fac5510de6
2016-09-30 10:33:19 -07:00
Hugo Benichi
164dd69148 New Settings symbols for captive portal detection am: 728a769ee1 am: b196a8e231
am: 3f807c2529

Change-Id: Iad6840b4edd243a77fe65a69a2f4dcba28e0a7cb
2016-09-29 06:09:56 +00:00
Hugo Benichi
9a3734938f Captive portal detection uses 3rd fallback probe am: a3d1962ab3 am: a40c84eae0
am: c14ca3d4b8

Change-Id: I221cf47aa43105d4094ec724f8d6f4f6c98d0757
2016-09-29 06:07:53 +00:00
Hugo Benichi
3f807c2529 New Settings symbols for captive portal detection am: 728a769ee1
am: b196a8e231

Change-Id: I6e965696ed03b0eb4a49db3b21ad6a382ba1d081
2016-09-29 01:23:59 +00:00
Hugo Benichi
c14ca3d4b8 Captive portal detection uses 3rd fallback probe am: a3d1962ab3
am: a40c84eae0

Change-Id: Iec8ccdbcd433d8b2f5538d7b4bed5c945b5b688a
2016-09-29 01:22:01 +00:00
Hugo Benichi
b196a8e231 New Settings symbols for captive portal detection
am: 728a769ee1

Change-Id: Id8c19f16c50b22034278c00b55c5431d892f8a95
2016-09-29 01:15:17 +00:00
Hugo Benichi
a40c84eae0 Captive portal detection uses 3rd fallback probe
am: a3d1962ab3

Change-Id: I15607fbfae9dc127b72b6f299b69d6b648117338
2016-09-29 01:13:59 +00:00
Hugo Benichi
728a769ee1 New Settings symbols for captive portal detection
This patch defines new Settings symbols for
  - setting the probe urls for captive portal detection.
  - setting which User-Agent to use for captive portal detection.

The existing default values for these settings are not changed, i.e:
  - HTTP and HTTPS probes urls are unchanged.
  - the fallback probe is not used.
  - User-Agent is empty by default.

Bug: 29367974
Change-Id: I6e4b3b172e56b8b67fffa4b51f776d68d5851f25
2016-09-28 23:13:25 +09:00
Hugo Benichi
a3d1962ab3 Captive portal detection uses 3rd fallback probe
This patch adds the possitibility to send a 3rd fallback validation
probe in sendParallelHttpProbes when neither the 1st http probe nor the
https probe came back with a conclusive answer.

This 3rd probe is only used for trying again captive portal detection
and does not return success, so that network validation always fails if
the https probe fails.

In addition, the url reveals a captive portal is now sent to the
CaptivePortalLoginActivity so that all three probes can use different
urls.

Bug: 29367974

Change-Id: I7385fde1aa1316d94aac350af0e956cb193aa4ee
2016-09-28 23:12:31 +09:00
Christopher Wiley
9e7695915e Merge "Notify NetworkPolicyManagerService on tethering changes" am: 4062bec04e am: 8d7e3b0205 am: 583fe355b4
am: a8c7166533

Change-Id: I6075604795f97992d02bef28bb5cef85eb31d589
2016-09-27 14:24:33 +00:00
Christopher Wiley
a8c7166533 Merge "Notify NetworkPolicyManagerService on tethering changes" am: 4062bec04e am: 8d7e3b0205
am: 583fe355b4

Change-Id: I4d1081c832c1d3bff9a0946c670929eca4f0f695
2016-09-27 14:18:46 +00:00
Christopher Wiley
583fe355b4 Merge "Notify NetworkPolicyManagerService on tethering changes" am: 4062bec04e
am: 8d7e3b0205

Change-Id: I9595856421a848a570f4894fa55523a72a7fec44
2016-09-27 13:32:06 +00:00
Michal Karpinski
e892b77d8d Fix naming of the service in NetdEventListenerServiceTest
am: 4c9fcb84ca

Change-Id: If4b50bf104dddcaf14fd6b138239cfc94967f389
2016-09-26 11:38:37 +00:00
Michal Karpinski
4c9fcb84ca Fix naming of the service in NetdEventListenerServiceTest
Bug: 29748723
Change-Id: I285cb77fba824036df80a9ed2560ee95d1d1919c
(cherry picked from commit 4b6d072726)
2016-09-26 10:43:56 +00:00
Michal Karpinski
4b6d072726 Fix naming of the service in NetdEventListenerServiceTest
Bug: 29748723
Change-Id: I285cb77fba824036df80a9ed2560ee95d1d1919c
2016-09-26 09:20:25 +01:00
Hugo Benichi
4403ad76ca Merge "IpConnectivityLog uses new metrics service" into nyc-mr1-dev am: 4996bc8105 am: d5680ac912
am: 5f51d92253

Change-Id: I878da89bb1804a55bca4b4c35e5924a12af34ff3
2016-09-25 20:19:13 +00:00
Hugo Benichi
b54260227b resolve merge conflicts of 8e9d612 to nyc-mr1-dev-plus-aosp
am: fc76c02ce2

Change-Id: I4bfd7a9bc5ef4c3c5a30bed63b92eaef90b1a30e
2016-09-25 20:18:16 +00:00
Lorenzo Colitti
fb03e0d5cb Merge "Restrict access to background networks to CHANGE_NETWORK_STATE." into nyc-mr1-dev am: d1532107e1 am: fe2d469de0
am: 90bef34d88

Change-Id: Ib15c9ac54d9e493aea8fe5bb80d63356d33da137
2016-09-25 20:12:54 +00:00
Lorenzo Colitti
236ecdcd2c Restrict access to background networks to CHANGE_NETWORK_STATE. am: 1034b7c1ff am: 783c3e763d
am: 1b9ddf554d

Change-Id: I49bc23dcb5f36654c61a7aa76c41cebda81349f5
2016-09-25 20:11:52 +00:00
Hugo Benichi
8e4f8ff0ee Add ipconnectivity.proto to services jar am: ad509bd205 am: 446a3847b4
am: 0c85261577

Change-Id: Id194acbb25c8f3dd8fdf03af67912f7a0f0f770f
2016-09-24 02:11:20 +00:00
Hugo Benichi
5f51d92253 Merge "IpConnectivityLog uses new metrics service" into nyc-mr1-dev am: 4996bc8105
am: d5680ac912

Change-Id: Ib9e1bc6873ad1fb045b57eb54c4a164148d68f14
2016-09-23 06:03:59 +00:00
Hugo Benichi
fc76c02ce2 resolve merge conflicts of 8e9d612 to nyc-mr1-dev-plus-aosp
Change-Id: I82865b2847c584f8a1d728ef76113e3969f222ca
2016-09-23 14:48:01 +09:00
Hugo Benichi
d5680ac912 Merge "IpConnectivityLog uses new metrics service" into nyc-mr1-dev
am: 4996bc8105

Change-Id: I7fae7760d5ec872a0a989ca3964419d3839694ad
2016-09-23 04:48:51 +00:00
Hugo Benichi
8e9d612218 IpConnectivityLog uses new metrics service
am: 9eec53dbe4

Change-Id: I1e3b611eeec448e333e83cb8d630f0e9906b7f14
2016-09-23 04:48:49 +00:00
Hugo Benichi
4996bc8105 Merge "IpConnectivityLog uses new metrics service" into nyc-mr1-dev 2016-09-23 04:43:23 +00:00
Lorenzo Colitti
90bef34d88 Merge "Restrict access to background networks to CHANGE_NETWORK_STATE." into nyc-mr1-dev am: d1532107e1
am: fe2d469de0

Change-Id: I7d47b6c065f45edeecf3fd5df133545dad561d0f
2016-09-23 04:02:09 +00:00
Lorenzo Colitti
1b9ddf554d Restrict access to background networks to CHANGE_NETWORK_STATE. am: 1034b7c1ff
am: 783c3e763d

Change-Id: Ie4179344aa12e38d2e2a5fab43e028ca0c97150d
2016-09-23 04:01:07 +00:00
Lorenzo Colitti
fe2d469de0 Merge "Restrict access to background networks to CHANGE_NETWORK_STATE." into nyc-mr1-dev
am: d1532107e1

Change-Id: I8fa53ac5143bd5df0177a11e5961acef63072007
2016-09-23 03:57:34 +00:00
Lorenzo Colitti
783c3e763d Restrict access to background networks to CHANGE_NETWORK_STATE.
am: 1034b7c1ff

Change-Id: Iaf4ccd24298f680cab39bf9b87604eb16bc53aa5
2016-09-23 03:57:32 +00:00
TreeHugger Robot
d1532107e1 Merge "Restrict access to background networks to CHANGE_NETWORK_STATE." into nyc-mr1-dev 2016-09-23 03:51:15 +00:00
Lorenzo Colitti
1034b7c1ff Restrict access to background networks to CHANGE_NETWORK_STATE.
When a network goes into the background, tell netd to set the
network's permission to NETWORK. Also, close all TCP sockets on
that network, to prevent long-lived TCP connections from staying
on it and possibly continuing to use metered data.

Bug: 23113288
Change-Id: Ie89c1940b6739160e25c6e9022b8b977afb3e16e
2016-09-23 11:27:13 +09:00
Hugo Benichi
0c85261577 Add ipconnectivity.proto to services jar am: ad509bd205
am: 446a3847b4

Change-Id: I1fc947f98715a7a352753d85cd4ef4970be2b027
2016-09-23 00:18:31 +00:00
Hugo Benichi
9eec53dbe4 IpConnectivityLog uses new metrics service
This patch connects existing IpConnectivityLog to the new
IpConnectivityMetrics service:
  - IpConnectivityLog is now an independent class that pushes events
    directly to the new IpConnectivityMetrics service.
  - DnsEventListenerService is moved from MetricsLoggerService to
    IpConnectivityMetrics.
  - this patch also features end to end tests from IpConnectivityLog to
    IpConnectivityMetrics dumpsys output.

Bug: 31254800
Change-Id: I4fe4a209eedde2814d5f13c574a1a0d854bd05c9
2016-09-22 23:08:37 +09:00
Hugo Benichi
ad509bd205 Add ipconnectivity.proto to services jar
This patch moves ipconnectivity.proto and companion serialization
classes from /vendor/google/app/ConnectivityMetrics into the framework
services jar.

This will allow to implement a dumpsys interface for IpConnectivity
metrics events defined in android.net.metrics that output metrics as
a serialized proto.

Bug: 31254800
Change-Id: Ia4449103fd7222c9d899352fea2dce47a790a49c
2016-09-22 22:21:41 +09:00
Lorenzo Colitti
37d9a70953 Rematch wifi networks when the avoid bad wifi setting changes. am: 320b446d11 am: 1f6b9ebaf3 am: e913dded2b
am: d05a12d77e

Change-Id: I4566c5fe1620f48ae4fa70fdf23095381dce41af
2016-09-21 21:23:24 +00:00
Michal Karpinski
75ae88a25b Rename DnsEventListenerServiceTest to NetdEventListenerServiceTest
am: 137e2b2c98

Change-Id: Ibdf0487739d2ecff13a6115098f454b1682081a3
2016-09-21 21:17:54 +00:00
Michal Karpinski
aa7c1eb863 Rename DnsEventListenerServiceTest to NetdEventListenerServiceTest
Change-Id: I67e645306444938a4675e91a9db5d716c0bd4881
(cherry picked from commit d82fccd368ca605c8efc21b198e667fd30c4182e)
2016-09-21 14:33:56 +00:00
Lorenzo Colitti
d05a12d77e Rematch wifi networks when the avoid bad wifi setting changes. am: 320b446d11 am: 1f6b9ebaf3
am: e913dded2b

Change-Id: Id45ac22c3070de67fb3455c6d8a3c44d22388ff6
2016-09-21 09:57:56 +00:00
Michal Karpinski
137e2b2c98 Rename DnsEventListenerServiceTest to NetdEventListenerServiceTest
Change-Id: I67e645306444938a4675e91a9db5d716c0bd4881
2016-09-21 18:48:57 +09:00
Lorenzo Colitti
1f6b9ebaf3 Rematch wifi networks when the avoid bad wifi setting changes.
am: 320b446d11

Change-Id: I589cfdb8792997fe94d22c551c8a53e48e45db1a
2016-09-21 09:47:28 +00:00