Commit Graph

22381 Commits

Author SHA1 Message Date
Erik Kline
118c0c9e7d Merge "Switch to listening for all network changes." am: 085ffa76fa
am: 46f8abd229

Change-Id: I28ad47a86ea534c5b675a530ffbaac415fd60b25
2017-01-27 19:20:19 +00:00
Erik Kline
46f8abd229 Merge "Switch to listening for all network changes."
am: 085ffa76fa

Change-Id: I87157788c5c2dc1015f9518c1c443256cfd30bae
2017-01-27 19:14:39 +00:00
Treehugger Robot
085ffa76fa Merge "Switch to listening for all network changes." 2017-01-27 19:07:08 +00:00
Shukang Zhou
221e58fe95 Merge "[Frameworks] Add an 'am' cmd option to enable streaming in profiling." am: e924640c4b
am: b0f03a64ea

Change-Id: I35fa80e43cd4f6af76099848714f838f217b7989
2017-01-27 19:01:44 +00:00
Shukang Zhou
b0f03a64ea Merge "[Frameworks] Add an 'am' cmd option to enable streaming in profiling."
am: e924640c4b

Change-Id: I7e56dd815f5ac72b27ac6e2e2ca7614eaa648db1
2017-01-27 18:57:12 +00:00
Treehugger Robot
e924640c4b Merge "[Frameworks] Add an 'am' cmd option to enable streaming in profiling." 2017-01-27 18:49:45 +00:00
Lorenzo Colitti
f8cff961c8 Merge "ConnectivityServiceTest: remove flaky waitForIdle test." am: be80577f5b
am: 0c659d2065

Change-Id: I7fbf2cb2c9778f5c961335c5b9fd5a138ec140db
2017-01-27 09:51:39 +00:00
Lorenzo Colitti
0c659d2065 Merge "ConnectivityServiceTest: remove flaky waitForIdle test."
am: be80577f5b

Change-Id: I444746af6adc7be4a3f69243379f65aadf29ea19
2017-01-27 09:47:05 +00:00
Lorenzo Colitti
be80577f5b Merge "ConnectivityServiceTest: remove flaky waitForIdle test." 2017-01-27 09:38:52 +00:00
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
Lorenzo Colitti
277bd4235e 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.
2017-01-27 00:34:16 +00:00
Erik Kline
d2ec3919cb 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
2017-01-26 20:50:51 +09:00
ltrochtova
3db1ff462a Merge "Don't offer the BT sharing option to the user if BT is disallowed." am: 2c1e396382
am: c0118ac10e

Change-Id: I2aede50aba4c693f6bc45d2e53a0f4b7d8303c32
2017-01-26 09:53:23 +00:00
Hugo Benichi
88932754ff Captive portals: login activity probes like NetworkMonitor
This patch changes CaptivePortalLoginActivity captive portal test to be
consistent with NetworkMonitor by:
 - using Network.java to open the http connection.
 - adding a UserAgent property to the request header.

Test: manually tested.
Bug: 32369183

(cherry picked from commit cdf3ba48cc)

Change-Id: I559eb0497475daad758ba3b3395225dcd0a27a57
2017-01-26 18:53:03 +09:00
Hugo Benichi
6814bd1afe 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 8b025bf108)

Change-Id: I1eaab5ea702063dde3e23324d3a1b3dc172c5ac5
2017-01-26 18:52:55 +09:00
Hugo Benichi
222ebe48ba Netd events: record connect() success/errno
Test: $ runtest frameworks-net pass
Bug: 32198976

(cherry picked from commit 8b06bcdfd2)

Change-Id: Ib3be06d2678c3fcfe4fa9d7b77f50c6e8812db3d
2017-01-26 18:52:41 +09:00
Tony Mak
094fbe6719 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 1a405fe300)

Change-Id: I929a05c24df01e21415535a333bb14ac4b790a9d
2017-01-26 18:52:35 +09:00
Stephen Chen
48a1136c8b Implement metered tracking for NetworkStats summary queries.
Dependent on ag/1550196 where API is defined.

Bug: 31015360
Bug: 26545374
Test: runtest --path
frameworks/base/core/tests/coretests/src/android/net/NetworkStatsTest.java,
other test classes.

(cherry picked from commit 2514787897)

Change-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a
2017-01-26 18:52:32 +09:00
Hugo Benichi
a19056c35d 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 ab61e7c324)

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

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

(cherry picked from commit 147aa6d53b)

Change-Id: Ie7a62c4f62a13ce52806d3adaa9e627cb246073c
2017-01-26 18:52:25 +09:00
Hugo Benichi
728842ad47 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 05686dbb6b)

Change-Id: Iefbeac3a688b260fb3f92dfe0bfd9db28e26749d
2017-01-26 18:51:30 +09:00
Hugo Benichi
7e52973f2c Add IP conn metrics to dumpsys and bug reports
Test: manually created a bug report and inspected content.

(cherry picked from commit 51d14cb607)

Change-Id: I9649cc2f9bb7a1975e60baaae55fcdb2a48c3b93
2017-01-26 18:51:22 +09:00
Hugo Benichi
d19752c3d0 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 d680d4c856)

Change-Id: If8f167c0dc4c1abe0e235e2adfd131168a4ddc52
2017-01-26 18:51:18 +09:00
Etan Cohen
1256590348 [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 681fcda589)

Change-Id: I7cd3086544c881915fc6dbf14b87a24ab0cd8748
2017-01-26 18:51:15 +09:00
Lorenzo Colitti
f537c5eb74 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 7e0eeca8ba)

Change-Id: I8a3cf466871c026f4ae0f5cfa73071338cdf5b7e
2017-01-26 18:51:09 +09:00
Calvin On
d2bd69aec0 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 be96da11cc)

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

Bug: 21414325
Change-Id: I1a58823a372154589f972b98c4c428eab0e0523e
2017-01-26 18:50:23 +09:00
Pierre Imai
ccb0045f93 Silence the obnoxious MTU 0 error message that occur when no MTU is
specified for a given network.

Bug: 10705136

(cherry picked from commit 54f0d9edbf)

Change-Id: I89e2fdfbbfa981d435a2974422d9d9c009872d76
2017-01-26 18:50:18 +09:00
ltrochtova
c0118ac10e Merge "Don't offer the BT sharing option to the user if BT is disallowed."
am: 2c1e396382

Change-Id: I132bdd6aee36e32ddbcfdc8f38aed1e88424297e
2017-01-26 09:48:23 +00:00
Elliot Waite
28ba4722a9 Fix @links in reference docs. am: 54de77470d
am: ab978c035e

Change-Id: If0d0613362e0ea95cf48eaf9a16d3eea48b589ea
2017-01-26 04:39:57 +00:00
Elliot Waite
ab978c035e Fix @links in reference docs.
am: 54de77470d

Change-Id: Id38c30bad13d6b61ed504a06471b9f197b360f7b
2017-01-26 04:34:57 +00:00
Elliot Waite
54de77470d Fix @links in reference docs.
Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
2017-01-25 17:00:55 -08:00
Shukang Zhou
6ec0b7e21d [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
2017-01-25 16:53:41 -08:00
Lenka Trochtova
c6f0e23fa0 Don't offer the BT sharing option to the user if BT is disallowed.
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
2017-01-25 18:55:33 +00:00
Andre Eisenbach
8b1d096e58 Merge "Bluetooth: fix indentation, formatting in dumpsys" am: 35c715332f
am: 36ce9b7ea0

Change-Id: I3381764156fadf755d679b9a3c9356fc90e50fd2
2017-01-25 18:19:51 +00:00
Andre Eisenbach
36ce9b7ea0 Merge "Bluetooth: fix indentation, formatting in dumpsys"
am: 35c715332f

Change-Id: I7c603ab9f50921afb45e3d7181541260d8939089
2017-01-25 18:16:27 +00:00
Marie Janssen
a95924da57 Bluetooth: fix indentation, formatting in dumpsys
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
2017-01-25 18:02:26 +00:00
Chris Tate
6793b1f0b8 Merge "unbindBackupAgent and initialize inFullBackup" am: 36654ffef5
am: 3a13bb43f6

Change-Id: I44fcb1ff849d39ff528adb85f8d76563eb9b9d52
2017-01-24 23:42:33 +00:00
Chris Tate
3a13bb43f6 Merge "unbindBackupAgent and initialize inFullBackup"
am: 36654ffef5

Change-Id: I5ba75075e2fb2dae0dcabbb0cee3b83c3d0c15ea
2017-01-24 23:38:12 +00:00
Chris Tate
36654ffef5 Merge "unbindBackupAgent and initialize inFullBackup" 2017-01-24 23:31:35 +00:00
Erik Kline
65e01ec4ed Merge "All upstream mobile connection management is now in UpstreamNetworkMonitor" am: c1987487a2
am: 555812a3e2

Change-Id: Icac0e50bae970e7aaa9eecc3d7be3c19b2111a78
2017-01-24 08:05:25 +00:00
Erik Kline
555812a3e2 Merge "All upstream mobile connection management is now in UpstreamNetworkMonitor"
am: c1987487a2

Change-Id: I2b7e0f63c8198c8fde52396f989c16d795e612a8
2017-01-24 08:00:48 +00:00
Hugo Benichi
ad4db4ed58 ConnectivityServiceTest: remove flaky waitForIdle test.
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
2017-01-24 15:22:48 +09:00
Erik Kline
5645af4e2a All upstream mobile connection management is now in UpstreamNetworkMonitor
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32163131

Change-Id: Ifbd430d5bf2d2191469c9810ad8f073506abde46
2017-01-24 14:11:51 +09:00
thecrazyskull
d0fff5284f Merge "LocalDisplayAdapter: don't crash when no color modes available" am: 24218db904
am: f15075c9f8

Change-Id: Idcccd811808be32b492d8e2cb753439fc4d9de46
2017-01-23 17:42:04 +00:00
thecrazyskull
f15075c9f8 Merge "LocalDisplayAdapter: don't crash when no color modes available"
am: 24218db904

Change-Id: I89d080a00fb87c73c2af1604f617706f0f60f32b
2017-01-23 17:35:11 +00:00
Treehugger Robot
24218db904 Merge "LocalDisplayAdapter: don't crash when no color modes available" 2017-01-23 17:25:11 +00:00
Robin Lee
e2554d51c4 Merge "Disable always-on VPN in factoryReset" am: 63c14e0ab6
am: 1135d509c5

Change-Id: I66b6721932ae8798cbb406cafa04ed0c92fe47f6
2017-01-23 16:54:59 +00:00