OSDN Git Service
Paul Stewart [Sat, 28 Jan 2017 01:45:53 +0000 (01:45 +0000)]
Account for null client certificate
am:
1ca57a1d10
Change-Id: Id999634bb25a379a5cfdb47412323d2cc6d0cd30
Paul Stewart [Sat, 28 Jan 2017 01:45:05 +0000 (01:45 +0000)]
Add a client chain to WifiEnterpriseConfig
am:
291ddaef78
Change-Id: Ic8451631732bd3bfce7ff08f9f37b18745cda357
Brad Ebinger [Fri, 27 Jan 2017 23:03:47 +0000 (23:03 +0000)]
Merge "Adds @hide ImsResolver API and device overlays (2/3)"
am:
d063843549
Change-Id: I82a38c0cb2b7b229b96f0a617f8b7c921eb6d3a9
John Reck [Fri, 27 Jan 2017 22:57:29 +0000 (22:57 +0000)]
Merge "Fix a bunch of repeated reads of a ro.* property"
am:
4265991701
Change-Id: I996fbd1002ef788a768b575ab6d2177dc9ab5af1
Treehugger Robot [Fri, 27 Jan 2017 22:55:15 +0000 (22:55 +0000)]
Merge "Adds @hide ImsResolver API and device overlays (2/3)"
Treehugger Robot [Fri, 27 Jan 2017 22:49:03 +0000 (22:49 +0000)]
Merge "Fix a bunch of repeated reads of a ro.* property"
koji.x.shigehara [Fri, 27 Jan 2017 21:38:26 +0000 (21:38 +0000)]
Merge "Handles #9 as Dial number"
am:
3b24c6e1a2
Change-Id: I71b8c65b0dc1fd813f2f962074db217df429c8ef
Treehugger Robot [Fri, 27 Jan 2017 21:30:42 +0000 (21:30 +0000)]
Merge "Handles #9 as Dial number"
Brad Ebinger [Tue, 24 Jan 2017 00:20:33 +0000 (16:20 -0800)]
Adds @hide ImsResolver API and device overlays (2/3)
- Adds config_ims_package device overlay, which specifies the default
package name to bind to.
- Adds config_dynamic_bind_ims device overlay, which determines
whether or not the new dynamic binding system is used.
- Adds @hide TelephonyManager API to interface with the ImsResolver
Test: Manual
Merged-In: I82a41da00e6da34629a40db431f13b968dfafe2e
Change-Id: I82a41da00e6da34629a40db431f13b968dfafe2e
Paul Stewart [Fri, 27 Jan 2017 17:37:17 +0000 (09:37 -0800)]
Account for null client certificate
If a null certificate is passed to setClientKeyEntry() we should
not pass a non-null array with a single null element to the
setClientKeyEntryWithCertificateChain helper method. Instead we
should pass a null array.
Cherry-pick of
410a3498ac28dccf69212d94a533040893c7ce0c
Bug:
34765004
Test: cts-tradefed run cts -d --module CtsNetTestCases --test android.net.wifi.cts.WifiEnterpriseConfigTest
Change-Id: I02793b4b29bc7325f98833c58bf652ba68353827
Tomasz Wasilczyk [Fri, 27 Jan 2017 20:32:52 +0000 (20:32 +0000)]
Merge "Use the new radio_metadata wrapper for safer memory management."
am:
a9ed0b1c8b
Change-Id: I7f5391cced1db62be2d9b88823d88d2d77f8b065
Tomasz Wasilczyk [Fri, 27 Jan 2017 20:26:06 +0000 (20:26 +0000)]
Merge "Use the new radio_metadata wrapper for safer memory management."
Erik Kline [Fri, 27 Jan 2017 19:14:39 +0000 (19:14 +0000)]
Merge "Switch to listening for all network changes."
am:
085ffa76fa
Change-Id: I87157788c5c2dc1015f9518c1c443256cfd30bae
Treehugger Robot [Fri, 27 Jan 2017 19:07:06 +0000 (19:07 +0000)]
Merge "Switch to listening for all network changes."
John Reck [Tue, 20 Sep 2016 21:24:21 +0000 (14:24 -0700)]
Fix a bunch of repeated reads of a ro.* property
SystemProperties.get() is not particularly fast,
especially if a string is returned. Since ro.* values
are unable to be changed, there's no need to
continously re-query them. Cache the value at
static init time to trivially fix this.
Test: refactoring CL.
Change-Id: Iccb021d3cb2ba3a4a1d0048ddec6811bb7409eec
(cherry picked from commit
aa67f684ff43c81e3280c846245ec6ebe907787e)
Shukang Zhou [Fri, 27 Jan 2017 18:57:12 +0000 (18:57 +0000)]
Merge "[Frameworks] Add an 'am' cmd option to enable streaming in profiling."
am:
e924640c4b
Change-Id: I7e56dd815f5ac72b27ac6e2e2ca7614eaa648db1
Treehugger Robot [Fri, 27 Jan 2017 18:49:43 +0000 (18:49 +0000)]
Merge "[Frameworks] Add an 'am' cmd option to enable streaming in profiling."
Paul Stewart [Wed, 25 Jan 2017 03:36:05 +0000 (19:36 -0800)]
Add a client chain to WifiEnterpriseConfig
Add a list of supporting certificates to be presented in the process
of presenting client credentials.
Cherry-pick of
e3511767169357a1409119b5666c62d50e005583
Bug:
34688653
Test: Compile, unit tests
Change-Id: I6afd8baf67312e8ddaaeefd26f30dacc51aa33bb
Tomasz Wasilczyk [Mon, 23 Jan 2017 22:36:47 +0000 (14:36 -0800)]
Use the new radio_metadata wrapper for safer memory management.
Bug: b/
34054813
Test: VTS, manual - both done in internal branch
Change-Id: I5f4962f86b7732e14c2584a562e9737c92310697
Lorenzo Colitti [Fri, 27 Jan 2017 09:51:32 +0000 (09:51 +0000)]
Merge "ConnectivityServiceTest: fix flaky tests"
am:
b8bbd30203
Change-Id: I0577f6b48de8a95e7d12e58a672fb0374ced9403
Lorenzo Colitti [Fri, 27 Jan 2017 09:47:05 +0000 (09:47 +0000)]
Merge "ConnectivityServiceTest: remove flaky waitForIdle test."
am:
be80577f5b
Change-Id: I444746af6adc7be4a3f69243379f65aadf29ea19
Lorenzo Colitti [Fri, 27 Jan 2017 09:40:46 +0000 (09:40 +0000)]
Merge "ConnectivityServiceTest: fix flaky tests"
Lorenzo Colitti [Fri, 27 Jan 2017 09:38:51 +0000 (09:38 +0000)]
Merge "ConnectivityServiceTest: remove flaky waitForIdle test."
koji.x.shigehara [Fri, 20 Nov 2015 10:42:53 +0000 (19:42 +0900)]
Handles #9 as Dial number
Adding #9 as a country-specific exception of MMI codes so that
we can treat it as Dial number. This config change is necessary
to fulfill carrier's requirement.
Test: manual - check dialing #9
Bug:
34755732
Change-Id: I485e48cf30610ff012f84d43935454e693b0d94d
Lorenzo Colitti [Fri, 27 Jan 2017 00:34:13 +0000 (00:34 +0000)]
Merge changes from topic 'net-sync-aosp-with-stage-aosp' into stage-aosp-master
* changes:
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
Implement metered tracking for NetworkStats summary queries.
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
IpConnectivity metrics: add version number
[CS] Remove timeout event after first available
ApfTest: tag tests with @SmallTest or @MediumTest
Unbreak TetherInterfaceStateMachineTest.
Move the connectivity tests to frameworks/base/tests/net.
De-guava BroadcastInterceptingContext and move it to testutils.
Move FakeSettingsProvider to a common location.
ConnectivityServiceTest: mark flaky test as such
Add option to skip and avoid captive portals.
ApfFilter: use elapsedRealTime for RA lifetime
Do not synchronize boolean reads/writes
ApfFilter: systematically use u8, u16, u32 getters
Add fuzzing tests to ApfFilter RA processing
Support timeouts for requestNetwork() invocations.
Silence the obnoxious MTU 0 error message that occur when no MTU is specified for a given network.
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 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
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: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: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
Erik Kline [Tue, 24 Jan 2017 15:53:04 +0000 (00:53 +0900)]
Switch to listening for all network changes.
This is for use while preferred upstreams are expressed as legacy types.
Test: as follows
- built (bullhead)
- flashed
- booted
- runtest frameworks-net passes
- USB tethering to WiFi and DUN works
Bug:
32163131
Change-Id: I76e7b6c95eb1b54e926096b2791163617bb0a818
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."
Pavlin Radoslavov [Thu, 26 Jan 2017 04:29:57 +0000 (04:29 +0000)]
Merge "Fix wording ambiguity for Bluetooth LDAC Playback Quality selection"
am:
0645c21163
Change-Id: I66a7a5f8dc423c7999b4e0a39a272a837e66c847
Treehugger Robot [Thu, 26 Jan 2017 04:23:42 +0000 (04:23 +0000)]
Merge "Fix wording ambiguity for Bluetooth LDAC Playback Quality selection"
Brad Ebinger [Thu, 26 Jan 2017 01:41:38 +0000 (01:41 +0000)]
Merge "Adding Dynamic ImsService Binding (1/3)"
am:
8e6b13a1c0
Change-Id: I8534273da5579b7662e66f80a60348a4665dd65b
Treehugger Robot [Thu, 26 Jan 2017 01:34:04 +0000 (01:34 +0000)]
Merge "Adding Dynamic ImsService Binding (1/3)"
Shukang Zhou [Tue, 24 Jan 2017 23:30:29 +0000 (15:30 -0800)]
[Frameworks] Add an 'am' cmd option to enable streaming in profiling.
Add option '--streaming' to 'am start' and 'am profile' commands.
If the option is given, the output of method trace profiling
will be streamed into the specified file, so the output is no
longer limited by the buffer size.
Test: m -j48 test-art-host;
m -j48 ART_TEST_TRACE=true ART_TEST_TRACE_STREAM=true test-art-host;
I also tested manually. Tried all 8 combinations of
sampling/instrumention
streaming/non-streaming
'am start --start-profiler' / 'am profile start'
The output files are all in expected shape.
Bug:
33300765
Merged-In: I8a5136a1c7330c8260b7c6c8da63f42a73aee275
Change-Id: I8a5136a1c7330c8260b7c6c8da63f42a73aee275
Brad Ebinger [Mon, 23 Jan 2017 23:17:50 +0000 (15:17 -0800)]
Adding Dynamic ImsService Binding (1/3)
Adds support for dynamic ImsService Binding (change 1/3). Included
in this change:
- AIDLs for ImsServiceController
- ImsFeature/ImsServiceBase definitions
- KEY_CONFIG_IMS_PACKAGE_OVERRIDE CarrierConfig option
Test: Unit Tests in opt/telephony
Bug:
30290416
Change-Id: Ic4cb1d85a29681b08a6a525c588a72209862dcc3
Pavlin Radoslavov [Wed, 25 Jan 2017 22:00:02 +0000 (14:00 -0800)]
Fix wording ambiguity for Bluetooth LDAC Playback Quality selection
"Optimize for" -> "Optimized for"
Bug:
34687041
Test: UI Visual inspection
Change-Id: I112ed6451465750978181e6ee35f96fd76969e9c
Josh Gao [Wed, 25 Jan 2017 21:21:29 +0000 (21:21 +0000)]
Merge "zygote: don't drop CAP_SYS_PTRACE from the bounding set."
am:
273b886c49
Change-Id: I82c58cd03c8db78a1733ba5070d314607475cee7
Josh Gao [Wed, 25 Jan 2017 21:16:57 +0000 (21:16 +0000)]
Merge "zygote: don't drop CAP_SYS_PTRACE from the bounding set."
George Burgess IV [Wed, 25 Jan 2017 20:09:26 +0000 (20:09 +0000)]
Merge "Fix a use-of-uninitialized-value warning."
am:
500cf67206
Change-Id: I8b171a90696e09c42a1506255bc4c0056f69f35c
Josh Gao [Wed, 25 Jan 2017 19:45:58 +0000 (11:45 -0800)]
zygote: don't drop CAP_SYS_PTRACE from the bounding set.
crash_dump needs to acquire CAP_SYS_PTRACE to be able to ptrace
processes with capabilities. selinux should hopefully be sufficient for
restricting ptrace to processes that should do it.
Bug: http://b/
34694637
Test: debuggerd `pidof system_server`
Change-Id: If46f0b9baa54529780f7767f309f76b102a42ab4
Treehugger Robot [Wed, 25 Jan 2017 20:01:33 +0000 (20:01 +0000)]
Merge "Fix a use-of-uninitialized-value warning."
Ruchi Kandoi [Wed, 25 Jan 2017 19:59:16 +0000 (19:59 +0000)]
Merge "nfc: Make NDEF validation stricter"
am:
f3a6269fed
Change-Id: If69e586c81e5926c0795af3689de67b260891eaa
Treehugger Robot [Wed, 25 Jan 2017 19:53:59 +0000 (19:53 +0000)]
Merge "nfc: Make NDEF validation stricter"