Commit Graph

3172 Commits

Author SHA1 Message Date
Hugo Benichi
56260ed9cb DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler
This patch simplifies CallbackHandler in the following way:
  - CallbackHandler directly uses the static references to
    sNetworkCallback and sCallbackRefCount. This allows to remove
    instance fields in CallbackHandler.
  - CallbackHandler does not have a reference to ConnectivityManager
    anymore
  - CallbackHandler.getObject() is now generic in a type-safe way.

Test: ConnectivityServiceTest passes
Bug: 28537383
Bug: 32130437

(cherry picked from commit 0b42baf68a)

Change-Id: I1b5fe2a361b5f623a8310ae698497c83d72f3034
2016-12-09 13:42:20 +09:00
Jeremy Klein
fb63d5a4ef DO NOT MERGE: Add a null check for the OnStartTetheringCallback.
This avoids a NullPointerException when trying to call the callback
and gives a more readable error message.

(cherry picked from commit 35e99ea8ef)

Change-Id: Ia419ff68ef10f308f9e44be47420e27099ee6070
2016-12-09 13:42:02 +09:00
Hugo Benichi
048c50c491 Merge changes from topic 'framework-net-aosp' am: 6b0570513e am: 5910f412bd am: 72f8bb8b7f
am: 03f5610b19

Change-Id: Ia03edd1d0a972dfc546a32fcf06784a00d6ab8cd
2016-12-09 04:17:08 +00:00
Hugo Benichi
3d108c9f1b DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents am: 6d442d82d0 -s ours am: 6765bc08d0 -s ours am: c19960bf85
am: c32fc5fdb2  -s ours

Change-Id: Ia453e3c806be8f58ff96e4b760de1c6a41cc8757
2016-12-09 04:16:09 +00:00
Hugo Benichi
6a359dc5c0 DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings am: 834405cbe4 -s ours am: f3b4c26453 -s ours am: 7e64d17a53
am: fae429c07f  -s ours

Change-Id: Ic511ed8370c3a388bdc77f064cbe25bc434d927d
2016-12-09 04:14:15 +00:00
Hugo Benichi
b39d49a517 DO NOT MERGE: IpConnectivity metrics: add version number am: 8ce412614a -s ours am: 0e67ef7d3f -s ours am: 6a77e74a49
am: f5d42f527f  -s ours

Change-Id: I859f9b7ebdf93c06841a631e616a88270a8aebae
2016-12-09 04:10:50 +00:00
Hugo Benichi
03f5610b19 Merge changes from topic 'framework-net-aosp' am: 6b0570513e am: 5910f412bd
am: 72f8bb8b7f

Change-Id: I8cd4afc5e1381f5b69e4b6dd598c9fee76dc785e
2016-12-09 04:02:17 +00:00
Hugo Benichi
c32fc5fdb2 DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents am: 6d442d82d0 -s ours am: 6765bc08d0 -s ours
am: c19960bf85

Change-Id: Ia32470ecf8c0dd918994f9d0bccb20248c3b02d1
2016-12-09 04:01:20 +00:00
Hugo Benichi
fae429c07f DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings am: 834405cbe4 -s ours am: f3b4c26453 -s ours
am: 7e64d17a53

Change-Id: Ib8045e9d97c0928baa0c0a4a752f544aaa1fe790
2016-12-09 03:59:36 +00:00
Hugo Benichi
f5d42f527f DO NOT MERGE: IpConnectivity metrics: add version number am: 8ce412614a -s ours am: 0e67ef7d3f -s ours
am: 6a77e74a49

Change-Id: I5b970302c258569638890a49b3455e43614ec63a
2016-12-09 03:56:29 +00:00
Hugo Benichi
72f8bb8b7f Merge changes from topic 'framework-net-aosp' am: 6b0570513e
am: 5910f412bd

Change-Id: I919fd8d8075c89aa9eb42b505017c075f61824ff
2016-12-09 03:47:48 +00:00
Hugo Benichi
c19960bf85 DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents am: 6d442d82d0 -s ours
am: 6765bc08d0  -s ours

Change-Id: I9e3ca112a654018d9d0b72ba1b0963e7fb678cf0
2016-12-09 03:46:50 +00:00
Hugo Benichi
7e64d17a53 DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings am: 834405cbe4 -s ours
am: f3b4c26453  -s ours

Change-Id: I7f2eee043702be1a8878851793b9b17bdb89766b
2016-12-09 03:45:08 +00:00
Hugo Benichi
6a77e74a49 DO NOT MERGE: IpConnectivity metrics: add version number am: 8ce412614a -s ours
am: 0e67ef7d3f  -s ours

Change-Id: I05ffe76ca4f266bd341fc298cbc03da62991e4bb
2016-12-09 03:41:57 +00:00
Treehugger Robot
6b0570513e Merge changes from topic 'framework-net-aosp'
* changes:
  DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents
  DO NOT MERGE: TokenBucket for rate-limiting and throttling
  DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings
  DO NOT MERGE: CaptivePortalLogin: set mixed content policy to compatibility.
  DO NOT MERGE: Add IP conn metrics to dumpsys and bug reports
  DO NOT MERGE: IpConnectivity metrics: add version number
2016-12-09 03:19:13 +00:00
Hugo Benichi
6d442d82d0 DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents
This patch uses the previously introduced TokenBucket to rate limit
ApfProgramEvents, still allowing for burst of ApfProgramEvents when a
new interface is set up (due to ipv4 provisioning, multicast lock, ipv6 RAs
triggering new APF program events in short amounts of time).

Test: new test in IpConnectivityMetricsTest
Bug: 1550402

(cherry picked from commit e3f7299ce2)

Change-Id: Idb640dec13ba64180985544b9709a586af66eb6e
2016-12-09 11:21:31 +09:00
Hugo Benichi
834405cbe4 DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings
Test: IpConnectivityMetricsTest passes. Also manually changed the new
setting and verified the buffer size is as expected after flushing the
buffer.
Bug: 32198637

(cherry picked from commit 6d8c1dfe4b)

Change-Id: Iefbeac3a688b260fb3f92dfe0bfd9db28e26749d
2016-12-09 11:21:26 +09:00
Hugo Benichi
8ce412614a DO NOT MERGE: IpConnectivity metrics: add version number
This patch adds a version field to ipconnectivity.proto and populates it
to 2, which is the logical version number for NYC-MR2.

Test: IpConnectivity{EventBuilder,Metrics}Test pass
Bug: 32127906

(cherry picked from commit f04b01f0a0)

Change-Id: If8f167c0dc4c1abe0e235e2adfd131168a4ddc52
2016-12-09 11:21:11 +09:00
Etan Cohen
b2410a4a90 DO NOT MERGE: [CS] Remove timeout event after first available am: 3fb372fe9f -s ours am: a8b73b23d6 -s ours am: 98c799e134
am: 98b4132580  -s ours

Change-Id: I1919ee28071c2281896a2f7fbb3d6aadf4f47cae
2016-12-08 17:53:04 +00:00
Lorenzo Colitti
0cceef0e00 DO NOT MERGE: Move the connectivity tests to frameworks/base/tests/net. am: cf8c8d55f8 -s ours am: d1e22a3f07 -s ours am: 60584ca47e
am: 449590b993  -s ours

Change-Id: I3613a50627a6722e3c337caaa2880d96f1b39beb
2016-12-08 17:49:56 +00:00
Lorenzo Colitti
e4336bc3a0 DO NOT MERGE: De-guava BroadcastInterceptingContext and move it to testutils. am: 834805275a -s ours am: bcb7e32954 -s ours am: f6eae67d18
am: cbecbbbf95  -s ours

Change-Id: I07d5fdbb7285da095676aa1612df232d77d41b48
2016-12-08 17:49:10 +00:00
Lorenzo Colitti
b7d0555143 DO NOT MERGE: Move FakeSettingsProvider to a common location. am: 4166a1fcfa -s ours am: a84ede299c -s ours am: ab28abf325
am: 268504b253  -s ours

Change-Id: I53d3ceb607580cc0a04d414cef11f69d6877be21
2016-12-08 17:48:25 +00:00
Hugo Benichi
0b0aa7c44d DO NOT MERGE: ConnectivityServiceTest: mark flaky test as such am: 64d0a0deab -s ours am: e47b0886ad -s ours am: f0c14184c2
am: 8ca2def22f  -s ours

Change-Id: Ia5e678bc4297f8d6531d7b8fb6cc1085d2877947
2016-12-08 17:47:03 +00:00
Calvin On
6937717f70 DO NOT MERGE: Add option to skip and avoid captive portals. am: a3cbcca3cc -s ours am: 8006bd5c66 -s ours am: ad526b446c
am: 450a3cd69b  -s ours

Change-Id: I6af06157789b0eed11588d697e42776cdaafdb11
2016-12-08 17:46:08 +00:00
Erik Kline
cef65ac538 DO NOT MERGE: Support timeouts for requestNetwork() invocations. am: 5791c5f681 -s ours am: eb6be2c826 -s ours am: b87f698fc6
am: 97da4cbf7e  -s ours

Change-Id: I380a34e414f13ff1e55eb872090d2ebc1b81ba7a
2016-12-08 17:41:23 +00:00
Pierre Imai
bc4454680c DO NOT MERGE: Silence the obnoxious MTU 0 error message that occur when no MTU is specified for a given network. am: fb3178adfc -s ours am: 8a73b2896d -s ours am: 2e3f5c5d6b
am: 3813243f3f  -s ours

Change-Id: I35db4c3ff6b38ba0813f35158a65f519b1b40468
2016-12-08 17:40:19 +00:00
Etan Cohen
98b4132580 DO NOT MERGE: [CS] Remove timeout event after first available am: 3fb372fe9f -s ours am: a8b73b23d6 -s ours
am: 98c799e134

Change-Id: If94bc1b3dd0ed5ad697656303ca434152b4a5b18
2016-12-08 11:34:09 +00:00
Lorenzo Colitti
449590b993 DO NOT MERGE: Move the connectivity tests to frameworks/base/tests/net. am: cf8c8d55f8 -s ours am: d1e22a3f07 -s ours
am: 60584ca47e

Change-Id: I6b52a0383884ad41b1601bdd9cf976f58c0dcefd
2016-12-08 11:31:13 +00:00
Lorenzo Colitti
cbecbbbf95 DO NOT MERGE: De-guava BroadcastInterceptingContext and move it to testutils. am: 834805275a -s ours am: bcb7e32954 -s ours
am: f6eae67d18

Change-Id: I261c10f930d32c6d69d0ced4d0d7d81f3357cf63
2016-12-08 11:30:17 +00:00
Lorenzo Colitti
268504b253 DO NOT MERGE: Move FakeSettingsProvider to a common location. am: 4166a1fcfa -s ours am: a84ede299c -s ours
am: ab28abf325

Change-Id: I3e877a603c1c19af15e5f38d4e0301dfddfc6f39
2016-12-08 11:29:28 +00:00
Hugo Benichi
8ca2def22f DO NOT MERGE: ConnectivityServiceTest: mark flaky test as such am: 64d0a0deab -s ours am: e47b0886ad -s ours
am: f0c14184c2

Change-Id: If5133073f09b59b0458c1784b9d288f9a176c568
2016-12-08 11:28:34 +00:00
Calvin On
450a3cd69b DO NOT MERGE: Add option to skip and avoid captive portals. am: a3cbcca3cc -s ours am: 8006bd5c66 -s ours
am: ad526b446c

Change-Id: I7e7f6fa8d643bbd83c9b73614f80d202e3f28f20
2016-12-08 11:27:11 +00:00
Erik Kline
97da4cbf7e DO NOT MERGE: Support timeouts for requestNetwork() invocations. am: 5791c5f681 -s ours am: eb6be2c826 -s ours
am: b87f698fc6

Change-Id: I3cba7c98328a4237105243502fe148ed6a35ef48
2016-12-08 11:22:25 +00:00
Pierre Imai
3813243f3f DO NOT MERGE: Silence the obnoxious MTU 0 error message that occur when no MTU is specified for a given network. am: fb3178adfc -s ours am: 8a73b2896d -s ours
am: 2e3f5c5d6b

Change-Id: I20016d9056888897515e6a4b4296e3ea76f11b61
2016-12-08 11:21:31 +00:00
Etan Cohen
98c799e134 DO NOT MERGE: [CS] Remove timeout event after first available am: 3fb372fe9f -s ours
am: a8b73b23d6  -s ours

Change-Id: I61fbbf03bc011ae0b6b0e011bfb69dea33195c79
2016-12-08 11:07:46 +00:00
Lorenzo Colitti
60584ca47e DO NOT MERGE: Move the connectivity tests to frameworks/base/tests/net. am: cf8c8d55f8 -s ours
am: d1e22a3f07  -s ours

Change-Id: I92f0f18ed7ee196f1cdb1369393ff7c4e2c800fc
2016-12-08 11:04:38 +00:00
Lorenzo Colitti
f6eae67d18 DO NOT MERGE: De-guava BroadcastInterceptingContext and move it to testutils. am: 834805275a -s ours
am: bcb7e32954  -s ours

Change-Id: I377b66283b29bb97e02ec796352bc3a5dbea1454
2016-12-08 11:03:45 +00:00
Lorenzo Colitti
ab28abf325 DO NOT MERGE: Move FakeSettingsProvider to a common location. am: 4166a1fcfa -s ours
am: a84ede299c  -s ours

Change-Id: Ia6f433944c63245436199b8b9b1a022794ab939e
2016-12-08 11:02:57 +00:00
Hugo Benichi
f0c14184c2 DO NOT MERGE: ConnectivityServiceTest: mark flaky test as such am: 64d0a0deab -s ours
am: e47b0886ad  -s ours

Change-Id: I803b51cae7b20502d11701cb99ab3816d6995555
2016-12-08 11:02:09 +00:00
Calvin On
ad526b446c DO NOT MERGE: Add option to skip and avoid captive portals. am: a3cbcca3cc -s ours
am: 8006bd5c66  -s ours

Change-Id: I9984984de7f72e23fbc11e972ff851a1d2adc6c1
2016-12-08 11:00:46 +00:00
Erik Kline
b87f698fc6 DO NOT MERGE: Support timeouts for requestNetwork() invocations. am: 5791c5f681 -s ours
am: eb6be2c826  -s ours

Change-Id: Id91b2267ffcd7c66a1be8e01761ffb1d943082d3
2016-12-08 10:56:13 +00:00
Pierre Imai
2e3f5c5d6b DO NOT MERGE: Silence the obnoxious MTU 0 error message that occur when no MTU is specified for a given network. am: fb3178adfc -s ours
am: 8a73b2896d  -s ours

Change-Id: Ic529525e6671da1b6a85890c8eb40238b07da2b3
2016-12-08 10:54:56 +00:00
Etan Cohen
3fb372fe9f DO NOT MERGE: [CS] Remove timeout event after first available
Guarantees that timeouts are only delivered if a network never
becomes available. Once a network is available the timeout is
canceled.

Bug: 31402633
Test: all timeout related unit tests pass (new one added)

(cherry picked from commit 5eba9d7061)

Change-Id: I7cd3086544c881915fc6dbf14b87a24ab0cd8748
2016-12-08 17:13:37 +09:00
Lorenzo Colitti
cf8c8d55f8 DO NOT MERGE: Move the connectivity tests to frameworks/base/tests/net.
This will give us a good place to put all the networking tests.

Fix: 31479480
Test: adb  shell am instrument -w -e notClass com.android.server.connectivity.tethering.TetherInterfaceStateMachineTest 'com.android.frameworks.tests.net/android.support.test.runner.AndroidJUnitRunner'  # PASS

(cherry picked from commit 5a7c486d70)

Change-Id: I993eeaa5dec001c39389023f355f506129b356e7
2016-12-08 17:13:35 +09:00
Lorenzo Colitti
834805275a DO NOT MERGE: De-guava BroadcastInterceptingContext and move it to testutils.
Removing the static dependency on guava reduces test compile time
by about 20 seconds on a Z840, thus substantially speeding up the
compile/test cycle.

Make FutureIntent public instead of package-private because it is
used directly by NetworkPolicyManagementServiceTest, which as of
this CL is now in a different package.

(cherry picked from commit 6a64dd2178)

Test: runtest frameworks-services -c com.android.server.ConnectivityServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.NetworkPolicyManagerServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.net.NetworkStatsServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.NetworkManagementServiceTest  # Already failing.
Bug: 31479480
Change-Id: Ifab32c9214e9caab71dbf93b3d3ca88df6f49636
2016-12-08 17:13:35 +09:00
Lorenzo Colitti
4166a1fcfa DO NOT MERGE: Move FakeSettingsProvider to a common location.
(cherry picked from commit 4163f9ca8f)

Test: runtest frameworks-util -c com.android.internal.util.test.FakeSettingsProviderTest
Test: runtest frameworks-services -c com.android.server.ConnectivityServiceTest
Test: runtest frameworks-services -c com.android.server.retaildemo.PreloadAppsInstallerTest
Test: runtest frameworks-services -c com.android.server.retaildemo.RetailDemoModeServiceTest
Bug: 31479480
Change-Id: I8d4d4de2937012dd33924f53e68f96241a9b2b4f
2016-12-08 17:13:34 +09:00
Hugo Benichi
64d0a0deab DO NOT MERGE: ConnectivityServiceTest: mark flaky test as such
This patch extracts into its own independent test a test sub-block looking
for a race condition when not waiting on handlers to become idle:
there is no way to prevent the race from not happening when looking for
it this way. This makes the test flakky.

This new independent test is tagged with @FlakkyTest(tolerance = 3).

Test: ConnectivityServiceTest passes, with higher probability.
Bug: 31479480

(cherry picked from commit 144810b6cf)

Change-Id: I3c702bd981ed80ed606be0fb52d61eb3d7195a6f
2016-12-08 17:13:34 +09:00
Calvin On
a3cbcca3cc DO NOT MERGE: Add option to skip and avoid captive portals.
Test: ConnectivityServiceTest updated with test cases.
Test: Manually tested against att-wifi in B42.
Bug: 30222699

(cherry picked from commit dada145a85)

Change-Id: I90c0f97fe0e41de4059bceae7b56ab3a70145696
2016-12-08 17:13:33 +09:00
Erik Kline
5791c5f681 DO NOT MERGE: Support timeouts for requestNetwork() invocations.
(cherry-pick of 0b7a74842b)
(cherry picked from commit 155a59aa63)

Bug: 21414325
Change-Id: I1a58823a372154589f972b98c4c428eab0e0523e
2016-12-08 17:13:01 +09:00
Pierre Imai
fb3178adfc DO NOT MERGE: Silence the obnoxious MTU 0 error message that occur when no MTU is
specified for a given network.

Bug: 10705136

(cherry picked from commit 07c53a35ae)

Change-Id: I89e2fdfbbfa981d435a2974422d9d9c009872d76
2016-12-08 16:49:22 +09:00