Commit Graph

2954 Commits

Author SHA1 Message Date
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
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
Etan Cohen
43d868386a reolve merge conflicts of 4e3d827 to nyc-mr1-dev-plus-aosp
am: 2693c153e0

Change-Id: Iea1d75ffbb79f9e5012b67f731ce23bcb993781c
2016-09-16 20:04:05 +00:00
Etan Cohen
2693c153e0 reolve merge conflicts of 4e3d827 to nyc-mr1-dev-plus-aosp
Change-Id: Idb6cca34536fdbb94876d5cde0b2309462840da1
2016-09-16 12:40:03 -07:00
Etan Cohen
525481484c [NAN] Add transport type for NAN.
am: 305ea28a43

Change-Id: I9e12a30de06481418fa2c322fbeef0ecde75f746
2016-09-16 18:45:49 +00: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
Lorenzo Colitti
27e1fd3169 Add a NET_CAPABILITY_FOREGROUND capability. am: 32237c7a69
am: aaec66110d

Change-Id: I78d6aa21f8e4c6bbd9cefb4a36f1b77f4bbe4104
2016-09-13 16:23:10 +00:00
Lorenzo Colitti
9e89c280e8 Add test coverage for background networks.
Bug: 23113288
Change-Id: Idad62f5f025825f99007ccf7b20f530dc3cf6daa
2016-09-13 12:02:13 +09:00
Lorenzo Colitti
32237c7a69 Add a NET_CAPABILITY_FOREGROUND capability.
Bug: 23113288
Change-Id: I90cb9ffb5751f0d9ec822933f37680c401e49966
2016-09-13 12:02:13 +09:00
Lorenzo Colitti
18328033db Add a background NetworkRequest type for mobile data always on. am: b5b725df0c
am: 9396da4e10

Change-Id: I4b0e05e8bb87e37bf2564fd255b8be7a2b20118a
2016-09-12 13:48:53 +00:00
Lorenzo Colitti
6fb1ebeb50 Rematch requests first and listens second. am: 5d8b6bdb6e
am: 836a5db809

Change-Id: Ia57cd548b2920efaee733f5cb0df66139a6e55e6
2016-09-12 13:46:48 +00:00
Lorenzo Colitti
b5b725df0c Add a background NetworkRequest type for mobile data always on.
Like a normal (foreground) request, a background request is only
satisfied by one network and will keep that network up. Unlike a
foreground request, when a network only has background requests,
it will linger, and after lingering is complete, it will become
a background network.

Future CLs will cause the system to treat background networks
differently, e.g., by requiring different permissions.

Bug: 23113288
Change-Id: I40f735269dad1042eb04fea15e64584fc903ccb3
2016-09-09 18:49:24 +09:00
Lorenzo Colitti
5d8b6bdb6e Rematch requests first and listens second.
This CL splits rematching in two parts: first rematch requests,
then rematch listens. This will allow us to change a network's
capabilities depending on what requests are on that network, and
properly dispatch callbacks depending on those capabilities.

The behaviour changes are as follows:

- Before this CL, callbacks for requests and listens were sent
  intermingled. After this CL, all request callbacks will be
  grouped together, and all listen callbacks will be grouped
  together.
- Before this CL, the order was:
    1. Send onLost callbacks.
    2. If applicable, switch the default network.
    3. Send onAvailable callbacks.
  After this CL, the order is:
    1. Send onLost callbacks for requests.
    2. If applicable, switch the default network.
    3. Send onLost callbacks for listens.
    4. Send onAvailable callbacks for listens.
    5. Send onAvailable callbacks for requests.

These changes shouldn't affect any apps because:

1. The order of callbacks continues to be first all onLost,
   then all onAvailable.
2. Both the old and the new code send callbacks in no particular
   order. Thus, the possible ordering combinations of callbacks
   in the new code are a strict subset of the possible ordering
   combinations of the old code.
3. The default network is switched before any onAvailable
   callback is sent.
4. Even though the new code does not send all onLost callbacks
   before switching the default network, even before this CL
   there was no guarantee that those callbacks would be received
   before the default network switch anyway, because callbacks
   are asynchronous.

Bug: 23113288
Change-Id: Ia08900c50db9ff43895047e2f4f36b6c6c31a1f9
2016-09-09 18:28:00 +09:00
TreeHugger Robot
9834d1c3a8 Merge "Refactored INetworkPolicyListener callbacks." 2016-09-07 17:42:27 +00:00