* 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
...
* 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.
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
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
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 8b025bf108)
Change-Id: I1eaab5ea702063dde3e23324d3a1b3dc172c5ac5
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 1a405fe300)
Change-Id: I929a05c24df01e21415535a333bb14ac4b790a9d
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
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 ab61e7c324)
Change-Id: I3b32ae451f2241849fffe24956758a9f571b1ef1
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
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 05686dbb6b)
Change-Id: Iefbeac3a688b260fb3f92dfe0bfd9db28e26749d
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 d680d4c856)
Change-Id: If8f167c0dc4c1abe0e235e2adfd131168a4ddc52
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 681fcda589)
Change-Id: I7cd3086544c881915fc6dbf14b87a24ab0cd8748
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 7e0eeca8ba)
Change-Id: I8a3cf466871c026f4ae0f5cfa73071338cdf5b7e
Test: ConnectivityServiceTest updated with test cases.
Test: Manually tested against att-wifi in B42.
Bug: 30222699
(cherry picked from commit be96da11cc)
Change-Id: I90c0f97fe0e41de4059bceae7b56ab3a70145696
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
Disable BluetoothOppLauncherActivity component if the
UserManager#BLUETOOTH_DISALLOWED user restriction is set.
Test: cts-tradefed run cts -m CtsDevicePolicyManagerTestCases --test
com.android.cts.devicepolicy.DeviceOwnerTest#testBluetoothRestriction
Bug: 32895060
Bug: 34239380
Change-Id: I3467c82881896f276f542583bb50807b5e27276b
Before
======
Enable log:
01-17 09:43:18 Enabled by com.android.systemui
01-18 07:13:10 Disabled by com.andorid.systemui
1 BLE Apps registered:
com.google.android.gms
After
=====
Enable log:
02-06 07:49:07 Enabled by system boot
02-06 07:49:35 Disabled by com.andorid.systemui
1 BLE App registered:
com.google.android.gms
Test: run bugreport, see differences in dumpsys
Change-Id: I6086f7f97c1fcbdb860d70d9516fd5bf630a9f5e
This patch removes testNotWaitingForIdleCausesRaceConditions() from
ConnectivityServiceTest because it is in nature flaky and prevents using
ConnectivityServiceTest as a patch presubmit check. Estimated failure
rate is 1/15 on Nexus 6p.
This patch also simplifies how ConnectivityServiceTest waits for
handlers to become idle by removing IdleableHandlerThread and turning it
into a signle static method.
Test: $ runtest frameworks-net
Bug: 31479480
Change-Id: I2d78709cbb61d5d01cd59cff326469417f73f1ab