Commit Graph

2929 Commits

Author SHA1 Message Date
Erik Kline
b33ceca786 Merge "Stop setting net.dns{1234} system properties." am: 2ecbd49edd am: 62f75e995a
am: e17f2b6a8b

Change-Id: I38d6608f64076ffa3300255eb66c51c32e590b0f
2016-12-12 08:41:47 +00:00
Erik Kline
e17f2b6a8b Merge "Stop setting net.dns{1234} system properties." am: 2ecbd49edd
am: 62f75e995a

Change-Id: I7d400352de4bc11204cd1ec8c9aeda5381cd4931
2016-12-12 08:35:20 +00:00
Erik Kline
62f75e995a Merge "Stop setting net.dns{1234} system properties."
am: 2ecbd49edd

Change-Id: I9b31b281896995943ce8217c3230867db380a841
2016-12-12 08:29:14 +00:00
Treehugger Robot
2ecbd49edd Merge "Stop setting net.dns{1234} system properties." 2016-12-12 08:16:35 +00:00
Lorenzo Colitti
6b92566b1e Merge changes from topic 'framework-net-aosp' am: 16193a27e6 am: 1a2fa0f372
am: ec55edefc7

Change-Id: Idb0e86655f5d4f835796f5ebe31da99e419d66bf
2016-12-09 10:53:48 +00:00
Hugo Benichi
dde56579a3 DO NOT MERGE: frameworks-test: adding missing @SmallTest am: b10b3e9c14 -s ours am: 9f65f04157 -s ours
am: c2b724e114

Change-Id: Ib6a8f4b7ca365ab5cb42b9e57311228be273075a
2016-12-09 10:40:12 +00:00
Hugo Benichi
82758595c0 DO NOT MERGE: Netd events: record connect() success/errno am: 565f0b2d66 -s ours am: d84f932680 -s ours
am: d090bd44dd

Change-Id: Ic83b2d46bc4d25878c70c0a02d39f14ecbeab84f
2016-12-09 10:39:20 +00:00
Tony Mak
c28ed9fe4c DO NOT MERGE: Show notification for always-on app VPN am: 7b6200aa9f -s ours am: 118071a481 -s ours
am: 39c1b059d6

Change-Id: I871444d296f0c49f587e98d1e0b760846da37c13
2016-12-09 10:37:38 +00:00
Stephen Chen
f785613fb2 DO NOT MERGE: Implement metered tracking for NetworkStats summary queries. am: 0889b39d2c -s ours am: 3f5785260e -s ours
am: a3430519b3

Change-Id: Ic0f11bdb50d43c0dd9c449ae3c784b0214b865e3
2016-12-09 10:36:45 +00:00
Hugo Benichi
a2cb5accc6 DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings am: aadb059a9f -s ours am: a30ae5542b -s ours
am: 8f56a5e39e

Change-Id: Iebd06f7c03b2068314c24a14a2b38d2413b88536
2016-12-09 10:32:40 +00:00
Hugo Benichi
a6c0fe058b DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark am: d0f492a893 -s ours am: 0bef352535 -s ours
am: 5ace8e7dca

Change-Id: I7379d8223778d3f2df97d88c0d6f291df219c579
2016-12-09 10:31:27 +00:00
Felipe Leme
a0a8c6d749 DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock. am: 8d517776e8 -s ours am: fbbaf25665 -s ours
am: 0404016147

Change-Id: I4aa888c55824eba58b7e0af78b510a144608e704
2016-12-09 10:28:28 +00:00
Felipe Leme
36f31949b8 DO NOT MERGE: Use @Ignore to explicitly disable a @Test method. am: 0e6e089843 -s ours am: b296948b3b -s ours
am: f346ceece7

Change-Id: Icaa4e18775b6e810738fb9d180ea20f7ce5c4506
2016-12-09 10:27:35 +00:00
Felipe Leme
ead62d1cd7 DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4. am: bf499379b8 -s ours am: 82393f7b98 -s ours
am: e5f4778f04

Change-Id: I4acc3df60493e5ac388772f8c0e22ac92bc3ce4c
2016-12-09 10:26:08 +00:00
Jeremy Joslin
a66df62191 DO NOT MERGE: VPN network stat accounting changes. am: 71f79690a7 -s ours am: 12bb3f057b -s ours
am: 4abd92e917

Change-Id: Ie33371e7e4e47071aa9f74fef93ddf2cff2ec57a
2016-12-09 10:25:17 +00:00
Hugo Benichi
fdc2f1e075 DO NOT MERGE: ConnectivityThread: use lazy holder idiom am: e5ef0ce33c -s ours am: f6cb43ae32 -s ours
am: cc374542ca

Change-Id: I121ad24bed0fa12b80110b1058ad4279ec9c0107
2016-12-09 10:24:20 +00:00
Hugo Benichi
2744db6456 DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper am: 94e0d04479 -s ours am: 7337239702 -s ours
am: 5617d4ef19

Change-Id: If52ab02bd501d4b071f24ddf8abdfe344e7358eb
2016-12-09 10:23:28 +00:00
Hugo Benichi
46ed74c3d3 DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler am: 515e786cfd -s ours am: ef148edaa2 -s ours
am: b6574912aa

Change-Id: I7c177123057676622e1aa43c68676ee06ed60ee6
2016-12-09 10:22:25 +00:00
Jeremy Klein
4ce8d89299 DO NOT MERGE: Add a null check for the OnStartTetheringCallback. am: d0542adb0b -s ours am: 3cd1ae2261 -s ours
am: 7a9bc9c4a3

Change-Id: I897f28d2b002e1a2aa6be8ec423a1c9b1d5b761b
2016-12-09 10:20:04 +00:00
Lorenzo Colitti
ec55edefc7 Merge changes from topic 'framework-net-aosp' am: 16193a27e6
am: 1a2fa0f372

Change-Id: I746ee7fd37946df2ba31ca8aee928fa3ef04591c
2016-12-09 10:18:11 +00:00
Hugo Benichi
c2b724e114 DO NOT MERGE: frameworks-test: adding missing @SmallTest am: b10b3e9c14 -s ours
am: 9f65f04157  -s ours

Change-Id: I717dbbd4d3ed657fec9ed9f45a5ae6f3e2a04b3e
2016-12-09 10:08:43 +00:00
Hugo Benichi
d090bd44dd DO NOT MERGE: Netd events: record connect() success/errno am: 565f0b2d66 -s ours
am: d84f932680  -s ours

Change-Id: I2e11ad15c3327a1d57453295ebc904dcf68ec3e0
2016-12-09 10:07:51 +00:00
Tony Mak
39c1b059d6 DO NOT MERGE: Show notification for always-on app VPN am: 7b6200aa9f -s ours
am: 118071a481  -s ours

Change-Id: I35f5107f9984284379136fd86c57432317066e68
2016-12-09 10:05:30 +00:00
Stephen Chen
a3430519b3 DO NOT MERGE: Implement metered tracking for NetworkStats summary queries. am: 0889b39d2c -s ours
am: 3f5785260e  -s ours

Change-Id: Ib6f4a4af04c3f4e26028604c66f6cc4f1720a801
2016-12-09 10:04:41 +00:00
Hugo Benichi
8f56a5e39e DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings am: aadb059a9f -s ours
am: a30ae5542b  -s ours

Change-Id: If1fe794f87060443d721f0f269f519046a9ee321
2016-12-09 10:00:41 +00:00
Hugo Benichi
5ace8e7dca DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark am: d0f492a893 -s ours
am: 0bef352535  -s ours

Change-Id: I92e3730002c11f3c2d5ea9c324f61237190f44bc
2016-12-09 09:59:49 +00:00
Felipe Leme
0404016147 DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock. am: 8d517776e8 -s ours
am: fbbaf25665  -s ours

Change-Id: I66000b3cd40a8494ad144610436f6ee953821a06
2016-12-09 09:57:16 +00:00
Felipe Leme
f346ceece7 DO NOT MERGE: Use @Ignore to explicitly disable a @Test method. am: 0e6e089843 -s ours
am: b296948b3b  -s ours

Change-Id: I43b77614b0ccdd573cf8b29b08ef518bad617aff
2016-12-09 09:55:47 +00:00
Felipe Leme
e5f4778f04 DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4. am: bf499379b8 -s ours
am: 82393f7b98  -s ours

Change-Id: I175601094ae486700c8a6886470abb3147b6ef4e
2016-12-09 09:54:55 +00:00
Jeremy Joslin
4abd92e917 DO NOT MERGE: VPN network stat accounting changes. am: 71f79690a7 -s ours
am: 12bb3f057b  -s ours

Change-Id: Id9d26bf1b9512a85cd9b6a3253b86b77a6f62e77
2016-12-09 09:54:07 +00:00
Hugo Benichi
cc374542ca DO NOT MERGE: ConnectivityThread: use lazy holder idiom am: e5ef0ce33c -s ours
am: f6cb43ae32  -s ours

Change-Id: I08a03dd249d30bc474a5d16472883737d12fec37
2016-12-09 09:53:16 +00:00
Hugo Benichi
5617d4ef19 DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper am: 94e0d04479 -s ours
am: 7337239702  -s ours

Change-Id: Ida0d76b540e800db215569717a1c5d26e0f583b0
2016-12-09 09:52:26 +00:00
Hugo Benichi
b6574912aa DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler am: 515e786cfd -s ours
am: ef148edaa2  -s ours

Change-Id: Ie8ebf41835e62b64ceb22e552208c77482d96c73
2016-12-09 09:50:57 +00:00
Jeremy Klein
7a9bc9c4a3 DO NOT MERGE: Add a null check for the OnStartTetheringCallback. am: d0542adb0b -s ours
am: 3cd1ae2261  -s ours

Change-Id: I3c471a8971c21cdbf1ebf7e1302524b038b20375
2016-12-09 09:48:50 +00:00
Lorenzo Colitti
16193a27e6 Merge changes from topic 'framework-net-aosp'
* changes:
  DO NOT MERGE: frameworks-test: adding missing @SmallTest
  DO NOT MERGE: Netd events: record connect() success/errno
  DO NOT MERGE: Add missing dependency.
  DO NOT MERGE: Show notification for always-on app VPN
  DO NOT MERGE: Implement metered tracking for NetworkStats summary queries.
  DO NOT MERGE: NetworkMonitor: send one DNS probe per web probe
  DO NOT MERGE: NetworkMonitor metrics: add first validation information
  DO NOT MERGE: APF: also drop any ICMPv6 RSs
  DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings
  DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark
  DO NOT MERGE: Switch over to new "time.android.com" NTP pool.
  DO NOT MERGE: Define API for metering network stats buckets.
  DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.
  DO NOT MERGE: Use @Ignore to explicitly disable a @Test method.
  DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4.
  DO NOT MERGE: VPN network stat accounting changes.
  DO NOT MERGE: ConnectivityThread: use lazy holder idiom
  DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper
  DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler
  DO NOT MERGE: Indicate the NsdServiceInfo attributes are only filled in for a resolved service.
  DO NOT MERGE: Add a null check for the OnStartTetheringCallback.
2016-12-09 09:11:22 +00:00
Hugo Benichi
b10b3e9c14 DO NOT MERGE: frameworks-test: adding missing @SmallTest
This activates all frameworks-test tests in runs of the continuous
platform tests.

Test: $ runtest frameworks-net passes (expect Tether
Bug: 32561414
(cherry picked from commit 174b398594)

Change-Id: I7b0706a7e3368f971d508388e8ad4afc5de9d646
2016-12-09 14:35:05 +09:00
Hugo Benichi
565f0b2d66 DO NOT MERGE: Netd events: record connect() success/errno
Test: $ runtest frameworks-net pass
Bug: 32198976

(cherry picked from commit 8b06bcdfd24100302818ae0e11ee751dd813d5cf)
2016-12-09 14:34:39 +09:00
Tony Mak
7b6200aa9f DO NOT MERGE: Show notification for always-on app VPN
This is the same notification as the one shown during legacy lockdown
mode, sans the 'reset' button.

The notification is only shown during times when VPN has not yet
established or has failed, for example during boot or after a crash.

Bug: 29123115

(cherry picked from commit 81f2dff176)

Change-Id: I929a05c24df01e21415535a333bb14ac4b790a9d
2016-12-09 14:23:10 +09:00
Stephen Chen
0889b39d2c DO NOT MERGE: Implement metered tracking for NetworkStats summary queries.
Dependent on ag/1550196 where API is defined.

Bug: 31015360
Bug: 26545374
Test: runtest --path
frameworks/base/core/tests/coretests/src/android/net/NetworkStatsTest.java,
other test classes.

(cherry picked from commit 7581e6d766)

Change-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a
2016-12-09 13:59:33 +09:00
Hugo Benichi
aadb059a9f DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings
This patch introduces an assertEventuallyThat helper function in
ConnectivityServiceTest which given a boolean function retries until the
function returns true or until a maximum retry time is reached.

This function is used to fix flakyness of testAvoidBadWifiSetting where
the Message posted by reevaluate() could reach the Handler's
MessageQueue after waitForIdle takes effect, resulting in the test to
fail.

Instead of fixing the flakyness by introdcing hard sleep times,
assertEventuallyThat is used to reduce the overall test time.

With this change the test has been observed to pass with 100% success
rate over 50000 invocations.

Test: $ runtest frameworks-net
Bug: 32561414

(cherry picked from commit ccf7f00258)

Change-Id: If41a24989d5f65aeb439f68741f511b5eb53b18d
2016-12-09 13:59:19 +09:00
Hugo Benichi
d0f492a893 DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark
This patch fixes flakyness of testRequestBenchmark by adjusting time
limit for callback registration from 100ms to 180ms, and time limits for
onAvailable and onLost triggers from 30ms to 40ms.

With these timeouts the test succeeds 100% over 5000 iterations.

When using 150ms for registration timeout, running the test 5000 times
fails 2 times.

When using 30ms for onLost timeout, running the test 5000 times fails
1 times.

In addition, this patch also cleans testRequestBenchmark and uses the
more stable SystemClock.elapsedRealtime() for duration measurements.

Test: $ runtest frameworks-net
Bug: 32561414

(cherry picked from commit cf7db79028)

Change-Id: I196ab9ef7f5abe456a783eed65db09279d2ecb8c
2016-12-09 13:59:18 +09:00
Felipe Leme
8d517776e8 DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.
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.net.NetworkStatsServiceTest" -w "com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"

BUG: 30943463

(cherry picked from commit 39e1923fbb)

Change-Id: Ia9929295ab2396a7ebb133e65d157f98414e4dfa
2016-12-09 13:59:14 +09:00
Felipe Leme
0e6e089843 DO NOT MERGE: Use @Ignore to explicitly disable a @Test method.
BUG: 30839080
BUG: 31007021

(cherry picked from commit 2b54780c88)

Change-Id: I35942e60493adebb22871541a34240368c691ee7
2016-12-09 13:59:10 +09:00
Felipe Leme
bf499379b8 DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4.
Most tests were failing because due to a null NetworkCapabilities.
Example:

1) testNetworkStatsWifi(com.android.server.net.NetworkStatsServiceTest)
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.net.NetworkCapabilities.hasCapability(int)' on a null object reference
	at
	com.android.server.net.NetworkStatsService.updateIfacesLocked(NetworkStatsService.java:983)

BUG: 30839080

(cherry picked from commit 34634f9339)

Change-Id: Ie09b2f43cf6ec745e404d5ec98bd0b072d211ea3
2016-12-09 13:59:04 +09:00
Jeremy Joslin
71f79690a7 DO NOT MERGE: VPN network stat accounting changes.
Properly account for VPN apps that make heavy use of the tun
interface. Prior to this change a VPN app could be incorrectly charged
for more data than it actually used if it sent more traffic through
the tun interface than the underlying interface.

This change excludes VPN app traffic on the tun interface from the
adjustment pool and doesn't redistribute traffic to the VPN app.
Instead all of the redistributed traffic is deducted from the VPN app
which effectively represents any overhead incurred by the VPN app.

BUG: 30557871

(cherry picked from commit 52a7d52cc5)

Change-Id: I06f01aa8fe5fdc06b2d36cfb9c68feb244c2e5de
2016-12-09 13:42:29 +09:00
Hugo Benichi
e5ef0ce33c DO NOT MERGE: ConnectivityThread: use lazy holder idiom
This patch changes the way that the ConnectivityThread is lazily
instantiated by using the "lazy initialization holder class idiom".

The first code point that tries to obtain a reference to the unique
ConnectivityThread instance will trigger the creation of the Singleton
class, which will guarantee a thread-safe initialization of the static
INSTANCE field inside Singleton according to the language specs.

This is the Item #71 of Effective Java.

The unique static instance of ConnectivityThread is not stored directly
inside ConnectivityThread class but is stored in a static nested class.
This is to avoid triggering the creation of that unique instance when
Zygote does class preloading at phone startup. Otherwise this would lead
to Zygote creating a new OS thread during preloading, which is a fatal
error.

Test: frameworks-wifi tests pass
Bug: 26749700
Bug: 28537383
Bug: 32130437

(cherry picked from commit f8ddba2cbd)

Change-Id: If13b363889a8e9396273a90c3d9f9421a48aecbc
2016-12-09 13:42:26 +09:00
Hugo Benichi
94e0d04479 DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper
This patch removes the static singleton looper used by
ConnectivityManager and instead uses the common ConnectivityThread.

This allows to removes the static atomic counter used to track
the number of registered NetworkCallback in ConnectivityManager, because
the looper is not turned off anymore when no callbacks are registered.

Also an overloaded version of sendRequestForNetwork is added taking as a
new parameter a Handler. This will allow to overload various callback
and request related API calls with user provided Handlers.

Test: ConnectivityServiceTest passes
Bug: 26749700
Bug: 28537383
Bug: 32130437

(cherry picked from commit 3a54555e85)

Change-Id: If956addbf8e7b11b36a4b966de7fca00e8f362c1
2016-12-09 13:42:24 +09:00
Hugo Benichi
515e786cfd 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 fe3325f2a5)

Change-Id: I1b5fe2a361b5f623a8310ae698497c83d72f3034
2016-12-09 13:42:20 +09:00
Jeremy Klein
d0542adb0b 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 49a5795ef0)

Change-Id: Ia419ff68ef10f308f9e44be47420e27099ee6070
2016-12-09 13:42:02 +09:00
Hugo Benichi
f7de47d524 Merge changes from topic 'framework-net-aosp' am: 9c8e68726d am: 5910f412bd
am: cc331b6dea

Change-Id: I8cd4afc5e1381f5b69e4b6dd598c9fee76dc785e
2016-12-09 04:02:17 +00:00