Commit Graph

3576 Commits

Author SHA1 Message Date
Etan Cohen
0a8122afa9 Merge changes from topic 'cm_request_to'
am: d6877b2576

Change-Id: I9ca18c0570be831ab37cdf200c28b0778117198d
2017-02-16 14:23:18 +00:00
Etan Cohen
d6877b2576 Merge changes from topic 'cm_request_to'
* changes:
  [CM] Remove maximum timeout value for request network
  [CM] Remove non-functional timeout from request network
2017-02-16 14:15:44 +00:00
Etan Cohen
8500016ea4 [CM] Remove maximum timeout value for request network
The request network with timeout was originally created with a
check of max timeout against a constant of 100 minutes. However,
the API was not public and did not implement a timeout. Any users
were internal and never got any onUnavailable() callback (since
timeout never triggered).

There is no reason to have a max timeout so the constant is
remove.

Bug: 31399536
Test: unit tests and CTS of ConnectivityManager
Change-Id: Icbedfb4299d75b6a7e3e43720111531f1faafd06
2017-02-16 14:15:16 +00:00
Hugo Benichi
6987c7d743 Merge "ConnectivityManager: fix potential NPE" am: b688dd18ab am: 95d22b0c92 am: 3b0915b6f5
am: 47be55d3ec

Change-Id: I628fdf36a5a80a2d93ff4c4785253cb16a9e4ad2
2017-02-15 01:29:31 +00:00
Hugo Benichi
47be55d3ec Merge "ConnectivityManager: fix potential NPE" am: b688dd18ab am: 95d22b0c92
am: 3b0915b6f5

Change-Id: I6f487ce9da656610c939ddc78e834ac8ef5f8135
2017-02-15 01:24:29 +00:00
Hugo Benichi
3b0915b6f5 Merge "ConnectivityManager: fix potential NPE" am: b688dd18ab
am: 95d22b0c92

Change-Id: I72e114037ce6a0ec53863749b8ffa34513c9fdce
2017-02-15 01:09:58 +00:00
Hugo Benichi
95d22b0c92 Merge "ConnectivityManager: fix potential NPE"
am: b688dd18ab

Change-Id: If562fc6a921569ad9d3141cac72b6f395a30da9e
2017-02-15 01:05:24 +00:00
Hugo Benichi
bc4ac9775f ConnectivityManager: fix potential NPE
ConnectivityManager static sCallbackHandler is referenced and directly
used in a way that is not ensuring its proper initialization.

This patch fixes this potential NPE by using getHandler() instead.

Also this patch changes sendRequestForNetwork's signature to only accept
the subtype CallbackHandler instead of Handler: without using
CallbackHandler the NetworkCallbacks are not triggered properly and
bookkeeping of sCallbacks does not happen. sendRequestForNetwork's
signature now makes this explicit.

This step prepares the addition of overloaded versions of
registerNetworkCallback and cie that takes custom Handlers.

Test: build, flashed, manually checked connectivity
Change-Id: I52e8a2cb5075e7aef7b35e30c9845cacba927d13
2017-02-14 16:01:40 +09:00
Erik Kline
21573da57d Merge "Add ConnectivityManager.networkCapabilitiesForType()" am: c313123afe am: d313f7c9fa am: 022044ea69
am: 47500d9b1b

Change-Id: I15fe6fe4c9aec3d244b46516c2992ded33337a9f
2017-02-02 20:03:51 +00:00
Erik Kline
47500d9b1b Merge "Add ConnectivityManager.networkCapabilitiesForType()" am: c313123afe am: d313f7c9fa
am: 022044ea69

Change-Id: I2ab05143299f13012dc2a88efca52160e08c6d97
2017-02-02 07:32:09 +00:00
Erik Kline
022044ea69 Merge "Add ConnectivityManager.networkCapabilitiesForType()" am: c313123afe
am: d313f7c9fa

Change-Id: I6828bc3bb094ca8597ca2d8538045758638c374f
2017-02-02 07:27:13 +00:00
Erik Kline
d313f7c9fa Merge "Add ConnectivityManager.networkCapabilitiesForType()"
am: c313123afe

Change-Id: I0ad50fbf38f11b383fd889dc598cfddd47051477
2017-02-02 07:22:05 +00:00
Erik Kline
ce55eb160d Add ConnectivityManager.networkCapabilitiesForType()
This static method returns a NetworkCapabilities instance with
transports and capabilities set according to the given legacy type.

Also:
    - add NetworkRequest.Builder.setCapabilities(), to be able to use
      the NetworkCapabilities instances returned from the above
    - update UpstreamNetworkMonitor to make immediate use of this

Test: as follows
    - build (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
    - WiFi to DUN upstream tethering works
Bug: 32163131

Change-Id: Idfe1ddd2815c355cbf27cf29eb0e3de177de84e9
2017-02-02 11:07:59 +09:00
Lorenzo Colitti
48a2a32bdd Add an API hint for metered multipath traffic.
This allows an application that knows how to provide seamless
network connectivity (e.g., using QUIC multipath) to find out if
doing so is desired.

Test: builds, boots, runtest frameworks-net passes.
Bug: 34630278
Change-Id: Ic7fd0b9e1cd879fdfaf84009d7125391895e9087
2017-02-01 17:02:29 +09:00
Lorenzo Colitti
38aa28e2ad ConnectivityServiceTest: remove remaining poll loops. am: aebc0598b9 am: 5f807b3b74 am: 87eab8e1c4
am: 4f71ef3f5d

Change-Id: Idc5d60f9ed5fbbb39256b9983a5b292a0302b2f1
2017-02-01 03:18:46 +00:00
Lorenzo Colitti
2f8d8640f9 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: ee6c69ecc4 am: 49040a3d5a am: 5bbbf841eb
am: 016e4f3a23

Change-Id: I5aefc453c022286e6ee2332a53e6c9f36472e9a5
2017-02-01 03:17:19 +00:00
Lorenzo Colitti
b79102b25e Attempt to make waitForIdleHandler reliable. am: 572f1a3185 am: b18bd6bd3d am: e160fe177d
am: 3c3eddc7ae

Change-Id: Ia2d7a4405ce60ca99b1ee6c80c0babf93983cf64
2017-02-01 03:16:18 +00:00
Lorenzo Colitti
4f71ef3f5d ConnectivityServiceTest: remove remaining poll loops. am: aebc0598b9 am: 5f807b3b74
am: 87eab8e1c4

Change-Id: I31681e1248721704a9b792962a2ef5955e375e93
2017-02-01 03:01:52 +00:00
Lorenzo Colitti
8183372be8 Remove assertEventuallyTrue as it's unnecessary. am: 4b07a883ca am: c939693265
am: c2279a09bf

Change-Id: Ib16f54aeaa783a6e26a9d80e61388cbd9ecd9bd3
2017-02-01 03:00:41 +00:00
Lorenzo Colitti
016e4f3a23 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: ee6c69ecc4 am: 49040a3d5a
am: 5bbbf841eb

Change-Id: I91f1338f3488cfc60eef0c2147aa7b1d61107cdd
2017-02-01 02:59:42 +00:00
Lorenzo Colitti
3c3eddc7ae Attempt to make waitForIdleHandler reliable. am: 572f1a3185 am: b18bd6bd3d
am: e160fe177d

Change-Id: I2369fbd693b467283232f47703fd471c8ff60c1f
2017-02-01 02:58:24 +00:00
Lorenzo Colitti
87eab8e1c4 ConnectivityServiceTest: remove remaining poll loops. am: aebc0598b9
am: 5f807b3b74

Change-Id: I06815166fe9ab4b7d6ab580a9eda5304067f9f91
2017-02-01 02:49:23 +00:00
Lorenzo Colitti
c2279a09bf Remove assertEventuallyTrue as it's unnecessary. am: 4b07a883ca
am: c939693265

Change-Id: I7f6d543a3d05b0b165adc7a7c3938c7081c3f778
2017-02-01 02:48:10 +00:00
Lorenzo Colitti
5bbbf841eb Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: ee6c69ecc4
am: 49040a3d5a

Change-Id: I0ff0169ebc5e53cc9f57f224225fb0c93dc241ed
2017-02-01 02:47:16 +00:00
Lorenzo Colitti
e160fe177d Attempt to make waitForIdleHandler reliable. am: 572f1a3185
am: b18bd6bd3d

Change-Id: I72c03d3686858631aefdf96e13e8033f27788f8c
2017-02-01 02:45:55 +00:00
Lorenzo Colitti
5f807b3b74 ConnectivityServiceTest: remove remaining poll loops.
am: aebc0598b9

Change-Id: I675096683c8ed4bc0e540491c0ff6aa828114313
2017-02-01 02:39:30 +00:00
Lorenzo Colitti
c939693265 Remove assertEventuallyTrue as it's unnecessary.
am: 4b07a883ca

Change-Id: Id574b27b40e35fbccac49910867e9735c03118d4
2017-02-01 02:38:30 +00:00
Lorenzo Colitti
49040a3d5a Rename AvoidBadWifiTracker to MultinetworkPolicyTracker
am: ee6c69ecc4

Change-Id: I7615c9128deed7011eb9ab6f2efdcfe2e237a1a5
2017-02-01 02:37:31 +00:00
Lorenzo Colitti
b18bd6bd3d Attempt to make waitForIdleHandler reliable.
am: 572f1a3185

Change-Id: Id7e23c3a2c885ff239efa577a8d366d3df6ca9a2
2017-02-01 02:36:22 +00:00
Lorenzo Colitti
aebc0598b9 ConnectivityServiceTest: remove remaining poll loops.
All the tests are now asynchronous. The only remaining uses of
Thread.sleep() are in the tests that check for NetworkRequest
timeouts.

Test: ConnectivityServiceTest passes 100 times in a row
Bug: 32561414
Change-Id: If420bd66c692a90d5031ee06a888a8cc3b4398a8
2017-01-31 15:44:23 +09:00
Lorenzo Colitti
4b07a883ca Remove assertEventuallyTrue as it's unnecessary.
The calls in testAvoidBadWifi are no longer necessary now that
waitForIdle is reliable, and the calls in testPacketKeepalives
are replaced with a wait for the NetworkAgent to disconnect.

Test: ConnectivityServiceTest passes 100 times in a row.
Bug: 32561414
Change-Id: Icbb161ca6e343bd14764a1c9ccfdd14b6cd6803f
2017-01-31 15:42:58 +09:00
Lorenzo Colitti
ee6c69ecc4 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker
Rename the class and ensure that all code related to bad wifi
avoidance has names that reflect its purpose.  This will allow us
to reuse most of the the code for other purposes in future CLs.

Test: runtest frameworks-net passes
Bug: 34630278
Change-Id: Ida190e5a79e7a12f4eec07e1a3e4d9d138e83bcd
2017-01-31 15:42:57 +09:00
Lorenzo Colitti
572f1a3185 Attempt to make waitForIdleHandler reliable.
The current implementation of IdleableHandlerThread is based on
the assumption that MessageQueue#isIdle will return true iff the
message loop has finished processing its messages.

Unfortunately, this is incorrect: isIdle returns true iff are no
more messages waiting in the queue; thus, it will also return
true while it is processing the last message before going idle.

Instead of using idle handlers, take the simpler approach of
posting a runnable to the message loop and waiting for it to
be processed.

Test: see other CLs in this patch series
Bug: 31479480
Change-Id: Iae75781f067b762c8653a488a5e4d5ee0c789e01
2017-01-31 15:42:17 +09:00
Robin Lee
5dec1ff337 Reinstate USER_PRESENT for ConnectivityService
Reverts half of commit 829f7c72e5
Reverts parts of commit 9b747914f3

Lockdown VPN still needs this to start properly on devices without FBE,
such as phones upgraded from M. Without listening to USER_PRESENT the
first unlock of keystore may get missed, since USER_UNLOCKED is sent too
soon to be useful.

Bug: 34587043
Change-Id: If7a2f5a3173b0f6856244a5f7904bf00c9a5b5e7
2017-01-30 09:19:46 +00:00
Lorenzo Colitti
76b0452e73 Merge "ConnectivityServiceTest: fix flaky tests" am: ee4f8f30eb am: 96a8a237b0 am: 1adc6c2054
am: ad488d0158

Change-Id: I3a16ff459b8f702249f14e9becbb2630ce7471fd
2017-01-27 10:04:15 +00:00
Lorenzo Colitti
495016e658 Merge "ConnectivityServiceTest: remove flaky waitForIdle test." am: be80577f5b am: cdbf1e7545 am: 9d250413a0
am: 822ca7bd3e

Change-Id: Iebafbf438ee4efcd53b3e6d5c71b34c0ca4e2c6b
2017-01-27 10:00:14 +00:00
Lorenzo Colitti
ad488d0158 Merge "ConnectivityServiceTest: fix flaky tests" am: ee4f8f30eb am: 96a8a237b0
am: 1adc6c2054

Change-Id: Iaa1ab50a323133cadfa4f39440fce982cde8d1fe
2017-01-27 10:00:06 +00:00
Lorenzo Colitti
1adc6c2054 Merge "ConnectivityServiceTest: fix flaky tests" am: ee4f8f30eb
am: 96a8a237b0

Change-Id: I66f2c2174c2895224724245c1b3d815da1678955
2017-01-27 09:55:39 +00:00
Lorenzo Colitti
822ca7bd3e Merge "ConnectivityServiceTest: remove flaky waitForIdle test." am: be80577f5b am: cdbf1e7545
am: 9d250413a0

Change-Id: I1d3707b4bc2ae00ca0fad1c3ec7e6ca859fcdd16
2017-01-27 09:55:36 +00:00
Lorenzo Colitti
9d250413a0 Merge "ConnectivityServiceTest: remove flaky waitForIdle test." am: be80577f5b
am: cdbf1e7545

Change-Id: I7fbf2cb2c9778f5c961335c5b9fd5a138ec140db
2017-01-27 09:51:39 +00:00
Lorenzo Colitti
96a8a237b0 Merge "ConnectivityServiceTest: fix flaky tests"
am: ee4f8f30eb

Change-Id: I0577f6b48de8a95e7d12e58a672fb0374ced9403
2017-01-27 09:51:32 +00:00
Lorenzo Colitti
cdbf1e7545 Merge "ConnectivityServiceTest: remove flaky waitForIdle test."
am: be80577f5b

Change-Id: I444746af6adc7be4a3f69243379f65aadf29ea19
2017-01-27 09:47:05 +00:00
Lorenzo Colitti
ee4f8f30eb Merge "ConnectivityServiceTest: fix flaky tests" 2017-01-27 09:40:47 +00:00
Hugo Benichi
16a1f7aed4 Merge commit 'f2bcda635cca9dc6f00b6efb2b9cf92892525bab' into nyc-mr1-dev-plus-aosp am: c95cbb9588 -s ours
am: 92c1e2502a

Change-Id: Iaaba0c8dd7181a5560158c47e817d31c25d8dbf6
2017-01-27 07:43:06 +00:00
Stephen Chen
45150fcbcb Merge commit 'de58879efdcb7aa6d62aa4f67908ae59fa366716' into nyc-mr1-dev-plus-aosp am: 2bb684daf5
am: 04f8e0edfc

Change-Id: I318efe59e1967150338a7bd8001c27d9ebe3cf75
2017-01-27 07:42:07 +00:00
Hugo Benichi
ac6a39cf7e Merge commit 'a19056c35d16ddb5a6c1d3343729701b8939f1e1' into nyc-mr1-dev-plus-aosp am: d49ba144f0 -s ours
am: a72a13498e

Change-Id: I7028ef23f597e6e82ecdb6c11a6c8dcdb1d1f77b
2017-01-27 07:40:56 +00:00
Hugo Benichi
92c1e2502a Merge commit 'f2bcda635cca9dc6f00b6efb2b9cf92892525bab' into nyc-mr1-dev-plus-aosp
am: c95cbb9588  -s ours

Change-Id: Icf4cf5e8e95b9de4b313f826a40c1df81c02aa8a
2017-01-27 07:29:59 +00:00
Stephen Chen
04f8e0edfc Merge commit 'de58879efdcb7aa6d62aa4f67908ae59fa366716' into nyc-mr1-dev-plus-aosp
am: 2bb684daf5

Change-Id: I3de8f91b1c9d0160ec58be8347502769580e0159
2017-01-27 07:29:07 +00:00
Hugo Benichi
a72a13498e Merge commit 'a19056c35d16ddb5a6c1d3343729701b8939f1e1' into nyc-mr1-dev-plus-aosp
am: d49ba144f0  -s ours

Change-Id: Ie2f8c1e18acf57238fe4816812562ecd1644cf51
2017-01-27 07:28:06 +00:00
The Android Automerger
c95cbb9588 Merge commit 'f2bcda635cca9dc6f00b6efb2b9cf92892525bab' into nyc-mr1-dev-plus-aosp
* commit 'f2bcda635cca9dc6f00b6efb2b9cf92892525bab':
  Captive portals: login activity probes like NetworkMonitor
  Logging improvements in CaptivePortalLoginActivity
  Captive portal systel log improvements
  Fix flaky IpPrefixTest.
  Removing bogus file added by mistake
  frameworks-test: adding missing @SmallTest
  Netd events: record connect() success/errno
  Add missing dependency.
  Show notification for always-on app VPN
2017-01-27 06:39:52 +00:00