Commit graph android_packages_modules_Co.../services/core/java
Message SHA1
Rematch wifi networks when the avoid bad wifi setting changes. am: 320b446d11 am: 1f6b9ebaf3 am: e913dded2b
am: d05a12d77e

Change-Id: I4566c5fe1620f48ae4fa70fdf23095381dce41af

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-21 21:23:24 +00:00
37d9a70953
Rematch wifi networks when the avoid bad wifi setting changes. am: 320b446d11 am: 1f6b9ebaf3
am: e913dded2b

Change-Id: Id45ac22c3070de67fb3455c6d8a3c44d22388ff6

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-21 09:57:56 +00:00
d05a12d77e
Rematch wifi networks when the avoid bad wifi setting changes.
am: 320b446d11

Change-Id: I589cfdb8792997fe94d22c551c8a53e48e45db1a

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-21 09:47:28 +00:00
1f6b9ebaf3
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

Lorenzo Colitti   commited 2016-09-21 15:10:14 +09:00
320b446d11
Add debug output for bad wifi avoidance restrictions. am: 7dabed84b5 am: f0718d3ba4 am: 86bd4caed2
am: cd1774ab71

Change-Id: Iae0c5c85ac843c999d625105b9469500c464266e

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-21 06:06:08 +00:00
67ddf8e727
Support "don't ask again" in the avoid bad wifi dialog. am: e98557f85a am: b3b2b23d17 am: 63275aba54
am: 54042555a0

Change-Id: I60ebe27ec892658c5a051457b13506e59ba33824

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-21 06:04:15 +00:00
4cb763a5e5
Add debug output for bad wifi avoidance restrictions. am: 7dabed84b5 am: f0718d3ba4
am: 86bd4caed2

Change-Id: Ieedaeb98e71bc58f3813d7b5e5472c0e147e50f9

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-20 17:40:14 +00:00
cd1774ab71
Support "don't ask again" in the avoid bad wifi dialog. am: e98557f85a am: b3b2b23d17
am: 63275aba54

Change-Id: I7d8d9f91208bcbe3ff625acf20d943b13f813d8e

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-20 17:39:19 +00:00
54042555a0
Add debug output for bad wifi avoidance restrictions.
am: 7dabed84b5

Change-Id: I17e42fb80763a9d48049db9d0785b54bd5005797

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-20 17:15:50 +00:00
f0718d3ba4
Support "don't ask again" in the avoid bad wifi dialog.
am: e98557f85a

Change-Id: Ic6a1917a83e2d847bd673790e2c36f7316ca7acd

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-20 17:14:50 +00:00
b3b2b23d17
Add debug output for bad wifi avoidance restrictions.
Bug: 31075769
Change-Id: Ibd97f40917c946aa164c13c7e06c4696d21dc203

Lorenzo Colitti   commited 2016-09-20 22:01:39 +09:00
7dabed84b5
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

Lorenzo Colitti   commited 2016-09-20 16:03:53 +09:00
e98557f85a
Update the avoid bad wifi settings on the handler thread. am: 49d32fe109 am: 4aba7d2b78 am: 409425302b
am: 012018f6c6

Change-Id: I5af2e404b8830dea2ea39d7e897ca2ce56f94d5a

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-16 17:57:01 +00:00
925fe5aedd
Update the avoid bad wifi settings on the handler thread. am: 49d32fe109 am: 4aba7d2b78
am: 409425302b

Change-Id: I02d6cd44bd0588d2a516e65daba811638a2eb0cf

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-16 17:46:19 +00:00
012018f6c6
Update the avoid bad wifi settings on the handler thread.
am: 49d32fe109

Change-Id: I595949881353f5779ed2bb55ff05f27b513cd6de

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-16 17:32:09 +00:00
4aba7d2b78
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

Lorenzo Colitti   commited 2016-09-17 00:57:38 +09:00
49d32fe109
resolve merge conflicts of eccdb24 to master
Change-Id: Ib09134090aa135d88bb807034b262a23c8b40e5f

Lorenzo Colitti   commited 2016-09-16 01:45:15 +09:00
6d25c74a2d
Unit tests for avoid bad wifi networks setting. am: 71b4d66e16 am: 58a33b9656
am: f131f80e0a

Change-Id: I1c0f4549545ff9f1836154ef65661395835ad756

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-15 16:20:27 +00:00
eccdb24d89
Support displaying a dialog when wifi becomes unvalidated. am: 477bf5caa9 am: 8591027b21
am: 56e32083b5

Change-Id: Id908683dce15ffbafc042d506a38ec26d5e9a6ee

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-15 16:18:42 +00:00
4b06c53661
Unit tests for avoid bad wifi networks setting.
am: 71b4d66e16

Change-Id: I6491f1a93f93f222e23ef6e5e437631556637e44

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-15 16:05:45 +00:00
58a33b9656
Support displaying a dialog when wifi becomes unvalidated.
am: 477bf5caa9

Change-Id: I8b8e2b652510ca75407a9ad3c29ed111367941e0

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-15 16:04:03 +00:00
8591027b21
Support ignoring penalty for bad wifi networks am: 4fc79c45d2 am: 03b25a12c7 am: edabb8e617
am: 89b552d5dd

Change-Id: I995c1adc61263a0536704fd32bd89efe1a8ec42b

Hugo Benichi   authored and   android-build-merger   commited 2016-09-15 15:45:03 +00:00
6f19e24c10
Support ignoring penalty for bad wifi networks am: 4fc79c45d2 am: 03b25a12c7
am: edabb8e617

Change-Id: Ib9a60eb528eb62ebf26d5d5a1941bfed0bb21163

Hugo Benichi   authored and   android-build-merger   commited 2016-09-15 15:36:58 +00:00
89b552d5dd
resolve merge conflicts of 810f491 to nyc-mr1-dev am: d1d74d350f am: 886df309be
am: 909fc4719d

Change-Id: I81dadfcd629dd4dc5843932f7571d9df9bc3654f

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-15 15:36:43 +00:00
dcc85dd2c1
resolve merge conflicts of 810f491 to nyc-mr1-dev am: d1d74d350f
am: 886df309be

Change-Id: I0fd163898bb51e11bc2a21ae8ba7761691a737ce

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-15 15:30:24 +00:00
909fc4719d
Support ignoring penalty for bad wifi networks
am: 4fc79c45d2

Change-Id: I6666ee45e9a08c02444c6268b2232bbe8aa2adec

Hugo Benichi   authored and   android-build-merger   commited 2016-09-15 15:23:57 +00:00
03b25a12c7
Unit tests for avoid bad wifi networks setting.
Bug: 31075769
Change-Id: I21ba20df59ddce5731ef1ebe8846b3f00578a674

Lorenzo Colitti   commited 2016-09-15 23:45:07 +09:00
71b4d66e16
Support displaying a dialog when wifi becomes unvalidated.
Bug: 31075769
Change-Id: I7a6e7580769365bea930f638bd44edcaa28df134

Lorenzo Colitti   commited 2016-09-15 23:33:34 +09:00
477bf5caa9
resolve merge conflicts of 810f491 to nyc-mr1-dev
Change-Id: Ib1294563c6ae20454e44bfa5fc9fb2797864b8f5

Lorenzo Colitti   commited 2016-09-15 22:47:08 +09:00
d1d74d350f
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

Hugo Benichi   commited 2016-09-15 18:34:13 +09:00
4fc79c45d2
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

Hugo Benichi   commited 2016-09-15 18:33:23 +09:00
810f4917c2
Add a NET_CAPABILITY_FOREGROUND capability. am: 32237c7a69 am: aaec66110d
am: 27e1fd3169

Change-Id: I08ca73666668ddc6c9bfe002844a9d2e0ecb28e4

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-14 19:22:54 +00:00
af4519b4ac
Add a background NetworkRequest type for mobile data always on. am: b5b725df0c am: 9396da4e10
am: 18328033db

Change-Id: I9e11b75fe0af8a116593394b151c7fb4d1e167f8

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-14 05:02:12 +00:00
1befb3406e
Rematch requests first and listens second. am: 5d8b6bdb6e am: 836a5db809
am: 6fb1ebeb50

Change-Id: I87d20179025aabc44cb5b2e51f3dcb960b042c50

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-14 05:00:13 +00:00
b053dffaca
Add a NET_CAPABILITY_FOREGROUND capability. am: 32237c7a69
am: aaec66110d

Change-Id: I78d6aa21f8e4c6bbd9cefb4a36f1b77f4bbe4104

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-13 16:23:10 +00:00
27e1fd3169
Add a NET_CAPABILITY_FOREGROUND capability.
Bug: 23113288
Change-Id: I90cb9ffb5751f0d9ec822933f37680c401e49966

Lorenzo Colitti   commited 2016-09-13 12:02:13 +09:00
32237c7a69
Add a background NetworkRequest type for mobile data always on. am: b5b725df0c
am: 9396da4e10

Change-Id: I4b0e05e8bb87e37bf2564fd255b8be7a2b20118a

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-12 13:48:53 +00:00
18328033db
Rematch requests first and listens second. am: 5d8b6bdb6e
am: 836a5db809

Change-Id: Ia57cd548b2920efaee733f5cb0df66139a6e55e6

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-12 13:46:48 +00:00
6fb1ebeb50
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

Lorenzo Colitti   commited 2016-09-09 18:49:24 +09:00
b5b725df0c
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

Lorenzo Colitti   commited 2016-09-09 18:28:00 +09:00
5d8b6bdb6e
Refactored INetworkPolicyListener callbacks.
Methods onRestrictBackgroundWhitelistChanged() and
onRestrictBackgroundBlacklistChanged() were replaced by a more generic
onUidPoliciesChanged().

Test: m javac-check RUN_ERROR_PRONE=true
Test: m -j32 FrameworksServicesTests && adb install -r -g ${ANDROID_PRODUCT_OUT}/data/app/FrameworksServicesTests/FrameworksServicesTests.apk && adb shell am instrument -e class "com.android.server.NetworkPolicyManagerServiceTest" -w "com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"

BUG: 28791717
Change-Id: I18b2ee4af06802e0d23822b153d1be9b429d5811

Felipe Leme   commited 2016-09-06 12:49:48 -07:00
0a732d872b
Network switch notifications: rate & daily limits am: e5ebb71a81 am: 858499b2c0 am: 2c535a4f7c
am: 20a701cbc6

Change-Id: I0c067ec355eb2a50af3c828b1fe3ee8a78e44536

Lorenzo Colitti   authored and   android-build-merger   commited 2016-08-31 23:31:56 +00:00
d4b621255f
Network Switching Notifications: add unit tests am: 550ad8d1d0 am: 56f1281888 am: cf5f5785c9
am: ed9a34a936

Change-Id: Idf4986df6f0f2b232aeaa5e43feb51615089dc71

Hugo Benichi   authored and   android-build-merger   commited 2016-08-31 23:30:34 +00:00
7a34d54ff6
Don't notify on network switch if source network is validated. am: 673e80f021 am: b301283d57 am: a0a41b1e3d
am: 1b5c43a0d3

Change-Id: I150cbafb6ab3fce4800241bfacec4bf4ee73db31

Lorenzo Colitti   authored and   android-build-merger   commited 2016-08-31 22:40:41 +00:00
096bed4a12
Network switch notifications: rate & daily limits am: e5ebb71a81 am: 858499b2c0
am: 2c535a4f7c

Change-Id: I166dd693345ed9a63411f5f1ed6bdf33015b1957

Lorenzo Colitti   authored and   android-build-merger   commited 2016-08-30 20:32:52 +00:00
20a701cbc6
Network Switching Notifications: add unit tests am: 550ad8d1d0 am: 56f1281888
am: cf5f5785c9

Change-Id: I978e49ba1302ca3d791c59555b5a143cefb62c06

Hugo Benichi   authored and   android-build-merger   commited 2016-08-30 20:31:34 +00:00
ed9a34a936
Network switch notifications: rate & daily limits
This patch adds a daily limit to the maximum number of notifications
shown when switching networks.

It also adds a rate limit to prevent rapid successive notifications in
flapping scenarios.

Bug: 31132499
Change-Id: Iccb6d0899646ea6df3cfad32a421922263e0eb85

Lorenzo Colitti   authored and   Hugo Benichi   commited 2016-08-31 00:36:11 +09:00
e5ebb71a81
Network Switching Notifications: add unit tests
BUG: 31132499
Change-Id: I9c50a59fe48efdcb51d2517f0a756691700c3ebe

Hugo Benichi   commited 2016-08-31 00:35:16 +09:00
550ad8d1d0
Don't notify on network switch if source network is validated. am: 673e80f021 am: b301283d57
am: a0a41b1e3d

Change-Id: I047a0040798223c163d333996e6bc06e206129a0

Lorenzo Colitti   authored and   android-build-merger   commited 2016-08-30 11:02:33 +00:00
1b5c43a0d3
Don't notify on network switch if source network is validated.
Sometimes we switch away from a network to another (e.g., wifi to
cell data) not because the old network is unvalidated, but
because the score is lowered by a low signal strength.

In this case, don't notify the user of a network switch.

Bug: 31132499
Change-Id: I996a6e00096f8cb864fa9b00b36921725a4edb53

Lorenzo Colitti   commited 2016-08-29 16:30:21 +09:00
673e80f021