Commit Graph

147 Commits

Author SHA1 Message Date
Erik Kline
308ed7f467 Merge "Expand logging capabilities of Tethering subsystem" am: 0373340b07 am: 96f9371a66
am: 945ff184c2

Change-Id: Ia9d15f0dcc49ce070f8684eb8c8481310859faa5
2017-05-18 03:54:30 +00:00
Erik Kline
96f9371a66 Merge "Expand logging capabilities of Tethering subsystem"
am: 0373340b07

Change-Id: I1381b8457781dcfafe52371a5dc7628282cb8efc
2017-05-18 03:38:43 +00:00
Hugo Benichi
13f0d10115 Merge "Fix NetworkNotificationManagerTest"
am: c13a80deee

Change-Id: I8f02be13da5790d0fd60f04886e87de04c96de08
2017-05-18 03:29:50 +00:00
Treehugger Robot
0373340b07 Merge "Expand logging capabilities of Tethering subsystem" 2017-05-18 03:25:30 +00:00
Hugo Benichi
9fdc903af7 Merge "Move NetworkNotificationManagerTest to tests/net"
am: c01fbf0f0c

Change-Id: I10ce85211ac0305e8d05ca02b58b819297f59bbf
2017-05-18 02:23:12 +00:00
Hugo Benichi
e6181b0c47 Fix NetworkNotificationManagerTest
The testNotificationsShownAndCleared test was not doing anything
because the list of notification to show was always empty.

This patch fixes this issue and actually makes the test loop on
non-empty collections, and also fixes another ordering issue in
assertions themselves, hidden until now by the first issue.

Bug: 32561414
Test: runtest -x frameworks/base/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java
Merged-In: I4837b1175d7c9133e9156e33acaa1e7e3341cc62
Change-Id: Ia30587bd68a87b83b62f57eeeb28fef7d95dbf81

(cherry picked from commit f8b804be5a)
2017-05-18 11:08:31 +09:00
Hugo Benichi
c01fbf0f0c Merge "Move NetworkNotificationManagerTest to tests/net" 2017-05-18 02:01:40 +00:00
Erik Kline
7747fd4ce0 Expand logging capabilities of Tethering subsystem
Introduce a SharedLog that can be shared among all Tethering
components.  All log entries go to the same log, and each includes
its subsystem name.  Additionally, all entries emitted to the
system log shared the same tag, so can easily be watched.

More subsystems can inherit a SharedLog, but to minimize cherry-pick
conflicts we limit ourselves to these changes only.

Test: as follows
    - built
    - flashed
    - booted
    - log output observed via dumpsys
    - runtest frameworks-net passes
Bug: 32163131
Bug: 36988090
Bug: 38218697
Change-Id: I1229d4c55987402d84b0d4a2c8a595e0c829aa3e
2017-05-18 09:46:45 +09:00
Hugo Benichi
d8ddab6ba5 Move NetworkNotificationManagerTest to tests/net
Bug: 32561414
Test: no functional change
Change-Id: Iad17e3336a4a589da5cf88fd6359323e34b747e1
2017-05-17 22:24:05 +09:00
Erik Kline
f421d60824 Merge "Add tethering offload HAL call via JNI"
am: 8f65e470b0

Change-Id: Ib8403f685371b44f0fdad6d15ae372787d457d13
2017-05-17 07:18:51 +00:00
Erik Kline
5a7c8a0b24 Add tethering offload HAL call via JNI
Additionally, try to locate java Control interface.

Test: as follows
    - built
    - flashed
    - booted
    - OffloadController log messages observed, but only ever
      "not enabled" messages (needs a supporting implementation)
Bug: 29337859
Bug: 32163131
Bug: 34361337
Merged-In: I5251d05f2d2fd732a33a8955a6c346b3a2401e46
Change-Id: I5251d05f2d2fd732a33a8955a6c346b3a2401e46
(cherry picked from commit 58ed1b051b)
2017-05-17 13:44:25 +09:00
Erik Kline
47222fc935 Add tethering offload HAL call via JNI
Additionally, try to locate java Control interface.

Test: as follows
    - built
    - flashed
    - booted
    - OffloadController log messages observed, but only ever
      "not enabled" messages (needs a supporting implementation)
Bug: 29337859
Bug: 32163131
Bug: 34361337
Merged-In: I5251d05f2d2fd732a33a8955a6c346b3a2401e46
Change-Id: I5251d05f2d2fd732a33a8955a6c346b3a2401e46
(cherry picked from commit 58ed1b051b)
2017-05-17 13:41:30 +09:00
Erik Kline
260fa1dd9e Merge "Fix broken DUN evaluation logic" am: b0daeeb879 am: dd76dd1eea
am: 5d1bcf5bca

Change-Id: Ib9a469b16a598c47b615a15fc7cce420bfe4b8b7
2017-05-16 08:19:22 +00:00
Erik Kline
dd76dd1eea Merge "Fix broken DUN evaluation logic"
am: b0daeeb879

Change-Id: Iae7450ef21485c5a13f45fab570bf658b2da8f28
2017-05-16 08:06:42 +00:00
Erik Kline
54f2f3704e Fix broken DUN evaluation logic
Test: as follows
    - built
    - booted
    - flashed
    - runtest frameworks-net passes
Bug: 32163131
Bug: 38152109
Bug: 38186915
Change-Id: Id4803504e825290d62c0b51a2b9bd664dcef30b1
2017-05-16 15:14:45 +09:00
Erik Kline
d1ea33a039 Merge "Refactor and improve logging." am: c3d41d5093 am: 8af8235bca
am: 9f76683c59

Change-Id: Ieb9a8e3f85f41d18056a7827997f12986ff13ca1
2017-05-09 10:53:36 +00:00
Erik Kline
8af8235bca Merge "Refactor and improve logging."
am: c3d41d5093

Change-Id: I8ef193a9ee0f5bf04ae18620c1a68228ed7ed929
2017-05-09 10:40:29 +00:00
Erik Kline
1fdc2e23b5 Refactor and improve logging.
Test: as follows
    - build
    - flashed
    - booted
    - "runtest frameworks-net" passed
    - "dumpsys connectivity" shows new log output
Bug: 32163131
Bug: 36504926

Change-Id: I14d6da18660223f7cace156cb6594ee18928a7b0
2017-05-09 17:29:47 +09:00
Erik Kline
45cb5e37b0 Merge "Notify WifiManager of interface state changes" am: 8e97274186 am: 241a7f15f2
am: 2439781719

Change-Id: I5b3f640f4dd5cfac7555ddf1f6ae752899caddb0
2017-04-28 08:16:11 +00:00
Erik Kline
241a7f15f2 Merge "Notify WifiManager of interface state changes"
am: 8e97274186

Change-Id: I6e9594805f9f55da53cf29e322829b1d2ff2f058
2017-04-28 08:04:31 +00:00
Erik Kline
216af6d3fe Notify WifiManager of interface state changes
Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
      (except for an unrelated IpConnectivityMetricsTest error)
Bug: 31466854
Bug: 32163131
Change-Id: I702ea79eb2c02604761e4e1ebcd5f9e445178efb
2017-04-28 13:46:41 +09:00
Robin Lee
5d30d86372 Merge "Use Vpn rules (not firewall) for always-on VPN" am: e4f56a7e44 am: cd8557d15a
am: 4de3794c26

Change-Id: Ic1e96eac68ddc8a713b3c71b5c126cb8b99c59f5
2017-04-21 22:17:15 +00:00
Robin Lee
cd8557d15a Merge "Use Vpn rules (not firewall) for always-on VPN"
am: e4f56a7e44

Change-Id: I80b3607fd1c61875be8354439e09db56a0bd391d
2017-04-21 22:05:33 +00:00
Treehugger Robot
e4f56a7e44 Merge "Use Vpn rules (not firewall) for always-on VPN" 2017-04-21 21:53:15 +00:00
Erik Kline
09d1588183 Merge "Clarify IControlsTethering LOCAL_ONLY state name" am: 649c459858 am: f7c93bcd45
am: 6305795287

Change-Id: Idf256ced2c3403f9672b29c10ec02adb44a0ab7c
2017-04-21 09:18:50 +00:00
Erik Kline
f7c93bcd45 Merge "Clarify IControlsTethering LOCAL_ONLY state name"
am: 649c459858

Change-Id: Ia856b08ced4e26e32e107faac37e1c245caaf910
2017-04-21 09:07:46 +00:00
Erik Kline
ca41be796a Clarify IControlsTethering LOCAL_ONLY state name
Test: as follows
    - build
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - manually starting tethering shows Settings and icon updates
Bug: 31466854
Bug: 32163131

Change-Id: I1f45511f00aca37480f894be4a9a004f1a3b35d7
2017-04-21 11:12:24 +09:00
Erik Kline
dc7e445bc7 Merge "Switch to WifiManager.{start,stop}SoftAp()" am: 275edcb940 am: 11fdd1769b
am: 7d321645a2

Change-Id: I40e72d9b8f99c52089a8c73c8ca20d1efd10c68d
2017-04-20 16:02:06 +00:00
Erik Kline
11fdd1769b Merge "Switch to WifiManager.{start,stop}SoftAp()"
am: 275edcb940

Change-Id: I697bf530da9786da4ed1405ac8b44b7bc4d097a6
2017-04-20 15:50:19 +00:00
Treehugger Robot
275edcb940 Merge "Switch to WifiManager.{start,stop}SoftAp()" 2017-04-20 15:37:31 +00:00
Erik Kline
c9ee35581c Merge "Add local-only hotspot info into tether state change broadcast" am: 4c7a999d79 am: 6af3dd0fc3
am: 3fa8908370

Change-Id: If3851c3f15314e3c0d357e154049aaa2b8b5c8e7
2017-04-20 14:02:24 +00:00
Erik Kline
6af3dd0fc3 Merge "Add local-only hotspot info into tether state change broadcast"
am: 4c7a999d79

Change-Id: I911be691b15604a63aa02bf4db607ae1cd701cfe
2017-04-20 12:55:48 +00:00
Erik Kline
8351faa900 Add local-only hotspot info into tether state change broadcast
Test: as follows
    - build
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - manually starting tethering shows Settings and icon updates
Bug: 31466854
Bug: 32163131

Change-Id: I938074587dfeec221c5cdb43a392802ad3fc3589
2017-04-20 19:44:01 +09:00
Erik Kline
ceb54c63dc Switch to WifiManager.{start,stop}SoftAp()
Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
Bug: 31466854

Change-Id: I730d029128a14b936c111ae159b9708d935f4656
2017-04-18 15:22:49 +09:00
Hugo Benichi
ed1e91e4f4 Merge changes Id0d536ff,I4fcd0ad7 into oc-dev
am: 0e8090b10e

Change-Id: I0b432e9d7aa5654a0aeac1d3d0a09e624bcbc9bc
2017-04-14 04:32:17 +00:00
Hugo Benichi
5eb9053c4e Connectivity metrics: add transports to connect stats
This patch groups connect() events per netId. It adds netid and
transport information to serialized ConnectStatistics events.

Test: updated NetdEventListenerServiceTest
      updated IpConnectivityMetricsTest
      $ runtest frameworks-net passes
Bug: 34901696
Change-Id: Id0d536ff723ded5c26eafe0bb138ba75ba2856c5
Merged-In: I4769496383943e714a1d350c298e093c2ed57477

(cherry picked from commit dfc2cc5857)
2017-04-14 01:44:52 +00:00
Hugo Benichi
2a5cfb9738 Connectivity metrics: log DnsEvents in-band
This patch changes how DnsEvents are logged in IpConnectivityMetrics.
The following changes are made:
 - DnsEventBatch are not logged after 100 queries on the same network
    - this allows to merge DnsEvent and DnsEventBatch into one class
 - DnsEventBatch are not logged after a network disconnect
    - this allows to remove the NetworkCallback
 - DnsEvent are now logged similarly to ConnectStats when statistics are
   flushed, in a direct call from IpConnectivityMetrics into
   NetdEventListenerService, in a direct call from IpConnectivityMetrics
   into NetdEventListenerService.
    - this allows to remove the Parcelable implementation of DnsEvent
 - transports information is added to DnsEvent.

Test: - simplified NetdEventListenerServiceTest covering dns logging
      - updated IpConnectivityEventBuilderTest
      - updated IpConnectivityMetricsTest
      - $ runtest frameworks-net passes
      - manually verified $ adb shell dumpsys connmetrics list proto
Bug: 34901696
Change-Id: I4fcd0ad7a7b85d587647f471a90c1e53a18fc95a
Merged-In: Ia4b33fd4212741152662a2adbb0533bd1b4902ee

(cherry picked from commit 0699cf9804)
2017-04-14 01:41:48 +00:00
Erik Kline
152c9cf703 Merge "Extract SimChangeListener to its own file" am: 0ef8df6d52 am: 85f5725fb5
am: 270ab2fa7e

Change-Id: Ic39902fe33258dad0315a82b46f37582ba968085
2017-04-13 08:44:51 +00:00
Erik Kline
85f5725fb5 Merge "Extract SimChangeListener to its own file"
am: 0ef8df6d52

Change-Id: Ib83aa0acc1cf19c04ed94a198bb8333c7e3a60b8
2017-04-13 08:33:12 +00:00
Erik Kline
227648f336 Extract SimChangeListener to its own file
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
    - runtest -x full/path/to/SimChangeListenerTest.java passes
Bug: 32163131
Change-Id: If90539fe9a5dc07c7c24ed0b70b920d94065a623
2017-04-12 15:57:49 +09:00
Erik Kline
5f2b7992cf Tethering: support Local-only Hotspot mode for downstreams
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - "runtest frameworks-net" passes
Bug: 31466854

Change-Id: Ia50e28c8ce0af8cdd7ac63217d921aff213668e7
2017-04-10 21:42:16 +09:00
Erik Kline
f700d5cad7 Merge "Tethering: support Local-only Hotspot mode for downstreams" am: d3128d4b55 am: 908ce167eb
am: f6626e812c

Change-Id: I79677f7e8e7ae5abec2a13b5e5391b8f07857a36
2017-04-10 12:21:57 +00:00
Erik Kline
908ce167eb Merge "Tethering: support Local-only Hotspot mode for downstreams"
am: d3128d4b55

Change-Id: Ic7d5e3e23f9ccc0f094ba5991e2fdefa82865b01
2017-04-10 12:02:49 +00:00
Erik Kline
ea9cc488eb Tethering: support Local-only Hotspot mode for downstreams
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - "runtest frameworks-net" passes
Bug: 31466854

Change-Id: Ia50e28c8ce0af8cdd7ac63217d921aff213668e7
2017-04-10 19:11:08 +09:00
Hugo Benichi
fa0dadc540 DO NOT MERGE IP connectivity metrics: fix tests.
This patch fixes mismatch between current proto compiler and what is
expected in several IP connectivity metrics unit tests.

Test: built, flashed, $ runtest frameworks-net
Bug: 37126521
Change-Id: I1476c923d61f748ecac1146423127f54ba117502
2017-04-10 13:19:23 +09:00
Robin Lee
913554a068 resolve merge conflicts of 943187668c to oc-dev-plus-aosp
Test: make -j30
Test: runtest -x tests/net/java/com/android/server/ConnectivityServiceTest.java
Test: runtest -x tests/net/java/com/android/server/connectivity/VpnTest.java
Change-Id: Ib87cdb96626cd7625e15bec5e4afab12920405e9
2017-03-30 17:39:56 +01:00
Robin Lee
e61a30f635 Merge "Move some VPN logic out of ConnectivityService"
am: ec86462033

Change-Id: I212c2d6de1676ab65e6bbf34148d66e183d60c62
2017-03-30 16:08:50 +00:00
Robin Lee
ec86462033 Merge "Move some VPN logic out of ConnectivityService" 2017-03-30 16:00:41 +00:00
Robin Lee
c3736bc10d Use Vpn rules (not firewall) for always-on VPN
Firewall rules don't work on 464xlat because they were created under
an assumption that there's only one address for the server and it's
ipv4, which doesn't go so well when we're on an ipv6-only network.

Bug: 33159037
Test: runtest -x net/java/com/android/server/connectivity/VpnTest.java
Change-Id: Id331526367fe13838874961da194b07bd50d4c97
2017-03-27 13:40:51 +01:00
Robin Lee
b8c2a2b850 Move some VPN logic out of ConnectivityService
This cleanup helps declutter ConnectivityService, and encapsulates the
always-on setting inside of Vpn instead of spreading it across two
classes.

In particular having the save code in one file and the load code in
another file was weird and I apologise for that.

Added a SystemServices wrapper for Settings.Secure and PendingIntent
calls to decouple some of the global state nastiness and make it
testable without forcing ConnectivityService to drive the load/save.

Test: runtest -x tests/net/java/com/android/server/ConnectivityServiceTest.java
Test: runtest -x tests/net/java/com/android/server/connectivity/VpnTest.java
Bug: 33159037
Change-Id: Ie2adb1c377adfcef0a5900dc866e6118f451b265
2017-03-27 13:40:51 +01:00