Commit Graph

2262 Commits

Author SHA1 Message Date
The Android Automerger
6a688ca1ad Merge commit '88932754ffdcbffb3cb43e03991e5eb598c10458' into nyc-mr1-dev-plus-aosp
* commit '88932754ffdcbffb3cb43e03991e5eb598c10458':
  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
The Android Automerger
7bc2aebd53 Merge commit '48a1136c8b3000c651e8bcd86325acd1dce6e4ec' into nyc-mr1-dev-plus-aosp
* commit '48a1136c8b3000c651e8bcd86325acd1dce6e4ec':
  Implement metered tracking for NetworkStats summary queries.
2017-01-27 06:39:41 +00:00
The Android Automerger
53095bb5bd Merge commit 'a19056c35d16ddb5a6c1d3343729701b8939f1e1' into nyc-mr1-dev-plus-aosp
* commit 'a19056c35d16ddb5a6c1d3343729701b8939f1e1': (35 commits)
  NetworkMonitor: send one DNS probe per web probe
  NetworkMonitor metrics: add first validation information
  APF: also drop any ICMPv6 RSs
  ConnectivityServiceTest: fix testAvoidBadWifiSettings
  Fix ConnectivityServiceTest testRequestBenchmark
  Switch over to new "time.android.com" NTP pool.
  Define API for metering network stats buckets.
  Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.
  Use @Ignore to explicitly disable a @Test method.
  Fixed NetworkStatsServiceTest and converted it to JUnit4.
  VPN network stat accounting changes.
  ConnectivityThread: use lazy holder idiom
  ConnectivityManager: use ConnectivityThread looper
  ConnectivityManager: a simpler CallbackHandler
  Indicate the NsdServiceInfo attributes are only filled in for a resolved service.
  Add a null check for the OnStartTetheringCallback.
  TokenBucket for rate-limiting and throttling
  IpConnectivityMetrics reads buffer size in settings
  CaptivePortalLogin: set mixed content policy to compatibility.
  Add IP conn metrics to dumpsys and bug reports
  ...
2017-01-27 06:39:05 +00:00
Hugo Benichi
88932754ff Captive portals: login activity probes like NetworkMonitor
This patch changes CaptivePortalLoginActivity captive portal test to be
consistent with NetworkMonitor by:
 - using Network.java to open the http connection.
 - adding a UserAgent property to the request header.

Test: manually tested.
Bug: 32369183

(cherry picked from commit cdf3ba48cc)

Change-Id: I559eb0497475daad758ba3b3395225dcd0a27a57
2017-01-26 18:53:03 +09:00
Stephen Chen
48a1136c8b 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 2514787897)

Change-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a
2017-01-26 18:52:32 +09:00
Hugo Benichi
c328248cdc NetworkMonitor metrics: add first validation information
This patch adds first validation information to:
  - ValidationProbeEvent, by extending the probe_type int field of to
    also include a bit indicating if the probe was part of a first
    validation attempt or not.
  - NetworkMonitorEvent, by defining new contants for the event_type
    field.

Test: $ runtest frameworks-net
      + manually generating events and inspecting the
        output of $ adb shell dumpsys connmetrics list
Bug: b/32198726

(cherry picked from commit 147aa6d53b)

Change-Id: Ie7a62c4f62a13ce52806d3adaa9e627cb246073c
2017-01-26 18:52:25 +09:00
Jeff Sharkey
06124cc892 Switch over to new "time.android.com" NTP pool.
Also add logging to measure success/failure details.

Test: builds, boots, and NTP fix obtained
Bug: 32969463

(cherry picked from commit d3f689bf14)

Change-Id: I7da416099ae903fd92beb516251ef4e51673eecf
2017-01-26 18:52:11 +09:00
Jeremy Joslin
fe1ce2f90c 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 8b436d865c)

Change-Id: I06f01aa8fe5fdc06b2d36cfb9c68feb244c2e5de
2017-01-26 18:51:53 +09:00
Hugo Benichi
d28766c74d 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 c4fe5d373c)

Change-Id: If13b363889a8e9396273a90c3d9f9421a48aecbc
2017-01-26 18:51:49 +09:00
Hugo Benichi
1e19aefa6f 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 7724cdd8b9)

Change-Id: If956addbf8e7b11b36a4b966de7fca00e8f362c1
2017-01-26 18:51:46 +09:00
Hugo Benichi
9c58a11f98 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 d42650faaa)

Change-Id: I1b5fe2a361b5f623a8310ae698497c83d72f3034
2017-01-26 18:51:43 +09:00
Philip P. Moltmann
092feb5b1c Indicate the NsdServiceInfo attributes are only filled in for a resolved service.
Fixes: 28530428

(cherry picked from commit 7d5da4b044)

Change-Id: If2bfc06589adb361f11b89cd5923cb5c255cb680
2017-01-26 18:51:39 +09:00
Jeremy Klein
a17dabedde 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 5f277e1667)

Change-Id: Ia419ff68ef10f308f9e44be47420e27099ee6070
2017-01-26 18:51:36 +09:00
Erik Kline
95be623a27 Support timeouts for requestNetwork() invocations.
(cherry-pick of 06c3ef1367)
(cherry picked from commit 57faba9ec7)

Bug: 21414325
Change-Id: I1a58823a372154589f972b98c4c428eab0e0523e
2017-01-26 18:50:23 +09:00
Elliot Waite
28ba4722a9 Fix @links in reference docs. am: 54de77470d
am: ab978c035e

Change-Id: If0d0613362e0ea95cf48eaf9a16d3eea48b589ea
2017-01-26 04:39:57 +00:00
Elliot Waite
54de77470d Fix @links in reference docs.
Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
2017-01-25 17:00:55 -08:00
Jeremy Joslin
ea65f9d392 Merge "Mark the INetworkScoreCache as oneway." am: edadb3efc3
am: 4fcc44dc9a

Change-Id: I4d2dc6446f347643f654799094ac7f6fb7529438
2017-01-23 21:35:27 +00:00
Jeremy Joslin
4fcc44dc9a Merge "Mark the INetworkScoreCache as oneway."
am: edadb3efc3

Change-Id: I3b71e154f49b354ead2bf734da4a94e332f87a33
2017-01-23 21:31:21 +00:00
Jeremy Joslin
84fae83f8c Mark the INetworkScoreCache as oneway.
Test: built & run
Bug: 34522097
Change-Id: I7d2075febe6c3cdc24b56df255f8ba59e13322bf
2017-01-23 10:51:41 -08:00
Amin Shaikh
b7b9c6f889 Merge "Add additional fields to RecommendationRequest." am: b8f0e69ef0
am: ac05acad45

Change-Id: I1062446bbd085b794bfe61843e670dc5af689d32
2017-01-20 23:23:39 +00:00
Amin Shaikh
ac05acad45 Merge "Add additional fields to RecommendationRequest."
am: b8f0e69ef0

Change-Id: I9a50c8aca36cf740abbc62af6879b4e6ea736855
2017-01-20 23:18:02 +00:00
Amin Shaikh
b50ade8bb0 Add additional fields to RecommendationRequest.
- Add networkId and timestamp for the last user selected network

Bug: 34467596
Test: runtest --path core/tests/coretests/src/android/net/RecommendationRequestTest.java
Change-Id: Ic81c1beede1a643cd428b6e5c57ed430a6b1ccc0
Merged-In: Ic81c1beede1a643cd428b6e5c57ed430a6b1ccc0
2017-01-20 09:37:59 -08:00
Jeremy Joslin
ec630d0bf0 Merge "Pass more data through the recommendation request." am: 00514f1dc0
am: ddfbe07e96

Change-Id: Ib831f420dd6ca976f9ce72476028b18ea61e2211
2017-01-20 02:02:03 +00:00
Jeremy Joslin
ddfbe07e96 Merge "Pass more data through the recommendation request."
am: 00514f1dc0

Change-Id: I97e11e876bcb7ccdb55a333b31f9970ae5edd001
2017-01-20 01:52:38 +00:00
Jeremy Joslin
122957b0b0 Pass more data through the recommendation request.
Expanding the API so it can accept the WiFi config of the currently
connected network (if any) and the set of connectable WiFi
configurations. Also renamed currentRecommendedWifiConfig to
defaultWifiConfig so the name was more representative of the
parameter's purpose and added more documentation throughout.

Test: adb shell am instrument -e class android.net.RecommendationRequestTest -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Test: adb shell am instrument -w com.android.networkrecommendation.tests/android.support.test.runner.AndroidJUnitRunner
Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
Bug: 34387385
Change-Id: Ib8c3cab8f92b5c9da806070d32412f688690f82f
Merged-In: I1089b70303b0396def7e6bf3737fdc67e40c9dcd
2017-01-19 16:14:21 -08:00
Jeremy Joslin
40f432a56b Merge "Have requestRecommendation return a CompletableFuture." am: f48d0bb2dc
am: 887ee2c32a

Change-Id: Ia9252f5375da2a4292293a7d895ec3cbd0c9203e
2017-01-19 23:46:45 +00:00
Jeremy Joslin
887ee2c32a Merge "Have requestRecommendation return a CompletableFuture."
am: f48d0bb2dc

Change-Id: I409c6c46144cbbfc147df7c3d3e251bd6b5fbe62
2017-01-19 23:37:46 +00:00
Jeremy Joslin
428e6cd1db Async network recommendation requests. am: cb925074d3
am: c9d378e212

Change-Id: I66ea5246f35e6665c1ffb01e6314293a59f6acca
2017-01-19 23:11:08 +00:00
Jeremy Joslin
c9d378e212 Async network recommendation requests.
am: cb925074d3

Change-Id: I9e3ac1f778d6e9bfe817225423f80540230633e3
2017-01-19 23:03:06 +00:00
Jeremy Joslin
88f50a5a08 Have requestRecommendation return a CompletableFuture.
Reworked the new requestRecommendation call to return a
CompletableFuture instead of using a custom callback.

Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
Bug: 33784158
Change-Id: Ib12f0674d45ad6e2e21449bc3665467b3c20f49d
Merged-In: If24a94eb6289cb1952052b2cc3bc7856ce2192a5
2017-01-19 13:31:16 -08:00
Jeremy Joslin
cb925074d3 Async network recommendation requests.
Exposing a new hidden API method that allows network recommendations
to be requested asynchronously.

Test: Built & run.
BUG:33784158
Change-Id: I8d210b686138cb42bf69185f0b2f2d25dfcb9dd1
Merged-In: I8f84b09f43a6c5fae5d8f03ec01e75c25b4b62d6
2017-01-19 13:18:21 -08:00
Etan Cohen
b32dfa4ef5 Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" am: dfe8f5dc13
am: 2a4e3bef2c

Change-Id: I6f894d92451032657678639c3021eef07289a6a2
2017-01-11 23:17:19 +00:00
Etan Cohen
2a4e3bef2c Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)"
am: dfe8f5dc13

Change-Id: I581b72ce62966f4c04427603a2b9686dcf46cc42
2017-01-11 23:12:16 +00:00
Etan Cohen
dfe8f5dc13 Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" 2017-01-11 22:59:25 +00:00
Jeremy Joslin
ab9eb11e2f Merge "Move getActiveScorerPackage() to the score service." am: b5488ec3b3
am: 425a0fdc95

Change-Id: Icd1e76d7987cc9937cce5079dedf610fcd21c903
2017-01-11 19:59:27 +00:00
Jeremy Joslin
425a0fdc95 Merge "Move getActiveScorerPackage() to the score service."
am: b5488ec3b3

Change-Id: I8819c482a87a8c78ad0a1a39dda74b5ee2e7da4c
2017-01-11 19:52:37 +00:00
Treehugger Robot
b5488ec3b3 Merge "Move getActiveScorerPackage() to the score service." 2017-01-11 19:40:45 +00:00
Etan Cohen
6a4b323f08 [AWARE] Unhide Wi-Fi Aware API (baseline)
Baseline Wi-Fi Aware API providing discovery and connectivity (data-path).

Bug: 30983968
Test: unit tests + integration (sl4a) tests passing.
Change-Id: Idd7c6a625f168717b083d5f13e291ce916571933
2017-01-11 11:13:26 -08:00
Neil Fuller
43d53395dc Merge "Refactor RFCOMM / BluetoothSocket usage of LocalSocket" am: 649a89e524
am: f4e236c794

Change-Id: If23b5efe912c5b0a76487c46723288ff6a903a14
2017-01-11 13:48:14 +00:00
Neil Fuller
f4e236c794 Merge "Refactor RFCOMM / BluetoothSocket usage of LocalSocket"
am: 649a89e524

Change-Id: Ib8dc0ec183b870931bf4befea5ff32532009fddd
2017-01-11 13:37:37 +00:00
Neil Fuller
649a89e524 Merge "Refactor RFCOMM / BluetoothSocket usage of LocalSocket" 2017-01-11 13:27:10 +00:00
Jeremy Joslin
11b1311e21 Merge "Moved isCallerActiveScorer() to the score service." am: 663b444196
am: 5fbd2791ac

Change-Id: If5649294845f01a390bccd47fe99add3b27b0829
2017-01-11 01:45:43 +00:00
Jeremy Joslin
5fbd2791ac Merge "Moved isCallerActiveScorer() to the score service."
am: 663b444196

Change-Id: I44134284edc88567703435ce663b3d0efd9cff26
2017-01-11 01:41:14 +00:00
Treehugger Robot
663b444196 Merge "Moved isCallerActiveScorer() to the score service." 2017-01-11 01:30:03 +00:00
Treehugger Robot
60d10ea0f4 Merge changes I559eb049,I52425b84
* changes:
  DO NOT MERGE Captive portals: login activity probes like NetworkMonitor
  DO NOT MERGE Logging improvements in CaptivePortalLoginActivity
2017-01-11 01:06:57 +00:00
Jeremy Joslin
d7670f6d7c Move getActiveScorerPackage() to the score service.
Implemented getActiveScorerPackage() in the NetworkScoreService to
make it more efficient (no need to query PM).

Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
Bug: 33781558
Change-Id: Iee7610e4982b44aefa1ef8b6c208292b8f9adcf8
Merged-In: I2144351c2c09cad30f80399069364f3572e38445
2017-01-10 16:41:42 -08:00
Jeremy Joslin
9b442faa91 Moved isCallerActiveScorer() to the score service.
Implemented isCallerActiveScorer() in the NetworkScoreService to make
it more efficient (no need to query PM). Exposed the call as a new
internal API on NetworkScoreManager and deprecated the call on
NetworkScorerAppManager.

Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
Bug: 33781558
Change-Id: I8ad232f8ef34b6e2f155ebb232e64300303300f0
Merged-In: I0e2142af95b068d322343f7c9362ac53d46b545e
2017-01-10 16:11:33 -08:00
Sundeep Ghuman
4962a3829f Merge "Cherrypick: Create ScoredNetwork Badging API changes." am: e34e47d645
am: 3098d3839f

Change-Id: I5f7d741dbd7f91518495f02de995bca6d191aa4e
2017-01-09 23:55:47 +00:00
Sundeep Ghuman
3098d3839f Merge "Cherrypick: Create ScoredNetwork Badging API changes."
am: e34e47d645

Change-Id: Ibeb6c60c30c302e12c45c7f35a7e4af904a4a6d5
2017-01-09 23:51:07 +00:00
Treehugger Robot
e34e47d645 Merge "Cherrypick: Create ScoredNetwork Badging API changes." 2017-01-09 23:39:48 +00:00