Commit Graph

1354 Commits

Author SHA1 Message Date
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
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
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
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
8e9d612218 IpConnectivityLog uses new metrics service
am: 9eec53dbe4

Change-Id: I1e3b611eeec448e333e83cb8d630f0e9906b7f14
2016-09-23 04:48:49 +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
783c3e763d Restrict access to background networks to CHANGE_NETWORK_STATE.
am: 1034b7c1ff

Change-Id: Iaf4ccd24298f680cab39bf9b87604eb16bc53aa5
2016-09-23 03:57:32 +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
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
Lorenzo Colitti
320b446d11 Rematch wifi networks when the avoid bad wifi setting changes.
Currently, when the avoid bad wifi setting changes, we rematch
all networks and requests, but do not update any NetworkFactories
with new scores. This means that if a wifi network's score goes
down as a result of enabling bad wifi avoidance, we will not look
for another network (e.g., cell data) to satisfy its requests.

This makes it so that when the user enables avoiding bad wifi,
we will attempt to bring up cell data will if it is not already
connected.

Bug: 31075769
Change-Id: Ie5b685be8676999adea8c9ecbbc1abb92f81a74f
2016-09-21 15:10:14 +09:00
Lorenzo Colitti
67ddf8e727 Add debug output for bad wifi avoidance restrictions. am: 7dabed84b5 am: f0718d3ba4 am: 86bd4caed2
am: cd1774ab71

Change-Id: Iae0c5c85ac843c999d625105b9469500c464266e
2016-09-21 06:06:08 +00:00
Lorenzo Colitti
4cb763a5e5 Support "don't ask again" in the avoid bad wifi dialog. am: e98557f85a am: b3b2b23d17 am: 63275aba54
am: 54042555a0

Change-Id: I60ebe27ec892658c5a051457b13506e59ba33824
2016-09-21 06:04:15 +00:00
Lorenzo Colitti
cd1774ab71 Add debug output for bad wifi avoidance restrictions. am: 7dabed84b5 am: f0718d3ba4
am: 86bd4caed2

Change-Id: Ieedaeb98e71bc58f3813d7b5e5472c0e147e50f9
2016-09-20 17:40:14 +00:00
Lorenzo Colitti
54042555a0 Support "don't ask again" in the avoid bad wifi dialog. am: e98557f85a am: b3b2b23d17
am: 63275aba54

Change-Id: I7d8d9f91208bcbe3ff625acf20d943b13f813d8e
2016-09-20 17:39:19 +00:00
Lorenzo Colitti
f0718d3ba4 Add debug output for bad wifi avoidance restrictions.
am: 7dabed84b5

Change-Id: I17e42fb80763a9d48049db9d0785b54bd5005797
2016-09-20 17:15:50 +00:00
Lorenzo Colitti
b3b2b23d17 Support "don't ask again" in the avoid bad wifi dialog.
am: e98557f85a

Change-Id: Ic6a1917a83e2d847bd673790e2c36f7316ca7acd
2016-09-20 17:14:50 +00:00
Lorenzo Colitti
7dabed84b5 Add debug output for bad wifi avoidance restrictions.
Bug: 31075769
Change-Id: Ibd97f40917c946aa164c13c7e06c4696d21dc203
2016-09-20 22:01:39 +09:00
Lorenzo Colitti
e98557f85a Support "don't ask again" in the avoid bad wifi dialog.
This contains the following changes:

1. Make NETWORK_AVOID_BAD_WIFI a tristate: 0 means never avoid
   bad wifi, unset means prompt the user, 1 means always avoid.
2. Look at NETWORK_AVOID_BAD_WIFI only if the carrier restricts
   avoiding bad wifi (previously, we relied on the setting being
   null and defaulting to the value of the config variable).
3. Add an avoidUnvalidated bit to NetworkAgentInfo to track
   whether the user has requested switching away from this
   unvalidated network even though avoiding bad wifi is generally
   disabled. This is set to true when the user selects "switch"
   in the dialog without setting the "Don't ask again" checkbox.
4. Add a hidden setAvoidUnvalidated API to ConnectivityManager to
   set the avoidUnvalidated bit.
5. Additional unit test coverage.

Bug: 31075769
Change-Id: I1be60c3016c8095df3c4752330149ce638bd0ce1
2016-09-20 16:03:53 +09:00
Lorenzo Colitti
925fe5aedd Update the avoid bad wifi settings on the handler thread. am: 49d32fe109 am: 4aba7d2b78 am: 409425302b
am: 012018f6c6

Change-Id: I5af2e404b8830dea2ea39d7e897ca2ce56f94d5a
2016-09-16 17:57:01 +00:00
Lorenzo Colitti
012018f6c6 Update the avoid bad wifi settings on the handler thread. am: 49d32fe109 am: 4aba7d2b78
am: 409425302b

Change-Id: I02d6cd44bd0588d2a516e65daba811638a2eb0cf
2016-09-16 17:46:19 +00:00
Lorenzo Colitti
4aba7d2b78 Update the avoid bad wifi settings on the handler thread.
am: 49d32fe109

Change-Id: I595949881353f5779ed2bb55ff05f27b513cd6de
2016-09-16 17:32:09 +00:00
Lorenzo Colitti
49d32fe109 Update the avoid bad wifi settings on the handler thread.
Currently, every call to avoidBadWifi fetches the current value
of the config variable and setting whenever it is called. This
means that the score of an unvalidated wifi network can
unpredictably change at any time, creating a data race.

Instead, persist the value and only update it when something
changes.

Bug: 31075769
Change-Id: I0f4e0e742c91ef77fabc95d3ebb494338396aca5
2016-09-17 00:57:38 +09:00
Lorenzo Colitti
6d25c74a2d resolve merge conflicts of eccdb24 to master
Change-Id: Ib09134090aa135d88bb807034b262a23c8b40e5f
2016-09-16 01:45:15 +09:00
Lorenzo Colitti
eccdb24d89 Unit tests for avoid bad wifi networks setting. am: 71b4d66e16 am: 58a33b9656
am: f131f80e0a

Change-Id: I1c0f4549545ff9f1836154ef65661395835ad756
2016-09-15 16:20:27 +00:00
Lorenzo Colitti
4b06c53661 Support displaying a dialog when wifi becomes unvalidated. am: 477bf5caa9 am: 8591027b21
am: 56e32083b5

Change-Id: Id908683dce15ffbafc042d506a38ec26d5e9a6ee
2016-09-15 16:18:42 +00:00
Lorenzo Colitti
58a33b9656 Unit tests for avoid bad wifi networks setting.
am: 71b4d66e16

Change-Id: I6491f1a93f93f222e23ef6e5e437631556637e44
2016-09-15 16:05:45 +00:00
Lorenzo Colitti
8591027b21 Support displaying a dialog when wifi becomes unvalidated.
am: 477bf5caa9

Change-Id: I8b8e2b652510ca75407a9ad3c29ed111367941e0
2016-09-15 16:04:03 +00:00
Hugo Benichi
6f19e24c10 Support ignoring penalty for bad wifi networks am: 4fc79c45d2 am: 03b25a12c7 am: edabb8e617
am: 89b552d5dd

Change-Id: I995c1adc61263a0536704fd32bd89efe1a8ec42b
2016-09-15 15:45:03 +00:00
Hugo Benichi
89b552d5dd Support ignoring penalty for bad wifi networks am: 4fc79c45d2 am: 03b25a12c7
am: edabb8e617

Change-Id: Ib9a60eb528eb62ebf26d5d5a1941bfed0bb21163
2016-09-15 15:36:58 +00:00
Lorenzo Colitti
dcc85dd2c1 resolve merge conflicts of 810f491 to nyc-mr1-dev am: d1d74d350f am: 886df309be
am: 909fc4719d

Change-Id: I81dadfcd629dd4dc5843932f7571d9df9bc3654f
2016-09-15 15:36:43 +00:00
Lorenzo Colitti
909fc4719d resolve merge conflicts of 810f491 to nyc-mr1-dev am: d1d74d350f
am: 886df309be

Change-Id: I0fd163898bb51e11bc2a21ae8ba7761691a737ce
2016-09-15 15:30:24 +00:00
Hugo Benichi
03b25a12c7 Support ignoring penalty for bad wifi networks
am: 4fc79c45d2

Change-Id: I6666ee45e9a08c02444c6268b2232bbe8aa2adec
2016-09-15 15:23:57 +00:00
Lorenzo Colitti
71b4d66e16 Unit tests for avoid bad wifi networks setting.
Bug: 31075769
Change-Id: I21ba20df59ddce5731ef1ebe8846b3f00578a674
2016-09-15 23:45:07 +09:00
Lorenzo Colitti
477bf5caa9 Support displaying a dialog when wifi becomes unvalidated.
Bug: 31075769
Change-Id: I7a6e7580769365bea930f638bd44edcaa28df134
2016-09-15 23:33:34 +09:00
Lorenzo Colitti
d1d74d350f resolve merge conflicts of 810f491 to nyc-mr1-dev
Change-Id: Ib1294563c6ae20454e44bfa5fc9fb2797864b8f5
2016-09-15 22:47:08 +09:00
Hugo Benichi
4fc79c45d2 Support ignoring penalty for bad wifi networks
This patch adds a way to configure devices so that a validated network
that becomes unvalidated is not penalized in the network scoring and
selection logic.

The intent is to prevent devices configured to do so from switching to a
lower scoring network such as cellular networks when a higher scoring
network such as wifi networks loses internet connectivity.

Bug: 31075769
Change-Id: Ie7e0f2607d214a178367fedfbef6c44768fa00a4
2016-09-15 18:34:13 +09:00
Hugo Benichi
810f4917c2 Explicitly pass old score to updateCapabilities
This allows simplification of getCurrentScore function in
NetworkAgentInfo and its return value to depend on everValidated and
lastValidated.

Bug: 31075769
Change-Id: I0b3c85e3a61b006733e900e0a231424878317476
2016-09-15 18:33:23 +09:00
Lorenzo Colitti
bc0e0459da Add test coverage for background networks. am: 9e89c280e8 am: 815bbf5678
am: eaf5cb4dcd

Change-Id: Ibbb14bd30b9b18799d301f023eb6770affbca518
2016-09-14 20:25:59 +00:00
Lorenzo Colitti
af4519b4ac Add a NET_CAPABILITY_FOREGROUND capability. am: 32237c7a69 am: aaec66110d
am: 27e1fd3169

Change-Id: I08ca73666668ddc6c9bfe002844a9d2e0ecb28e4
2016-09-14 19:22:54 +00:00
Lorenzo Colitti
1befb3406e Add a background NetworkRequest type for mobile data always on. am: b5b725df0c am: 9396da4e10
am: 18328033db

Change-Id: I9e11b75fe0af8a116593394b151c7fb4d1e167f8
2016-09-14 05:02:12 +00:00
Lorenzo Colitti
b053dffaca Rematch requests first and listens second. am: 5d8b6bdb6e am: 836a5db809
am: 6fb1ebeb50

Change-Id: I87d20179025aabc44cb5b2e51f3dcb960b042c50
2016-09-14 05:00:13 +00:00
Lorenzo Colitti
eaf5cb4dcd Add test coverage for background networks. am: 9e89c280e8
am: 815bbf5678

Change-Id: Ib73537c95107b1b8d0a223abc053794ad24fcbf5
2016-09-14 03:29:48 +00:00