Commit Graph

3495 Commits

Author SHA1 Message Date
Erik Kline
0ecd579f4b Merge "Update UpstreamNetworkMonitor to use custom Handlers" am: 35c89886c2 am: 46175db538
am: c239511cdb

Change-Id: I9a210b4896810e7365b2403495716395b3866650
2017-02-24 08:24:51 +00:00
Erik Kline
46175db538 Merge "Update UpstreamNetworkMonitor to use custom Handlers"
am: 35c89886c2

Change-Id: I76433822a9b7c124e4b7cfcf2a20cb0e43a60199
2017-02-24 08:15:19 +00:00
Erik Kline
f913e3a717 Update UpstreamNetworkMonitor to use custom Handlers
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32130437
Bug: 32163131

Change-Id: I2bc3f87cdf7fa6392b4750eb8adb4ea33c6a3f43
2017-02-24 13:06:51 +09:00
Hugo Benichi
7256669a28 Merge "IP connectivity metrics: cleanup obsolete code" 2017-02-23 07:02:30 +00:00
Hugo Benichi
c5371193f2 Merge "ConnectivityManager: allow custom Handlers" am: ef69246260 am: b608e7574c
am: 0f99e5367b

Change-Id: I9f7fc64c2d3d6f88344c9547b8e1ac17cf3d1104
2017-02-22 05:59:44 +00:00
Hugo Benichi
8a400e0c90 IP connectivity metrics: cleanup obsolete code
This patch cleans obsolete code related to IP connectivity metrics:
 - remove @SystemApi on android.net.metrics: now that metrics events
   are processed and serialized in the frameworks only, event classes
   should not appear in the system apis.
 - remove obsolete Logger classes: ConnectivityMetrics app was the
   unique user of ConnectivityMetricsLogger until nyc-mr1. From nyc-mr1
   the app started using dumpsys to get metrics for IpConnectivity and
   Telephony, which made ConnectivityMetricsLogger obsolete.
 - simplifications in MetricsTestUtil

Test: - runtest frameworks-net
      - manually verified $ adb shell dumpsys connmetrics
Bug: 30054585
Bug: 32648597
Change-Id: I85ef65f7f69eb9299e4636cc7af54067201d9daf
2017-02-22 12:56:38 +09:00
Hugo Benichi
b608e7574c Merge "ConnectivityManager: allow custom Handlers"
am: ef69246260

Change-Id: I8da5540f6561cdef4adc91bbeeb9c21a91c08d49
2017-02-22 03:48:10 +00:00
Hugo Benichi
cd5a0e09e9 ConnectivityManager: allow custom Handlers
This patch adds overloaded version of registerDefaultNetworkCallback
registerNetworkCallback, and requestNetwork with an additional Handler
argument that is used for running the caller provided NetworkCallback.

It also clarifies the documentation of the existing methods that
implicitly uses the internal singleton ConnectivityThread about which
internal Handler is used for running NetworkCallbacks.

Test: build, flashed, booted device
Bug: 32130437
Change-Id: Iae15f81e47e2dc0355baf2f2c1679b77e56af299
2017-02-22 09:24:01 +09:00
Robin Lee
4180aed562 Merge "Reinstate USER_PRESENT for ConnectivityService" am: e6aea7d299 am: ebb56ce1fb
am: 4d00a13c35

Change-Id: Id22859b30b848418cbc1bcf46c74ebd2aa88cd06
2017-02-21 18:13:12 +00:00
Robin Lee
ebb56ce1fb Merge "Reinstate USER_PRESENT for ConnectivityService"
am: e6aea7d299

Change-Id: If8b7239cdabdd79d9ea24baf99e95c6ec1a9acf3
2017-02-21 17:55:07 +00:00
Treehugger Robot
e6aea7d299 Merge "Reinstate USER_PRESENT for ConnectivityService" 2017-02-21 13:23:41 +00:00
sj.cha
b679d1a507 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN" am: 35af406240 am: 19aa93e742 am: 52944ac4d1
am: 53bd9233a9

Change-Id: Ib7e586a778c6fb9b920f0790e4b343c122250bb7
2017-02-17 13:32:07 +00:00
sj.cha
53bd9233a9 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN" am: 35af406240 am: 19aa93e742
am: 52944ac4d1

Change-Id: I5e0faee7a0b1c6bdfafe77560a91e999f40edc4a
2017-02-17 13:27:04 +00:00
sj.cha
52944ac4d1 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN" am: 35af406240
am: 19aa93e742

Change-Id: I82c297e654af6690c6a3be216a0da08a3aff5b9d
2017-02-17 13:21:34 +00:00
sj.cha
19aa93e742 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN"
am: 35af406240

Change-Id: I21a69eb02b13b20f66996836d54b8aadadfa80ec
2017-02-17 13:17:00 +00:00
Treehugger Robot
35af406240 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN" 2017-02-17 13:07:21 +00:00
Etan Cohen
bd64fb8abf Merge changes from topic 'cm_request_to' am: b43c096875 am: e88ad9f57d am: 03c83775a3
am: 0b4f6b95ed

Change-Id: I2cef23ff183428041273007cf9bb1b655f92372a
2017-02-16 14:46:52 +00:00
Etan Cohen
0b4f6b95ed Merge changes from topic 'cm_request_to' am: b43c096875 am: e88ad9f57d
am: 03c83775a3

Change-Id: Ief32189b0f6f2c70d7e4097f70dbdf8195bd8713
2017-02-16 14:38:28 +00:00
Etan Cohen
03c83775a3 Merge changes from topic 'cm_request_to' am: b43c096875
am: e88ad9f57d

Change-Id: I2720e64e4af88df9d3a7b6209e9fcef4a0340986
2017-02-16 14:29:29 +00:00
Etan Cohen
e88ad9f57d Merge changes from topic 'cm_request_to'
am: b43c096875

Change-Id: I9ca18c0570be831ab37cdf200c28b0778117198d
2017-02-16 14:23:18 +00:00
Etan Cohen
b43c096875 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
3985c17be5 [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
7e1bd5a8b7 Merge "ConnectivityManager: fix potential NPE" am: b688dd18ab am: 52f0931888 am: 2b07754b8f
am: 8c2f06e6fe

Change-Id: I628fdf36a5a80a2d93ff4c4785253cb16a9e4ad2
2017-02-15 01:29:31 +00:00
Hugo Benichi
8c2f06e6fe Merge "ConnectivityManager: fix potential NPE" am: b688dd18ab am: 52f0931888
am: 2b07754b8f

Change-Id: I6f487ce9da656610c939ddc78e834ac8ef5f8135
2017-02-15 01:24:29 +00:00
Hugo Benichi
2b07754b8f Merge "ConnectivityManager: fix potential NPE" am: b688dd18ab
am: 52f0931888

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

Change-Id: If562fc6a921569ad9d3141cac72b6f395a30da9e
2017-02-15 01:05:24 +00:00
Hugo Benichi
ec180d57f1 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
70585750e5 Merge "Add ConnectivityManager.networkCapabilitiesForType()" am: c313123afe am: 848a442b82 am: 2d0a06b308
am: 4f01ec8220

Change-Id: I15fe6fe4c9aec3d244b46516c2992ded33337a9f
2017-02-02 20:03:51 +00:00
Erik Kline
4f01ec8220 Merge "Add ConnectivityManager.networkCapabilitiesForType()" am: c313123afe am: 848a442b82
am: 2d0a06b308

Change-Id: I2ab05143299f13012dc2a88efca52160e08c6d97
2017-02-02 07:32:09 +00:00
Erik Kline
2d0a06b308 Merge "Add ConnectivityManager.networkCapabilitiesForType()" am: c313123afe
am: 848a442b82

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

Change-Id: I0ad50fbf38f11b383fd889dc598cfddd47051477
2017-02-02 07:22:05 +00:00
Erik Kline
50068e5fdd 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
231efb08b7 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
b1f92149a3 ConnectivityServiceTest: remove remaining poll loops. am: 92ec1ce668 am: b079dd8476 am: 994368a55f
am: ffbf8468ef

Change-Id: Idc5d60f9ed5fbbb39256b9983a5b292a0302b2f1
2017-02-01 03:18:46 +00:00
Lorenzo Colitti
0ad0efae32 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: b8dfec4b88 am: a566163a38 am: 3cdc4f95e0
am: 1afd50b7b8

Change-Id: I5aefc453c022286e6ee2332a53e6c9f36472e9a5
2017-02-01 03:17:19 +00:00
Lorenzo Colitti
ffb5a83d48 Attempt to make waitForIdleHandler reliable. am: 53347a0f27 am: 9f0ddc6573 am: dfd6d2e764
am: 3701103f7f

Change-Id: Ia2d7a4405ce60ca99b1ee6c80c0babf93983cf64
2017-02-01 03:16:18 +00:00
Lorenzo Colitti
ffbf8468ef ConnectivityServiceTest: remove remaining poll loops. am: 92ec1ce668 am: b079dd8476
am: 994368a55f

Change-Id: I31681e1248721704a9b792962a2ef5955e375e93
2017-02-01 03:01:52 +00:00
Lorenzo Colitti
09e4337760 Remove assertEventuallyTrue as it's unnecessary. am: 6d3b09c575 am: 7b1eb3ad2d
am: d18e432897

Change-Id: Ib16f54aeaa783a6e26a9d80e61388cbd9ecd9bd3
2017-02-01 03:00:41 +00:00
Lorenzo Colitti
1afd50b7b8 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: b8dfec4b88 am: a566163a38
am: 3cdc4f95e0

Change-Id: I91f1338f3488cfc60eef0c2147aa7b1d61107cdd
2017-02-01 02:59:42 +00:00
Lorenzo Colitti
3701103f7f Attempt to make waitForIdleHandler reliable. am: 53347a0f27 am: 9f0ddc6573
am: dfd6d2e764

Change-Id: I2369fbd693b467283232f47703fd471c8ff60c1f
2017-02-01 02:58:24 +00:00
Lorenzo Colitti
994368a55f ConnectivityServiceTest: remove remaining poll loops. am: 92ec1ce668
am: b079dd8476

Change-Id: I06815166fe9ab4b7d6ab580a9eda5304067f9f91
2017-02-01 02:49:23 +00:00
Lorenzo Colitti
d18e432897 Remove assertEventuallyTrue as it's unnecessary. am: 6d3b09c575
am: 7b1eb3ad2d

Change-Id: I7f6d543a3d05b0b165adc7a7c3938c7081c3f778
2017-02-01 02:48:10 +00:00
Lorenzo Colitti
3cdc4f95e0 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: b8dfec4b88
am: a566163a38

Change-Id: I0ff0169ebc5e53cc9f57f224225fb0c93dc241ed
2017-02-01 02:47:16 +00:00
Lorenzo Colitti
dfd6d2e764 Attempt to make waitForIdleHandler reliable. am: 53347a0f27
am: 9f0ddc6573

Change-Id: I72c03d3686858631aefdf96e13e8033f27788f8c
2017-02-01 02:45:55 +00:00
Lorenzo Colitti
b079dd8476 ConnectivityServiceTest: remove remaining poll loops.
am: 92ec1ce668

Change-Id: I675096683c8ed4bc0e540491c0ff6aa828114313
2017-02-01 02:39:30 +00:00
Lorenzo Colitti
7b1eb3ad2d Remove assertEventuallyTrue as it's unnecessary.
am: 6d3b09c575

Change-Id: Id574b27b40e35fbccac49910867e9735c03118d4
2017-02-01 02:38:30 +00:00
Lorenzo Colitti
a566163a38 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker
am: b8dfec4b88

Change-Id: I7615c9128deed7011eb9ab6f2efdcfe2e237a1a5
2017-02-01 02:37:31 +00:00
Lorenzo Colitti
9f0ddc6573 Attempt to make waitForIdleHandler reliable.
am: 53347a0f27

Change-Id: Id7e23c3a2c885ff239efa577a8d366d3df6ca9a2
2017-02-01 02:36:22 +00:00
Lorenzo Colitti
92ec1ce668 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
6d3b09c575 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