381 Commits

Author SHA1 Message Date
Simran Basi
473a16e492 frameworks/base: Add APCT tests to the device-tests suite.
This CL adds the APCT tests within this project to
a similar suite as CTS known as device-tests.

The current method of running APCT tests in the infrastructure
is unaffected.

Bug: 35882476
Test: `make dist device-tests -j` and local builds of
      continuous_instrumentation_tests & continuous_native_tests

Change-Id: Ifa382fe691842c1cd76897775b9e2a1653449eb5
2017-03-15 14:46:27 -07:00
Hugo Benichi
ec27c4d9f3 Connectivity metrics: simplify ConnectivityMetricsEvent
Now that ConnectivityMetricsEvent is only used for core networking
metrics and is not @SystemApi anymore, remove unused fields and prepare
for additional new fields.

Test: updated unit tests, $ runtest frameworks-net passes
Bug: 34901696
Change-Id: I15abad19981d491f16f2a3afe401f1e833079907
2017-03-15 15:12:38 +09:00
TreeHugger Robot
1809db5cb1 Merge "IP connectivity metrics: add new APF counters." 2017-03-15 04:24:30 +00:00
Hugo Benichi
22d9b2d430 IP connectivity metrics: add new APF counters.
This patch adds a few missing counters to APF events:
 - an actual lifetime duration to ApfProgramEvent.
 - counters for total number of updates to ApfStatistics.

ApfProgramEvents are now recorded at program removal in order to
populate the actual lifetime of the program. ApfProgramEvents whose
actual lifetime was less than 1 second are filtered out.

Finally, instance fields of ApfProgramEvent and ApfStats classes are
made mutable to allow for simple record-like creation. This was not
possible when these classes were tagged @SystemApi.

Test: - manually verified output of $ dumpsys connmetrics list
      - unit tests updated.
Bug: 34901696

Change-Id: I02694ebb9421ce1c2aa757fa6aa209d19a654dcd
2017-03-15 11:49:48 +09:00
Erik Kline
0df5ea973d Merge "Address some comments on IpManagerTest" am: b2afa1ede5 am: dea2371e71
am: eb04c52063

Change-Id: I8716a2f49c6adec97b260c32d65d53414068e41d
2017-03-14 06:17:39 +00:00
Erik Kline
dea2371e71 Merge "Address some comments on IpManagerTest"
am: b2afa1ede5

Change-Id: Ic986c23c693757b8311e0de0c0a94281db67f62d
2017-03-14 06:08:34 +00:00
Erik Kline
246bc1f795 Address some comments on IpManagerTest
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 26991160
Change-Id: Ib543874188537e31422206d67d1760762a7c85cd
2017-03-14 13:02:49 +09:00
Erik Kline
a93f236c73 Merge "Skeleton of an IpManagerTest" am: db4333a2c2 am: cf07e0d541
am: 4e8ae3eddc

Change-Id: I25dd93146efe7ce1cd9cb81da19dcb44afc96bd3
2017-03-14 03:25:04 +00:00
Erik Kline
cf07e0d541 Merge "Skeleton of an IpManagerTest"
am: db4333a2c2

Change-Id: I5817c2458c222afb85389deaf22b43d245577b2a
2017-03-14 03:11:15 +00:00
Erik Kline
aa95ae57ec Skeleton of an IpManagerTest
Test: as follows
    - biult (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 26991160
Change-Id: Idddddf0c1a7a8d0a8acff8a5526b02a533d5f3ec
2017-03-14 10:19:52 +09:00
Hugo Benichi
a2decca4f2 IP connectivity metrics: ConnectStats additions
This patch:
  - adds a counter to ConnectStats for counting the number of successful
    connect() calls done in blocking mode. This allows to compute error
    rates for connect() in blocking mode.
  - add printing of ConnectStats when dumping NetdEventListenerService
    and/or IpConnectivityMetrics service.

Test: $ runtest frameworks-net, + manual tests verifying logged events.
Bug: 34901696
Change-Id: I889e8ccd12681b0511be487e9d2ee44290a2d7d7
2017-03-13 09:25:15 +09:00
Hugo Benichi
f684050e8f IP connectivity metrics: update ipconnectivity.proto
This patch adds several new fields to ipconnectivity.proto for
improving APF metrics, connect metrics, and link_layer inference.

Test: build, flashed, ran $ adb shell dumpsys connmetrics list proto
      updated metrics unit tests depending on proto schema
Bug: 34901696
Change-Id: I6f68e16f583a6b407f33f8a500133e100f3453c7
2017-03-09 15:19:02 +09:00
TreeHugger Robot
a6a31fd3eb Merge "Fix ApfTest" 2017-03-08 03:11:15 +00:00
Hugo Benichi
22291f84e0 Fix ApfTest
By adding missing native libraries to frameworks-net make file. The list
of missing libraries was found by adding libhidlbase and then resolving
new linkage errors iteratively until ApfTest worked.

This is a temporary fix. Ideally only adding libhidlbase should be
enough.

Test: $ runtest -x frameworks/base/tests/net/java/android/net/apf/ApfTest.java
Bug: 36012053
Change-Id: I0eff8b3adbf788ddbfc6ddbf9f74b8da01cdfce4
2017-03-08 10:33:57 +09:00
Erik Kline
a33ae2d884 Merge "request{LinkProperties,NetworkCapabilities} no longer needed" am: 75dfc5bd91 am: 0f901af920
am: bb54baba04

Change-Id: Id2aa8aeff6d299edb85955c12ab0a04023458597
2017-03-07 13:42:11 +00:00
Erik Kline
0f901af920 Merge "request{LinkProperties,NetworkCapabilities} no longer needed"
am: 75dfc5bd91

Change-Id: I79b9323be242ed5d2bf83962f78c613a465a20b8
2017-03-07 13:33:29 +00:00
Erik Kline
465c46d555 request{LinkProperties,NetworkCapabilities} no longer needed
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
    - manual USB tethering toggling between WiFi and mobile
Bug: 32163131
Change-Id: I57edf5114b6361f320577c7870e40f8b3cdf74ce
2017-03-07 17:18:06 +09:00
Erik Kline
6bbefcbf40 Merge "Always send all available state when calling onAvailable()." am: affbb8b6a9 am: e0a62a4398
am: 3765538bab

Change-Id: Ic82e3cb92841ea99972faad6ae004d77c725831b
2017-03-07 06:08:40 +00:00
Erik Kline
e0a62a4398 Merge "Always send all available state when calling onAvailable()."
am: affbb8b6a9

Change-Id: I81e70fecf060a4103b51084a60a32c78f6219f6b
2017-03-07 06:00:09 +00:00
Erik Kline
c75d4fad22 Always send all available state when calling onAvailable().
The state that needs to be transferred includes:
    - NetworkCapabilities
    - LinkProperties
    - whether the network is currently suspended

Additionally:
    - Rename notifyNetworkCallback() to notifyNetworkAvailable()
      in order to clarify its real function.
    - fix previous copy/paste error in unittest

Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
    - USB tethering with mobile and Wi-Fi upstream toggling
Bug: 32163131
Change-Id: Ib4460bcd5d08863a9feac9e8ab41a238897bb3ea
2017-03-07 12:57:26 +09:00
Hugo Benichi
45deba76fc Merge "Revert "ConnectivityManager: no double NetworkCallback registration" because oit caused regressions http://b/35955593, http://b/35921499." am: 704520c392 am: 4cf199383f
am: 22d4258a75

Change-Id: I8e66e223003a38735b707d21d7bedb19170b1937
2017-03-06 12:45:10 +00:00
Hugo Benichi
4cf199383f Merge "Revert "ConnectivityManager: no double NetworkCallback registration" because oit caused regressions http://b/35955593, http://b/35921499."
am: 704520c392

Change-Id: Ia0ae78f8406b81377491407cf5ef8ca339952def
2017-03-06 12:30:05 +00:00
Hugo Benichi
649e32484e Revert "ConnectivityManager: no double NetworkCallback registration" because oit caused regressions http://b/35955593, http://b/35921499.
This reverts commit faa70976b490116323107166f90fdd944c5bdc77.

Change-Id: I86c07c113f24753be7c977e6d7f570b99391e1b5
2017-03-06 06:16:51 +00:00
Hugo Benichi
00a5f2a658 Merge "ConnectivityManager: no double NetworkCallback registration" am: 06a192fa49 am: 5983a772cb
am: 974e83cc0b

Change-Id: I73569fd084c14a78067e09565418f296994cd424
2017-03-02 08:12:09 +00:00
Hugo Benichi
5983a772cb Merge "ConnectivityManager: no double NetworkCallback registration"
am: 06a192fa49

Change-Id: I250fa7d3c5e37a66caa41cc898a44bcb18c9a0c4
2017-03-02 08:04:03 +00:00
Hugo Benichi
faa70976b4 ConnectivityManager: no double NetworkCallback registration
Test: new test in ConnectivityManagerTest
Bug: 20701525
Change-Id: I205333d31d43e6e6c7fe704ce63b458065f345ce
2017-03-02 15:19:37 +09:00
Erik Kline
df71c58341 Merge "Also test for additional NetworkCallback calls" am: dff6c5c30d am: 47d8385184
am: 02310829cf

Change-Id: I0264a471312423e896a1c2f479c0eeda737a1567
2017-03-01 11:13:14 +00:00
Erik Kline
47d8385184 Merge "Also test for additional NetworkCallback calls"
am: dff6c5c30d

Change-Id: I00b3f7be06bde167872d0cdefe940cda5e138846
2017-03-01 11:03:08 +00:00
Erik Kline
1d3db32708 Also test for additional NetworkCallback calls
Specifcally:
    - onCapabilitiesChanged
    - onLinkPropertiesChanged
    - onNetworkSuspended

Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32163131

Change-Id: Ie0f7c8ac21313b11980bb335c89ecde6fd8e311c
2017-03-01 18:24:36 +09:00
Erik Kline
e20e7ebbfb Merge "Update UpstreamNetworkMonitor to use custom Handlers" am: 35c89886c2 am: 279a4feb72
am: c239511cdb

Change-Id: I9a210b4896810e7365b2403495716395b3866650
2017-02-24 08:24:51 +00:00
Erik Kline
279a4feb72 Merge "Update UpstreamNetworkMonitor to use custom Handlers"
am: 35c89886c2

Change-Id: I76433822a9b7c124e4b7cfcf2a20cb0e43a60199
2017-02-24 08:15:19 +00:00
Erik Kline
b583b03675 Update UpstreamNetworkMonitor to use custom Handlers
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32130437
Bug: 32163131

Change-Id: I2bc3f87cdf7fa6392b4750eb8adb4ea33c6a3f43
2017-02-24 13:06:51 +09:00
Hugo Benichi
95cb226c1a IP connectivity metrics: cleanup obsolete code
This patch cleans obsolete code related to IP connectivity metrics:
 - remove @SystemApi on android.net.metrics: now that metrics events
   are processed and serialized in the frameworks only, event classes
   should not appear in the system apis.
 - remove obsolete Logger classes: ConnectivityMetrics app was the
   unique user of ConnectivityMetricsLogger until nyc-mr1. From nyc-mr1
   the app started using dumpsys to get metrics for IpConnectivity and
   Telephony, which made ConnectivityMetricsLogger obsolete.
 - simplifications in MetricsTestUtil

Test: - runtest frameworks-net
      - manually verified $ adb shell dumpsys connmetrics
Bug: 30054585
Bug: 32648597
Change-Id: I85ef65f7f69eb9299e4636cc7af54067201d9daf
2017-02-22 12:56:38 +09:00
Hugo Benichi
01432b306d resolve merge conflicts of 9355bce0c323 to master
Test: none
Change-Id: Iac65e01d07edf79ec97e7d996f8cfee6f811606b
2017-02-17 10:47:58 +09:00
Hugo Benichi
9355bce0c3 Merge "IP connectivity metrics: delete obsolete logger service" am: 37e3f22c2e am: c54962a4bd
am: 9c2b6afa2f

Change-Id: I5f8cd508812d9532778c2f1f019308a4b8d8ee33
2017-02-17 00:18:35 +00:00
Hugo Benichi
c54962a4bd Merge "IP connectivity metrics: delete obsolete logger service"
am: 37e3f22c2e

Change-Id: Ib335bc5e19c2c703d23267bf2835fc89fcf5a957
2017-02-17 00:00:14 +00:00
Hugo Benichi
37e3f22c2e Merge "IP connectivity metrics: delete obsolete logger service" 2017-02-16 23:52:13 +00:00
Hugo Benichi
d22edc28f5 IP connectivity metrics: delete obsolete logger service
Test: - runtest frameworks-net
      - manually verified $ adb shell dumpsys connmetrics
Bug: 32648597

Change-Id: I69f7dee5871508398d7f7209658a00c768e2d18e
2017-02-15 17:12:58 +09:00
Erik Kline
ea50c00f28 Merge "Verify duplicate upstream notifications are ignored" am: 3d57eb0bdc am: 02e71f6245 am: 8055dafb08
am: d850804723

Change-Id: I56a8b708178419d467abac0166f1be6c86b42491
2017-02-14 18:19:01 +00:00
Erik Kline
6bf2e10802 Merge "Cleanup in the face of upstream error" am: ed6d75d5f3 am: 76e6f790db am: 663ec79cb2
am: ea7e8f7352

Change-Id: I5ca36fc3b7153b029174a49593ee769e06758729
2017-02-14 18:17:43 +00:00
Erik Kline
d850804723 Merge "Verify duplicate upstream notifications are ignored" am: 3d57eb0bdc am: 02e71f6245
am: 8055dafb08

Change-Id: I1e10adfba2ebb9f52e86d8b35f3d0b87134c0e91
2017-02-14 09:49:56 +00:00
Erik Kline
02e71f6245 Merge "Verify duplicate upstream notifications are ignored"
am: 3d57eb0bdc

Change-Id: Iff84a1a12714047b20408f03e3bb2252a463b74b
2017-02-14 09:41:53 +00:00
Erik Kline
624bf3d7f6 Verify duplicate upstream notifications are ignored
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest .../tethering/TetherInterfaceStateMachineTest.java passes
Bug: 32163131

Change-Id: I3c097d766fe4c416a8e3f02640809fe1199c6ef2
2017-02-14 15:55:57 +09:00
Erik Kline
ea7e8f7352 Merge "Cleanup in the face of upstream error" am: ed6d75d5f3 am: 76e6f790db
am: 663ec79cb2

Change-Id: Ib726fe85b816eccbc0beab555873b77f3454bc64
2017-02-14 06:25:47 +00:00
Erik Kline
76e6f790db Merge "Cleanup in the face of upstream error"
am: ed6d75d5f3

Change-Id: If8dbf882bd8c4a8d53ae026d8f83a00a52590830
2017-02-14 06:17:38 +00:00
Erik Kline
8ea45483fc Cleanup in the face of upstream error
If either enableNat() or startInterfaceForwarding() fail, be sure
to cleanup any commands that might have succeeded.

Most of this change is a refactoring of cleanupUpstreamIface() into
two methods, one of which (cleanupUpstreamInterface()) is reused
in error handling scenarios.

Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest -x .../tethering/TetherInterfaceStateMachineTest.java passes
Bug: 32031803
Bug: 32163131

Change-Id: Ia4d56e03beeab1908d8b8c2202e94992f1aa58a4
2017-02-14 12:20:39 +09:00
Erik Kline
349a8aeff9 Merge "Add test coverage for cleanup bug to be fixed." am: 89e6bf0532 am: 0cca15ff88 am: 3de5971b40
am: 60d14c429b

Change-Id: Ia4a084be38e6f4dce14da012afb6760a3cbd32d0
2017-02-13 12:14:13 +00:00
Erik Kline
60d14c429b Merge "Add test coverage for cleanup bug to be fixed." am: 89e6bf0532 am: 0cca15ff88
am: 3de5971b40

Change-Id: I470c481a0eebc9cadf134c73ece08803927f4ca2
2017-02-13 12:08:11 +00:00
Erik Kline
0cca15ff88 Merge "Add test coverage for cleanup bug to be fixed."
am: 89e6bf0532

Change-Id: I33347c8fc2bec5660b8e9c14a316f6d14a6cf8b1
2017-02-13 11:57:37 +00:00
Erik Kline
a954be9563 Add test coverage for cleanup bug to be fixed.
The test calls that need to pass but do not currently are commented out.

Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest -x .../tethering/TetherInterfaceStateMachineTest.java passes
Bug: 32031803
Bug: 32163131

Change-Id: I68ed476920bef882f353d8e8a54c72120bc27002
2017-02-13 17:38:34 +09:00