OSDN Git Service
Hugo Benichi [Fri, 27 Jan 2017 07:29:59 +0000 (07:29 +0000)]
Merge commit '
88932754ffdcbffb3cb43e03991e5eb598c10458' into nyc-mr1-dev-plus-aosp
am:
6a688ca1ad -s ours
Change-Id: Icf4cf5e8e95b9de4b313f826a40c1df81c02aa8a
Stephen Chen [Fri, 27 Jan 2017 07:29:07 +0000 (07:29 +0000)]
Merge commit '
48a1136c8b3000c651e8bcd86325acd1dce6e4ec' into nyc-mr1-dev-plus-aosp
am:
7bc2aebd53
Change-Id: I3de8f91b1c9d0160ec58be8347502769580e0159
Hugo Benichi [Fri, 27 Jan 2017 07:28:06 +0000 (07:28 +0000)]
Merge commit '
a19056c35d16ddb5a6c1d3343729701b8939f1e1' into nyc-mr1-dev-plus-aosp
am:
53095bb5bd -s ours
Change-Id: Ie2f8c1e18acf57238fe4816812562ecd1644cf51
The Android Automerger [Fri, 27 Jan 2017 06:39:52 +0000 (06:39 +0000)]
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
The Android Automerger [Fri, 27 Jan 2017 06:39:41 +0000 (06:39 +0000)]
Merge commit '
48a1136c8b3000c651e8bcd86325acd1dce6e4ec' into nyc-mr1-dev-plus-aosp
* commit '
48a1136c8b3000c651e8bcd86325acd1dce6e4ec':
Implement metered tracking for NetworkStats summary queries.
The Android Automerger [Fri, 27 Jan 2017 06:39:05 +0000 (06:39 +0000)]
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
...
Daniel Nishi [Fri, 27 Jan 2017 00:43:02 +0000 (00:43 +0000)]
Merge "Add a flag to enable/disable the diskstats logging service." into nyc-mr2-dev
am:
56d29925ac
Change-Id: Ibb4ae749d9eaa0cc10f2ebb721c2b94fa13cac38
Daniel Nishi [Fri, 27 Jan 2017 00:42:54 +0000 (00:42 +0000)]
Add a flag to enable/disable the diskstats logging service.
am:
88e45dcd1f
Change-Id: Ie822eea68dc0a02c8fad1a838ff9bf23f738106f
Bill Yi [Fri, 27 Jan 2017 00:38:24 +0000 (00:38 +0000)]
Merge "Import translations. DO NOT MERGE" into nyc-mr2-dev
am:
6470caa2e2 -s ours
Change-Id: I6cea2b032629810b13efba6e2efb18ba2e1e7b0f
Bill Yi [Fri, 27 Jan 2017 00:38:20 +0000 (00:38 +0000)]
Import translations. DO NOT MERGE
am:
951b1616fc -s ours
Change-Id: Id69967bfaa808912b8d31bffabdc0d414454961c
Daniel Nishi [Fri, 27 Jan 2017 00:35:22 +0000 (00:35 +0000)]
Merge "Add a flag to enable/disable the diskstats logging service." into nyc-mr2-dev
TreeHugger Robot [Fri, 27 Jan 2017 00:26:05 +0000 (00:26 +0000)]
Merge "Import translations. DO NOT MERGE" into nyc-mr2-dev
Pavlin Radoslavov [Thu, 26 Jan 2017 23:55:43 +0000 (23:55 +0000)]
Merge "Increase the character limit for "Use System Selection" message" am:
a7ce460921 am:
d0386d8c07
am:
798e1862bd
Change-Id: I52bd0ba6cee2435648f1ccf8a53bc9d76526973a
Pavlin Radoslavov [Thu, 26 Jan 2017 23:46:49 +0000 (23:46 +0000)]
Merge "Increase the character limit for "Use System Selection" message" am:
a7ce460921
am:
d0386d8c07
Change-Id: I34e41269fd5d47024e211daa4b5c48124e7db0a8
Pavlin Radoslavov [Thu, 26 Jan 2017 23:41:39 +0000 (23:41 +0000)]
Merge "Increase the character limit for "Use System Selection" message"
am:
a7ce460921
Change-Id: I3092241c8b1a6e458b3dc2a1332abbf0d19cf786
Treehugger Robot [Thu, 26 Jan 2017 23:34:36 +0000 (23:34 +0000)]
Merge "Increase the character limit for "Use System Selection" message"
Peter Qiu [Thu, 26 Jan 2017 23:11:17 +0000 (23:11 +0000)]
Merge changes If5025361,Iabe27cd8 am:
0a649bffcc am:
0773d2cc0d
am:
26bdc1f273
Change-Id: I9576f50cc7a922a684efb9ab4e1a57eac766280f
Peter Qiu [Thu, 26 Jan 2017 23:09:59 +0000 (23:09 +0000)]
hotspot2: added remaining parameters to PasspointConfiguration am:
ddf6fa06c6 am:
44bcb75926
am:
8badc8566a
Change-Id: I700aa39aed04e002643371b552647ada2492c6bf
Peter Qiu [Thu, 26 Jan 2017 23:09:07 +0000 (23:09 +0000)]
hotspot2: add support for complete PerProviderSubscription/Policy subtree am:
2d7af45e93 am:
01e738a040
am:
6251e52cc0
Change-Id: I1305266ff24105e5b9326868f3212f8a27802fea
Peter Qiu [Thu, 26 Jan 2017 23:03:03 +0000 (23:03 +0000)]
Merge changes If5025361,Iabe27cd8 am:
0a649bffcc
am:
0773d2cc0d
Change-Id: Ie890d96d2e2741cefc2e20957a65a0cd65c2fe13
Peter Qiu [Thu, 26 Jan 2017 23:01:35 +0000 (23:01 +0000)]
hotspot2: added remaining parameters to PasspointConfiguration am:
ddf6fa06c6
am:
44bcb75926
Change-Id: Ibb587721014dd25243f7423864f1d5019ee42fde
Peter Qiu [Thu, 26 Jan 2017 23:00:38 +0000 (23:00 +0000)]
hotspot2: add support for complete PerProviderSubscription/Policy subtree am:
2d7af45e93
am:
01e738a040
Change-Id: Ic35247930e4c7a99c5408593287926adcc1be8b9
Peter Qiu [Thu, 26 Jan 2017 22:53:13 +0000 (22:53 +0000)]
Merge changes If5025361,Iabe27cd8
am:
0a649bffcc
Change-Id: Ia66d523ed565704178315d66bd19ffe02cbb7560
Peter Qiu [Thu, 26 Jan 2017 22:53:04 +0000 (22:53 +0000)]
hotspot2: added remaining parameters to PasspointConfiguration
am:
ddf6fa06c6
Change-Id: I023acc0ae2920391de8a8de8ee95152f510ca9bd
Peter Qiu [Thu, 26 Jan 2017 22:52:11 +0000 (22:52 +0000)]
hotspot2: add support for complete PerProviderSubscription/Policy subtree
am:
2d7af45e93
Change-Id: Icf253102520e81766e726d9247c9614b6c0ebacd
Treehugger Robot [Thu, 26 Jan 2017 22:41:17 +0000 (22:41 +0000)]
Merge changes If5025361,Iabe27cd8
* changes:
hotspot2: added remaining parameters to PasspointConfiguration
hotspot2: add support for complete PerProviderSubscription/Policy subtree
Daniel Nishi [Wed, 25 Jan 2017 19:43:55 +0000 (11:43 -0800)]
Add a flag to enable/disable the diskstats logging service.
Bug:
34704947
Test: Service tests
Change-Id: I224cfb38682f1fd2bd33750b664bd3aacdaa4bde
Winson Chung [Thu, 26 Jan 2017 22:23:18 +0000 (22:23 +0000)]
Merge "DO NOT MERGE Fixing crash in SystemUI fetching task description icons." into nyc-mr2-dev
am:
c52a3cb704
Change-Id: If0c3bb685dfd6a13d816c8ef01a291e3988cf5a5
Winson Chung [Thu, 26 Jan 2017 22:23:11 +0000 (22:23 +0000)]
DO NOT MERGE Fixing crash in SystemUI fetching task description icons.
am:
452ff6db94
Change-Id: Ibbc3312c882c2c5cfd250b2a7062e365a0fde5a7
Winson Chung [Thu, 26 Jan 2017 22:17:08 +0000 (22:17 +0000)]
Merge "DO NOT MERGE Fixing crash in SystemUI fetching task description icons." into nyc-mr2-dev
Pavlin Radoslavov [Thu, 26 Jan 2017 21:25:40 +0000 (13:25 -0800)]
Increase the character limit for "Use System Selection" message
The character limit for message "Use System Selection (Default)"
has been increased from 40 to 50.
Test: UI visual inspection
Bug:
34662759
Change-Id: I9aba6847ddab27bb0456fb6dfd429692732f07c2
Peter Qiu [Thu, 26 Jan 2017 20:35:03 +0000 (20:35 +0000)]
Merge "wifi: WifiManager API change for supporting Passpoint Release 2" am:
8150581742 am:
358fe50e4d
am:
afc65709ee
Change-Id: If5b97a53b453c6ee347ce4667b3bcba4ee24dd9e
Peter Qiu [Thu, 26 Jan 2017 20:31:19 +0000 (20:31 +0000)]
Merge "wifi: WifiManager API change for supporting Passpoint Release 2" am:
8150581742
am:
358fe50e4d
Change-Id: Idc004300acfc3db7036ea31466fe392454fd144c
Peter Qiu [Thu, 26 Jan 2017 20:25:06 +0000 (20:25 +0000)]
Merge "wifi: WifiManager API change for supporting Passpoint Release 2"
am:
8150581742
Change-Id: I71e7bd9ccdb20ca78e4c8e1b2f653363d668425c
Treehugger Robot [Thu, 26 Jan 2017 19:51:36 +0000 (19:51 +0000)]
Merge "wifi: WifiManager API change for supporting Passpoint Release 2"
Pavlin Radoslavov [Thu, 26 Jan 2017 19:31:07 +0000 (19:31 +0000)]
Merge "Integration of the AAC codec for A2DP source" am:
22f97c83fb am:
f23e80bb9b
am:
d364208388
Change-Id: Ice6067732c4a94d30410a8f90cbea51b869539eb
Pavlin Radoslavov [Thu, 26 Jan 2017 19:25:37 +0000 (19:25 +0000)]
Merge "Integration of the AAC codec for A2DP source" am:
22f97c83fb
am:
f23e80bb9b
Change-Id: If2d85eba17f7ece5b3d19e3ee8fc86b7cf9bc062
Pavlin Radoslavov [Thu, 26 Jan 2017 19:20:08 +0000 (19:20 +0000)]
Merge "Integration of the AAC codec for A2DP source"
am:
22f97c83fb
Change-Id: I22838db2b87f83a3832f78d74d08a6f988264284
Treehugger Robot [Thu, 26 Jan 2017 19:12:54 +0000 (19:12 +0000)]
Merge "Integration of the AAC codec for A2DP source"
Peter Qiu [Thu, 19 Jan 2017 23:51:27 +0000 (15:51 -0800)]
wifi: WifiManager API change for supporting Passpoint Release 2
The changes include:
- Split WNM notifications intent to dedicated intent for each
event: Deauth Imminent Notice and Subscription Remediation
- Add intent for broadcast OSU Providers List
- Update Passpoint icon intent definitions to conform to the
API guide
- Make WifiManager#queryPasspointIcon public
All added/updated intents will required receiver to have
android.Manifest.permission.ACCESS_WIFI_STATE in order to
receive the intents.
The deprecated hidden intent definitions will be removed once
the WifiService is updated to use the new intents.
Bug:
34198926
Test: make -j32
Change-Id: If28a5710f68271069c663a953538f920512e3240
Merged-In: Ic17eef8364d79144eb530c68c6877712efcb5209
Pavlin Radoslavov [Sat, 14 Jan 2017 08:41:05 +0000 (00:41 -0800)]
Integration of the AAC codec for A2DP source
Test: A2DP streaming to AAC headsets
Bug:
30958229
Change-Id: I1b530f1c5c495b8231fd68bed788d4567096683d
Michal Karpinski [Thu, 26 Jan 2017 14:58:41 +0000 (14:58 +0000)]
Merge "DO NOT MERGE Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm" into nyc-mr2-dev
am:
c399e4d964
Change-Id: I9658d27ee9a694c580204f0e041991d754f93130
Michal Karpinski [Thu, 26 Jan 2017 14:58:36 +0000 (14:58 +0000)]
DO NOT MERGE Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm
am:
1710e5f079
Change-Id: I6ffab66a6464f7fbb337d6bcb1431a0a960e25e3
Michal Karpinski [Thu, 26 Jan 2017 14:52:16 +0000 (14:52 +0000)]
Merge "DO NOT MERGE Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm" into nyc-mr2-dev
Michal Karpinski [Wed, 25 Jan 2017 16:53:12 +0000 (16:53 +0000)]
DO NOT MERGE Change batch finalization timeout mechanism from
Handler#sendMessageDelayed() to a wakeful alarm
Messages sent with Handler#sendMessageDelayed() didn't get delivered
until the device woke up after being idle, which resulted in
potentially very long windows of logs accumulation and highly possible
network log loss from before the device becaming idle.
Bug:
34157435
Test: manual with decreased timeout over a few timeout iterations
Change-Id: I22d9cc743acb1a478d2da5407c5718e7f95e89cb
ltrochtova [Thu, 26 Jan 2017 09:58:53 +0000 (09:58 +0000)]
Merge "Don't offer the BT sharing option to the user if BT is disallowed." am:
2c1e396382 am:
c0118ac10e
am:
3db1ff462a
Change-Id: I846e7d5b84fb953f93256c8c6d2ca18d37199f1f
ltrochtova [Thu, 26 Jan 2017 09:53:23 +0000 (09:53 +0000)]
Merge "Don't offer the BT sharing option to the user if BT is disallowed." am:
2c1e396382
am:
c0118ac10e
Change-Id: I2aede50aba4c693f6bc45d2e53a0f4b7d8303c32
Hugo Benichi [Tue, 13 Dec 2016 23:23:40 +0000 (08:23 +0900)]
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
cdf3ba48ccef0f9c6ca8724c1c106df0dd725ad0)
Change-Id: I559eb0497475daad758ba3b3395225dcd0a27a57
Hugo Benichi [Tue, 6 Dec 2016 06:36:30 +0000 (15:36 +0900)]
Logging improvements in CaptivePortalLoginActivity
Logging improvements to help debugging captive portal issues.
Test: manually tested
Bug:
33126342
(cherry picked from commit
87de0c206709d3a170649b535a973de8f9c0fb0c)
Change-Id: I52425b849412f6bd5c5ca1f0be7a49cc772497eb
Hugo Benichi [Mon, 21 Nov 2016 04:50:05 +0000 (13:50 +0900)]
Captive portal systel log improvements
This patch improves system logging around captive portal detection to
make inspection of bug reports sligthly easier:
- NetworkMonitor now logs by default CMD_CAPTIVE_PORTAL_RECHECK and
CMD_CAPTIVE_PORTAL_APP_FINISHED. Other system logs are kept off with
a new VDBG boolean contant,
- NetworkNotificationManager now prints the notification id at
notification time. This allows to easily correlate show and clear.
- errors in NetworkNotificationManager are logged as Throwable instead
of through their implicit toString() method.
Test: $ runtest frameworks-net
Bug:
32198726
(cherry picked from commit
8b025bf108c729156b40159038befa0e6c5bebce)
Change-Id: I1eaab5ea702063dde3e23324d3a1b3dc172c5ac5
Hugo Benichi [Thu, 10 Nov 2016 13:45:56 +0000 (22:45 +0900)]
Fix flaky IpPrefixTest.
Test: IpPrefixTest passes
Bug:
32561414
(cherry picked from commit
32c687040301cb3601fd110281a742159a963aa9)
Change-Id: I42928da87f7f336900b3a95ebbf28563864da8d4
Hugo Benichi [Wed, 7 Dec 2016 05:39:05 +0000 (14:39 +0900)]
Removing bogus file added by mistake
This patch deletes a bogus file added by mistake in the change with
commit hash
147aa6d53bc1e9f8a3632553abcf936023806e1d.
Test: no code change.
Bug:
32198726
Change-Id: Iffc6b3a5ebd854dc81d537576a4405955abacba7
Hugo Benichi [Fri, 4 Nov 2016 07:06:34 +0000 (16:06 +0900)]
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
fa8a6f6220d1a0027ba7969c2d3f72690ddc6495)
Change-Id: I7b0706a7e3368f971d508388e8ad4afc5de9d646
Hugo Benichi [Mon, 31 Oct 2016 06:04:37 +0000 (15:04 +0900)]
Netd events: record connect() success/errno
Test: $ runtest frameworks-net pass
Bug:
32198976
(cherry picked from commit
8b06bcdfd24100302818ae0e11ee751dd813d5cf)
Change-Id: Ib3be06d2678c3fcfe4fa9d7b77f50c6e8812db3d
Lorenzo Colitti [Fri, 9 Dec 2016 05:19:57 +0000 (14:19 +0900)]
Add missing dependency.
Change-Id: I5deb8e03eb368ab7003f9376f7b4459d2ef5e934
Tony Mak [Thu, 30 Jun 2016 10:19:20 +0000 (11:19 +0100)]
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
1a405fe300950d6ceae2166fd074b596d8110dbe)
Change-Id: I929a05c24df01e21415535a333bb14ac4b790a9d
Stephen Chen [Fri, 21 Oct 2016 19:44:26 +0000 (12:44 -0700)]
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
25147878974f82f875062e99cdee85dd33f3f078)
Change-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a
Hugo Benichi [Wed, 16 Nov 2016 09:18:08 +0000 (18:18 +0900)]
NetworkMonitor: send one DNS probe per web probe
This patch changes sligthly the two web probes mechanism for captive
portal detection and network validation so that DNS resolution is always
done for both probes.
In general the target web servers of the two parallel HTTP and HTTPS probes
are now different. This introduces a bias in the latency measurement of
th HTTPS probe since this latency will also include DNS resolution in
general.
Test: manual verification + $ runtest frameworks-net
Bug:
32198726
(cherry picked from commit
ab61e7c324b24e46829495bc2597e42ea907c53d)
Change-Id: I3b32ae451f2241849fffe24956758a9f571b1ef1
Hugo Benichi [Tue, 15 Nov 2016 14:23:24 +0000 (23:23 +0900)]
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
147aa6d53bc1e9f8a3632553abcf936023806e1d)
Change-Id: Ie7a62c4f62a13ce52806d3adaa9e627cb246073c
Hugo Benichi [Fri, 2 Dec 2016 17:41:05 +0000 (02:41 +0900)]
APF: also drop any ICMPv6 RSs
Test: new unit test + $ runtest franeworks-net
Bug:
32833400
(cherry picked from commit
f98182ef5e80ede5de7f2c2a5f40fc92a46c9704)
Change-Id: Ifaf6e778c811c7d865c790a293b1fce3f43cad1c
Hugo Benichi [Tue, 15 Nov 2016 04:42:34 +0000 (13:42 +0900)]
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
99c8294ef0c7a720364abb5884063e0a9d1bb5fe)
Change-Id: If41a24989d5f65aeb439f68741f511b5eb53b18d
Hugo Benichi [Tue, 15 Nov 2016 02:25:52 +0000 (11:25 +0900)]
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
38be57b438a0c1754091f045317db2049304e16f)
Change-Id: I196ab9ef7f5abe456a783eed65db09279d2ecb8c
Jeff Sharkey [Fri, 2 Dec 2016 19:17:21 +0000 (12:17 -0700)]
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
d3f689bf14a05de735b5cc92dcf20e7226c78690)
Change-Id: I7da416099ae903fd92beb516251ef4e51673eecf
Stephen Chen [Tue, 18 Oct 2016 23:41:47 +0000 (16:41 -0700)]
Define API for metering network stats buckets.
This is a continuation of b/
26545374, since now we can also set the
metered bit with NetworkScorer. The tracking of metered state changes
will be implemented in a seperate CL.
Bug:
31015360
Bug:
26545374
Test: N/A
(cherry picked from commit
9ac251d1169639c7b955d63b21e80cbc5c394090)
Change-Id: I6a2fcc8577d62daa8823dff9e0128a5cf39ede7b
Felipe Leme [Thu, 18 Aug 2016 23:20:01 +0000 (16:20 -0700)]
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
b8f946dc4b24998f14e28573e452ab13ed533347)
Change-Id: Ia9929295ab2396a7ebb133e65d157f98414e4dfa
Felipe Leme [Mon, 22 Aug 2016 15:50:43 +0000 (08:50 -0700)]
Use @Ignore to explicitly disable a @Test method.
BUG:
30839080
BUG:
31007021
(cherry picked from commit
fc7d7a359f800d7320d29055ef3b4b75157aaf13)
Change-Id: I35942e60493adebb22871541a34240368c691ee7
Felipe Leme [Thu, 18 Aug 2016 22:31:45 +0000 (15:31 -0700)]
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
574f370c6da52eeffe747248d68ef044617c7bcf)
Change-Id: Ie09b2f43cf6ec745e404d5ec98bd0b072d211ea3
Jeremy Joslin [Mon, 8 Aug 2016 23:07:37 +0000 (16:07 -0700)]
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
8b436d865c9f287e9ae491e5278cd8874f4a865b)
Change-Id: I06f01aa8fe5fdc06b2d36cfb9c68feb244c2e5de
Hugo Benichi [Thu, 13 Oct 2016 07:48:42 +0000 (16:48 +0900)]
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
c4fe5d373caa9f53686e4d58e61394dd40558957)
Change-Id: If13b363889a8e9396273a90c3d9f9421a48aecbc
Hugo Benichi [Thu, 7 Jul 2016 01:15:56 +0000 (10:15 +0900)]
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
7724cdd8b90006c852644d06cf6c8a28450c71c6)
Change-Id: If956addbf8e7b11b36a4b966de7fca00e8f362c1
Hugo Benichi [Wed, 6 Jul 2016 13:53:17 +0000 (22:53 +0900)]
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
d42650faaa33ec6274278c65a6042228555ddd4f)
Change-Id: I1b5fe2a361b5f623a8310ae698497c83d72f3034
Philip P. Moltmann [Mon, 18 Apr 2016 23:23:06 +0000 (16:23 -0700)]
Indicate the NsdServiceInfo attributes are only filled in for a resolved service.
Fixes:
28530428
(cherry picked from commit
7d5da4b044183826ac8388c8bdb94ac979a81797)
Change-Id: If2bfc06589adb361f11b89cd5923cb5c255cb680
Jeremy Klein [Sun, 13 Mar 2016 00:29:54 +0000 (16:29 -0800)]
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
5f277e1667b49976a77c9fa79b9a04d775f3b49e)
Change-Id: Ia419ff68ef10f308f9e44be47420e27099ee6070
Hugo Benichi [Mon, 17 Oct 2016 23:43:30 +0000 (08:43 +0900)]
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
998493f0ee39ae0e9ffdea27f48f1b11b0807fcb)
Change-Id: I4012ae6d02f7004bceee9a2ba03914f2a2506031
Hugo Benichi [Wed, 19 Oct 2016 02:17:28 +0000 (11:17 +0900)]
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
05686dbb6b965eb1a54591d2ed2334337886c6ee)
Change-Id: Iefbeac3a688b260fb3f92dfe0bfd9db28e26749d
Lorenzo Colitti [Fri, 21 Oct 2016 09:41:25 +0000 (18:41 +0900)]
CaptivePortalLogin: set mixed content policy to compatibility.
This makes the policy for mixed HTTP/HTTPS content match Chrome.
This allows us to display login pages where unimportant
subresources are HTTP.
Bug:
32171569
(cherry picked from commit
625166377b2d7c5f09d1e7617b3eac3a464fba53)
Change-Id: Ia82958192d978280715442e182c34f9da5c88c66
Hugo Benichi [Wed, 19 Oct 2016 04:48:40 +0000 (13:48 +0900)]
Add IP conn metrics to dumpsys and bug reports
Test: manually created a bug report and inspected content.
(cherry picked from commit
51d14cb60793a9a073b8a29ff7875bb518cd7d54)
Change-Id: I9649cc2f9bb7a1975e60baaae55fcdb2a48c3b93
Hugo Benichi [Thu, 13 Oct 2016 04:16:16 +0000 (13:16 +0900)]
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
d680d4c856f54bea0c60dea74ba4204822391e49)
Change-Id: If8f167c0dc4c1abe0e235e2adfd131168a4ddc52
Etan Cohen [Thu, 27 Oct 2016 22:05:50 +0000 (15:05 -0700)]
[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
681fcda5896fd6c94f8a543ef9983c0a0644e87e)
Change-Id: I7cd3086544c881915fc6dbf14b87a24ab0cd8748
Hugo Benichi [Wed, 2 Nov 2016 04:43:22 +0000 (13:43 +0900)]
ApfTest: tag tests with @SmallTest or @MediumTest
Test methods not tagged with @{Small,Medium,Large}Test will not appear
in the Android Platform Continuous Testing dashboard.
Test methods tagged with @LargeTest will not be run in the Android
Platform Continuous Testing dashboard.
Test: ApfTest passes ($runtest frameworks-net)
Bug:
31479480
(cherry picked from commit
4195c28347cc100954f83c3c92b4dde4673f8608)
Change-Id: Ia215fc8e2ccc61f6223c24fdf390e1e759de302f
Lorenzo Colitti [Fri, 28 Oct 2016 08:45:55 +0000 (17:45 +0900)]
Unbreak TetherInterfaceStateMachineTest.
This was broken by the implementation of IPv6 tethering, which
relies on various private classes which end up calling unmockable
final classes like NetworkInterface.
Making everything public like this is almost certainly not the
best way of fixing this test, but on the other hand there is
value to the test continuing to pass.
Test: runtest frameworks-net # Everything passes.
Test: IPv6 tethering continues to work.
(cherry picked from commit
7e0eeca8ba4063d0d35dda9a8dfcc612e45efb87)
Change-Id: I8a3cf466871c026f4ae0f5cfa73071338cdf5b7e
Lorenzo Colitti [Fri, 28 Oct 2016 03:48:36 +0000 (12:48 +0900)]
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
ecc986d430f4b8158f177ed97d2edb741f11ff71)
Change-Id: I993eeaa5dec001c39389023f355f506129b356e7
Lorenzo Colitti [Fri, 28 Oct 2016 03:56:03 +0000 (12:56 +0900)]
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
281a17c9580de5c9898be7d9654d428801976511)
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
Lorenzo Colitti [Fri, 28 Oct 2016 03:37:38 +0000 (12:37 +0900)]
Move FakeSettingsProvider to a common location.
(cherry picked from commit
7df1a82802cdf842d07a86a80383c7d5ea7ae53a)
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
Hugo Benichi [Mon, 17 Oct 2016 06:54:51 +0000 (15:54 +0900)]
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
c8c1027762d66c12c9c153ccbb8f80acdee8571c)
Change-Id: I3c702bd981ed80ed606be0fb52d61eb3d7195a6f
Calvin On [Tue, 11 Oct 2016 22:10:46 +0000 (15:10 -0700)]
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
be96da11ccb5dd500f920c3ba90d350857293b3d)
Change-Id: I90c0f97fe0e41de4059bceae7b56ab3a70145696
Hugo Benichi [Mon, 17 Oct 2016 05:21:33 +0000 (14:21 +0900)]
ApfFilter: use elapsedRealTime for RA lifetime
This patch replaces System.currentTimeMillis() with
SystemClock.elapsedRealTime() to make RA lifetime computation more
resilient to various external events inducing jumps in
currentTimeMillis().
Test: ApfTest passes.
(cherry picked from commit
305af8e98a4fce712c1a93daf3b050dac2e8b91a)
Change-Id: If19011fc0c905948f2e42b975cfcc5f8672a95fb
Hugo Benichi [Tue, 4 Oct 2016 02:24:12 +0000 (11:24 +0900)]
Do not synchronize boolean reads/writes
This patch removes the synchronization around the private variable
mRunning inside of IpReachabilityMonitor and instead qualifeis the field
as volatile.
Synchronization is not needed for reads/writes on native fields or
object references because they are already guaranteed to be atomic.
Synchronization here was used for enforcing memory visibility across
concurrent threads indirectly through monitor acquire/release.
The volatile keyword achieves this in a more explicit way.
Also, this patch changes the way that probeAll() copies the
IpReachabilityMonitor's mIpWatchList by temporary holding mIpWatchList
keys into an ArrayList instead of a more expensive HashSet. Since Java
HashSet are just degenerated HashMaps, and that key iteration order is
based on key hash, the iteration order over this temporary collection
will be consistent for the same mIpWatchList.
Test: refactoring CL. Existing unit tests still pass.
(cherry picked from commit
b0f1186c034c4df9eb54ed29944d16ce6d7ade56)
Change-Id: I48d2b4d837a459150cd431b400ec01b87b48c014
Hugo Benichi [Thu, 13 Oct 2016 00:26:01 +0000 (09:26 +0900)]
ApfFilter: systematically use u8, u16, u32 getters
This patch adds a getUint8 getter for ByteBuffers and changes ApfFilter
to make uses of getUint8/16/32 everywhere.
The return types of getUint16 is also changed from long to int, which
will expand gracefully to long as an unsigned int as it is guaranteed to
be positive after getUint16.
Test: ApfTest passes
(cherry picked from commit
995dd94673005b43d32456e2de5fda0090b23576)
Change-Id: I606ebc5aedfcacde400d27cc6bc37145769b122c
Hugo Benichi [Thu, 6 Oct 2016 06:19:36 +0000 (15:19 +0900)]
Add fuzzing tests to ApfFilter RA processing
Test: added new unit tests
(cherry picked from commit
8acea76a2b7555b3bd5ca1170cca9d09e979fafc)
Change-Id: I847d7e4895766042043c0bba1c9b9a698a705d87
Erik Kline [Wed, 25 Nov 2015 03:49:38 +0000 (12:49 +0900)]
Support timeouts for requestNetwork() invocations.
(cherry-pick of
06c3ef1367e850746eef0a5462bdce8674d74c30)
(cherry picked from commit
57faba9ec73fbb311d5ca1df3278aee9728589d5)
Bug:
21414325
Change-Id: I1a58823a372154589f972b98c4c428eab0e0523e
Pierre Imai [Mon, 8 Feb 2016 07:01:40 +0000 (16:01 +0900)]
Silence the obnoxious MTU 0 error message that occur when no MTU is
specified for a given network.
Bug:
10705136
(cherry picked from commit
54f0d9edbf7f6ea6dd805dc77fdbf2c3848188e2)
Change-Id: I89e2fdfbbfa981d435a2974422d9d9c009872d76
ltrochtova [Thu, 26 Jan 2017 09:48:23 +0000 (09:48 +0000)]
Merge "Don't offer the BT sharing option to the user if BT is disallowed."
am:
2c1e396382
Change-Id: I132bdd6aee36e32ddbcfdc8f38aed1e88424297e
ltrochtova [Thu, 26 Jan 2017 09:41:51 +0000 (09:41 +0000)]
Merge "Don't offer the BT sharing option to the user if BT is disallowed."
Bill Yi [Thu, 26 Jan 2017 07:16:06 +0000 (07:16 +0000)]
Merge "Import translations. DO NOT MERGE" into nyc-mr2-dev
am:
36f8170bbc -s ours
Change-Id: If96f86dd128b899982a82f27a54b3682c86123b0
Bill Yi [Thu, 26 Jan 2017 07:16:01 +0000 (07:16 +0000)]
Import translations. DO NOT MERGE
am:
30b5edfd23 -s ours
Change-Id: I8e401e5b1cdfa7506384c1aeab219697360bcf79
Bill Yi [Thu, 26 Jan 2017 07:14:41 +0000 (07:14 +0000)]
Merge "Import translations. DO NOT MERGE" into nyc-mr2-dev
am:
6201ee5c68 -s ours
Change-Id: I02412d6d4a77f847f3eef6e822664cc10dd6768e
Bill Yi [Thu, 26 Jan 2017 07:14:36 +0000 (07:14 +0000)]
Import translations. DO NOT MERGE
am:
9c0c94c1b5 -s ours
Change-Id: I8c629cb66f2c962598e4ec221432c6d0c1ab6a85
TreeHugger Robot [Thu, 26 Jan 2017 07:10:23 +0000 (07:10 +0000)]
Merge "Import translations. DO NOT MERGE" into nyc-mr2-dev
TreeHugger Robot [Thu, 26 Jan 2017 07:07:36 +0000 (07:07 +0000)]
Merge "Import translations. DO NOT MERGE" into nyc-mr2-dev