Commit Graph

1930 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
3daf708e3c Fix flaky IpPrefixTest.
Test: IpPrefixTest passes
Bug: 32561414

(cherry picked from commit 32c6870403)

Change-Id: I42928da87f7f336900b3a95ebbf28563864da8d4
2017-01-26 18:52:51 +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
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
4bee7e4edb TokenBucket for rate-limiting and throttling
This patch adds a TokenBucket class that can accumulate and distribute
tokens over time.

Test: comes with unit tests.
Bug: 32198637

(cherry picked from commit 998493f0ee)

Change-Id: I4012ae6d02f7004bceee9a2ba03914f2a2506031
2017-01-26 18:51:33 +09:00
Lorenzo Colitti
c869089383 Move FakeSettingsProvider to a common location.
(cherry picked from commit 7df1a82802)

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
2017-01-26 18:50:48 +09: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
Paul Duffin
56a2ae1056 Merge "Prepare for removal of legacy-test from default targets" am: c74ccf1588
am: ab62fd67d8

Change-Id: I923de1762a15fca7dc255f9dfe0ecce6f54d333c
2017-01-19 11:44:56 +00:00
Paul Duffin
ab62fd67d8 Merge "Prepare for removal of legacy-test from default targets"
am: c74ccf1588

Change-Id: Id4876a2597171ac78062acf8194fce1af6d50b77
2017-01-19 11:40:22 +00:00
Paul Duffin
ccb0445027 Prepare for removal of legacy-test from default targets
In preparation for removing junit classes from the Android API
the legacy-test target will be removed from the
TARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit
dependencies on junit and/or legacy-android-test to ensure that
modules will compile properly once it is removed.

(cherry picked from 6387604f9e672ece85e07c4bcbd7be396867f06f)

Bug: 30188076
Test: make checkbuild
Merged-In: I13e88297731253420e4e5f5291d503f13a39a156
Change-Id: I58446eb8c45d8ac2bcdbc9fa40d1321e811bdd4b
2017-01-19 09:43:05 +00:00
Treehugger Robot
b1e3c8aaf4 Merge changes I1eaab5ea,I42928da8
* changes:
  DO NOT MERGE Captive portal systel log improvements
  DO NOT MERGE Fix flaky IpPrefixTest.
2017-01-11 01:02:05 +00: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
Sundeep Ghuman
8bc096c09d Cherrypick: Create ScoredNetwork Badging API changes.
Defines an attribute bundles key to hold the badging curve, the
enums for badge values, and an API to retrieve a badge for a
specific RSSI.

OCL: ag/1727147
Bug: 33457699
Test: Unit tests
Change-Id: If9e8a60c4670b51c395fb501f55ddece8a72981e
Merged-In: If9e8a60c4670b51c395fb501f55ddece8a72981e
2017-01-09 12:57:02 -08:00
Yohann Roussel
1c0070aa5d Merge "Fix LOCAL_SDK_VERSION of 3 multidex apks" am: 43c98c74fe
am: ef5d1cb3b4

Change-Id: Ia2f1b08cf63b6543be1e50786ba9090ffedc1431
2017-01-06 09:42:44 +00:00
Yohann Roussel
ef5d1cb3b4 Merge "Fix LOCAL_SDK_VERSION of 3 multidex apks"
am: 43c98c74fe

Change-Id: I8475d98d4d4eaf3801c9c13570f36a10c525daa3
2017-01-06 09:38:33 +00:00
Yohann Roussel
43c98c74fe Merge "Fix LOCAL_SDK_VERSION of 3 multidex apks" 2017-01-06 09:29:26 +00:00
Amin Shaikh
d7f371813a Merge "Fix NetworkScorerAppManager#isCallerActiveScorer." am: 48eecdcbc4
am: 7495cf633c

Change-Id: Ie6913526fbc1b0ae63eb7c0c7be7d9eac5772f50
2017-01-06 00:15:01 +00:00
Amin Shaikh
7495cf633c Merge "Fix NetworkScorerAppManager#isCallerActiveScorer."
am: 48eecdcbc4

Change-Id: I6b9ecd35dbc0758cd45b804dc9586287428af293
2017-01-06 00:08:19 +00:00
Amin Shaikh
2cd918a63e Fix NetworkScorerAppManager#isCallerActiveScorer.
The current implementation checks whether the caller's uid has the
SCORE_NETWORKS permission instead of checking the passed in callingUid. I
removed this check entirely because the getActiveScorer method already checks
whether the scorer's package has the SCORE_NETWORKS permission. There is no way
callingUid can equal the active scoring package's uid without also having the
SCORE_NETWORKS permission.

Bug: 34107721
Test: runtest --path core/tests/coretests/src/android/net/NetworkScorerAppManagerTest.java
Change-Id: Ifd427792169837c84a10a76b208c76137db06ae9
2017-01-05 14:28:47 -08:00
Hugo Benichi
f6b180ff1a DO NOT MERGE Fix flaky IpPrefixTest.
Test: IpPrefixTest passes
Bug: 32561414

(cherry picked from commit 32c6870403)

Change-Id: I42928da87f7f336900b3a95ebbf28563864da8d4
2017-01-05 12:07:38 +09:00
Yohann Roussel
b1453a95ca Fix LOCAL_SDK_VERSION of 3 multidex apks
Test: Install the apks on KitKat device
Change-Id: I2e7d7cd4406cdc59bc81cff280c96bb616af012c
2017-01-02 21:53:04 +01:00
Sundeep Ghuman
bfc0bfe645 Merge "Cherrypick: Define the calculateRankingScore method and Key." am: 425af45d02
am: 41577a0029

Change-Id: I7807d92a705a8ec9d9c7b04159e1cd2290846e38
2016-12-22 19:14:48 +00:00
Sundeep Ghuman
41577a0029 Merge "Cherrypick: Define the calculateRankingScore method and Key."
am: 425af45d02

Change-Id: Ib61f91087967f1b026cd2ba77175ccf47943bc53
2016-12-22 19:04:22 +00:00
Treehugger Robot
425af45d02 Merge "Cherrypick: Define the calculateRankingScore method and Key." 2016-12-22 00:03:57 +00:00
Sundeep Ghuman
0d79bdef27 Cherrypick: Define the calculateRankingScore method and Key.
Define the key to be used to store the rankingScoreOffset inside the
ScoredNetwork bundle. Implement a platform API method to calculate the
ranking score for a given rssi.

OCL: ag/1688711

Bug: 33049302
Test: Unit tests
Change-Id: Ia3fea2197d7c211a2313fced8713d79d8d5f4f6e
Merged-In: Ia3fea2197d7c211a2313fced8713d79d8d5f4f6e
Topic: ScoredNetworkRankingScore
2016-12-21 13:57:24 -08:00
Amin Shaikh
471093b58e Merge "Expose ScanResult#untrusted as a @SystemApi." am: a93e57f1ac
am: a3943850ab

Change-Id: Id763d2f82e10dd5843258ef09d0e65824e2c2de6
2016-12-21 20:02:03 +00:00
Amin Shaikh
a3943850ab Merge "Expose ScanResult#untrusted as a @SystemApi."
am: a93e57f1ac

Change-Id: I9cac16dbceb36d6ff72e92d2ab8de20bd8d70e36
2016-12-21 19:56:19 +00:00
Amin Shaikh
3d18c621cb Expose ScanResult#untrusted as a @SystemApi.
- Expose ScanResult#untrusted to inform NetworkRecommendationProviders
  that a ScanResult does not correspond to a saved network.
- Add static construction methods and assertions to RecommendationResult

Test: runtest frameworks-services

Bug: 33490132
Change-Id: If7006040f63843c1c468c9d95c5c017383c5c5dd
Merged-In: If7006040f63843c1c468c9d95c5c017383c5c5dd
2016-12-21 11:46:22 -08:00
Jeremy Joslin
af811c2650 Merge "Implement the discovery of a network recommendation provider." am: 470d256519
am: 8fbeb1d74a

Change-Id: I322592326e0a409131a4dd33ab1f907b9262dbf2
2016-12-20 03:34:02 +00:00
Jeremy Joslin
8fbeb1d74a Merge "Implement the discovery of a network recommendation provider."
am: 470d256519

Change-Id: I804df594669be3b42704dead7007790666bef0f6
2016-12-20 03:26:04 +00:00
Jeremy Joslin
b8418ac89a Implement the discovery of a network recommendation provider.
Updated the NetworkScorerAppManager to examine the list of configured
network recommendation providers and to select the first valid
provider.

As part of this update the old logic of looking for a valid network
scorer has been removed. Scorers/recommendation providers are only
selected from the configured list now. The setActiveScorer() method
has been deprecated as a result.

The NetworkScoreService has been updated to monitor the list of
potential recommendation providers and to reevaluate the binding
whenever they change. It also monitors the new setting for
NETWORK_RECOMMENDATIONS_ENABLED to connect or disconnect from the
provider as needed.

Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
BUG: 33158362
Change-Id: I450981261aa5355c1c91ec2e3a0a3b58cc65316b
Merged-In: I42aeb5223da794f71f7e58cb1bdf18817200cbf2
2016-12-19 17:53:47 -08:00
Jeremy Joslin
5b1a460b94 Merge "Fix ScanResult array parceling." am: 5fdc86fb27
am: 68764eabb7

Change-Id: I6b44179d634722828f40524c26ccf6ea51521f11
2016-12-19 22:14:37 +00:00
Jeremy Joslin
68764eabb7 Merge "Fix ScanResult array parceling."
am: 5fdc86fb27

Change-Id: I25e509ea057370c4380764c47808c0dbde85a6fc
2016-12-19 22:07:20 +00:00
Jeremy Joslin
ab60cb6a6d Fix ScanResult array parceling.
readParcelableArray() wasn't working as expected so I just parceled
the array myself.

Test: adb shell am instrument -e class android.net.RecommendationRequestTest  -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I83939d17769930b707b8bc579542c74a05e31d19
Merged-In: I47bc31adbedea817feaa5953cb6ee48506f9c6d6
2016-12-19 09:43:34 -08:00
Jeremy Joslin
a00fda5311 Merge "Add an IPC for requesting network scores." am: e89ed4a001
am: 724b26c902

Change-Id: If6284c934cd47257367c614523d4928758ab34e1
2016-12-14 23:22:15 +00:00
Jeremy Joslin
724b26c902 Merge "Add an IPC for requesting network scores."
am: e89ed4a001

Change-Id: I23bee3f29d3b3f71da6103e23afafc2df128ab75
2016-12-14 20:02:45 +00:00
Jeremy Joslin
e7f273d508 Add an IPC for requesting network scores.
Migrating the NetworkScoreManager.requestScores() method to use an
IPC rather than a broadcast.

Defined the new IPC in the AIDL files for NetworkScoreService and
NetworkRecommendationProvider. Added a no-op implementation in
NetworkScoreService and a full implementation in
NetworkRecommendationProvider (plus tests).

Test: adb shell am instrument -e class android.net.NetworkRecommendationProviderTest -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
BUG: 33593157
Change-Id: Iacf7b6d424ec3c57e8b89e5abc6bc3e8414097b9
Merged-In: I951f6186aa11ddbe5a94e374173a1fd40b2a4cce
2016-12-14 09:11:29 -08:00
Jeremy Joslin
eb0a34f26b Merge "Make the onRequestRecommendation() method async." am: fbeacb02c0
am: a6c6bc333d

Change-Id: I56a830273f8e3246b598c2ea7a027b87e3066e16
2016-12-13 16:19:14 +00:00
Jeremy Joslin
a6c6bc333d Merge "Make the onRequestRecommendation() method async."
am: fbeacb02c0

Change-Id: I9b98480499c2366eee06de163b561c4583e475d2
2016-12-13 16:13:44 +00:00
Jeremy Joslin
280f82c312 Make the onRequestRecommendation() method async.
Converted the NetworkRecommendationProvider.onRequestRecommendation()
method into an async call to give implementors more flexibility.

Added unit tests for NetworkRecommendationProvider.

Test: Added NetworkRecommendationProviderTest.
BUG: 32909424
Change-Id: I8c1d2e11baa539744d77a012e85351f750523e3b
Merged-In: Iebe72f260133e9ad1946b0b75e2f69635e154ef3
2016-12-12 17:48:41 -08:00
Stephen Chen
963e8ddf6d 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 2514787897)

Change-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a
2016-12-09 13:59:33 +09:00
Jeremy Joslin
ffe5a46b3e 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 8b436d865c)

Change-Id: I06f01aa8fe5fdc06b2d36cfb9c68feb244c2e5de
2016-12-09 13:42:29 +09:00