Commit Graph

1556 Commits

Author SHA1 Message Date
Hugo Benichi
269acc4c51 Merge "Simple cleanups to Tethering" am: 7eaa2ad172 am: a24e00242d
am: bc559bad9d

Change-Id: I393817fac7402d51fbd8dfd1fda20d16b398de17
2017-03-13 00:23:32 +00:00
Hugo Benichi
a24e00242d Merge "Simple cleanups to Tethering"
am: 7eaa2ad172

Change-Id: I3bb7e4756eaa0b7e702ff7270beb7420b7b6aac5
2017-03-13 00:14:55 +00:00
Hugo Benichi
c0b3f6eaeb Simple cleanups to Tethering
- regroup together static final class fields, final instance fields, and
  mutable instance fields.
- uses correct Android naming conventions for instance fields.
- reorder imports correctly.

Test: no functional change.
Change-Id: If3d73bc28972a004c2ba3cc14d869a2a679abfce
2017-03-10 15:32:30 +09:00
Erik Kline
b55e2f55cf Merge "request{LinkProperties,NetworkCapabilities} no longer needed" am: 6a589b03e6 am: 14025c741e
am: bb54baba04

Change-Id: Id2aa8aeff6d299edb85955c12ab0a04023458597
2017-03-07 13:42:11 +00:00
Erik Kline
14025c741e Merge "request{LinkProperties,NetworkCapabilities} no longer needed"
am: 6a589b03e6

Change-Id: I79b9323be242ed5d2bf83962f78c613a465a20b8
2017-03-07 13:33:29 +00:00
Erik Kline
0a59189b8d 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
521b2892b6 Merge "Always send all available state when calling onAvailable()." am: 1a4d506305 am: 8beee2f864
am: 3765538bab

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

Change-Id: I81e70fecf060a4103b51084a60a32c78f6219f6b
2017-03-07 06:00:09 +00:00
Erik Kline
81fdc8a3d6 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
Geoffrey Pitsch
482e99a6c7 Channels for Frameworks notifications
Adapts all notifications used by system services to use channels.
Channels are initialized by SystemServer after the NotificationService
has started.

Test: runtest systemui-notification
Change-Id: I25c45293b786adb57787aeab4c2613c9d7c89dab
2017-03-01 10:17:15 -05:00
Robin Lee
4180aed562 Merge "Reinstate USER_PRESENT for ConnectivityService" am: e6aea7d299 am: ebb56ce1fb
am: 4d00a13c35

Change-Id: Id22859b30b848418cbc1bcf46c74ebd2aa88cd06
2017-02-21 18:13:12 +00:00
Robin Lee
ebb56ce1fb Merge "Reinstate USER_PRESENT for ConnectivityService"
am: e6aea7d299

Change-Id: If8b7239cdabdd79d9ea24baf99e95c6ec1a9acf3
2017-02-21 17:55:07 +00:00
Treehugger Robot
e6aea7d299 Merge "Reinstate USER_PRESENT for ConnectivityService" 2017-02-21 13:23:41 +00:00
sj.cha
b679d1a507 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN" am: 35af406240 am: 19aa93e742 am: 52944ac4d1
am: 53bd9233a9

Change-Id: Ib7e586a778c6fb9b920f0790e4b343c122250bb7
2017-02-17 13:32:07 +00:00
sj.cha
53bd9233a9 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN" am: 35af406240 am: 19aa93e742
am: 52944ac4d1

Change-Id: I5e0faee7a0b1c6bdfafe77560a91e999f40edc4a
2017-02-17 13:27:04 +00:00
sj.cha
19aa93e742 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN"
am: 35af406240

Change-Id: I21a69eb02b13b20f66996836d54b8aadadfa80ec
2017-02-17 13:17:00 +00:00
Treehugger Robot
35af406240 Merge "Infinite reboot when OS upgrade from M to N with set Always-on VPN" 2017-02-17 13:07:21 +00:00
Etan Cohen
bd64fb8abf Merge changes from topic 'cm_request_to' am: b43c096875 am: e88ad9f57d am: 03c83775a3
am: 0b4f6b95ed

Change-Id: I2cef23ff183428041273007cf9bb1b655f92372a
2017-02-16 14:46:52 +00:00
Etan Cohen
0b4f6b95ed Merge changes from topic 'cm_request_to' am: b43c096875 am: e88ad9f57d
am: 03c83775a3

Change-Id: Ief32189b0f6f2c70d7e4097f70dbdf8195bd8713
2017-02-16 14:38:28 +00:00
Etan Cohen
e88ad9f57d Merge changes from topic 'cm_request_to'
am: b43c096875

Change-Id: I9ca18c0570be831ab37cdf200c28b0778117198d
2017-02-16 14:23:18 +00:00
Etan Cohen
3985c17be5 [CM] Remove maximum timeout value for request network
The request network with timeout was originally created with a
check of max timeout against a constant of 100 minutes. However,
the API was not public and did not implement a timeout. Any users
were internal and never got any onUnavailable() callback (since
timeout never triggered).

There is no reason to have a max timeout so the constant is
remove.

Bug: 31399536
Test: unit tests and CTS of ConnectivityManager
Change-Id: Icbedfb4299d75b6a7e3e43720111531f1faafd06
2017-02-16 14:15:16 +00:00
Lorenzo Colitti
231efb08b7 Add an API hint for metered multipath traffic.
This allows an application that knows how to provide seamless
network connectivity (e.g., using QUIC multipath) to find out if
doing so is desired.

Test: builds, boots, runtest frameworks-net passes.
Bug: 34630278
Change-Id: Ic7fd0b9e1cd879fdfaf84009d7125391895e9087
2017-02-01 17:02:29 +09:00
Lorenzo Colitti
0ad0efae32 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: b8dfec4b88 am: a566163a38 am: 3cdc4f95e0
am: 1afd50b7b8

Change-Id: I5aefc453c022286e6ee2332a53e6c9f36472e9a5
2017-02-01 03:17:19 +00:00
Lorenzo Colitti
1afd50b7b8 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: b8dfec4b88 am: a566163a38
am: 3cdc4f95e0

Change-Id: I91f1338f3488cfc60eef0c2147aa7b1d61107cdd
2017-02-01 02:59:42 +00:00
Lorenzo Colitti
a566163a38 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker
am: b8dfec4b88

Change-Id: I7615c9128deed7011eb9ab6f2efdcfe2e237a1a5
2017-02-01 02:37:31 +00:00
Lorenzo Colitti
b8dfec4b88 Rename AvoidBadWifiTracker to MultinetworkPolicyTracker
Rename the class and ensure that all code related to bad wifi
avoidance has names that reflect its purpose.  This will allow us
to reuse most of the the code for other purposes in future CLs.

Test: runtest frameworks-net passes
Bug: 34630278
Change-Id: Ida190e5a79e7a12f4eec07e1a3e4d9d138e83bcd
2017-01-31 15:42:57 +09:00
Robin Lee
2c61d9ebf1 Reinstate USER_PRESENT for ConnectivityService
Reverts half of commit 224743c6b7
Reverts parts of commit 4908ef3e42

Lockdown VPN still needs this to start properly on devices without FBE,
such as phones upgraded from M. Without listening to USER_PRESENT the
first unlock of keystore may get missed, since USER_UNLOCKED is sent too
soon to be useful.

Bug: 34587043
Change-Id: If7a2f5a3173b0f6856244a5f7904bf00c9a5b5e7
2017-01-30 09:19:46 +00:00
Lorenzo Colitti
569a9fdb40 Merge "ConnectivityServiceTest: remove flaky waitForIdle test." am: be80577f5b am: 100dd57c82 am: d635e56751
am: 5ba5fd6ee6

Change-Id: Iebafbf438ee4efcd53b3e6d5c71b34c0ca4e2c6b
2017-01-27 10:00:14 +00:00
Lorenzo Colitti
5ba5fd6ee6 Merge "ConnectivityServiceTest: remove flaky waitForIdle test." am: be80577f5b am: 100dd57c82
am: d635e56751

Change-Id: I1d3707b4bc2ae00ca0fad1c3ec7e6ca859fcdd16
2017-01-27 09:55:36 +00:00
Lorenzo Colitti
100dd57c82 Merge "ConnectivityServiceTest: remove flaky waitForIdle test."
am: be80577f5b

Change-Id: I444746af6adc7be4a3f69243379f65aadf29ea19
2017-01-27 09:47:05 +00:00
Hugo Benichi
6d8a58f1cd 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 6fe7d3cdb3)

Change-Id: I1eaab5ea702063dde3e23324d3a1b3dc172c5ac5
2017-01-26 18:52:55 +09:00
Stephen Chen
7063b13334 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 7581e6d766)

Change-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a
2017-01-26 18:52:32 +09:00
Felipe Leme
1f6bd2fe18 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 39e1923fbb)

Change-Id: Ia9929295ab2396a7ebb133e65d157f98414e4dfa
2017-01-26 18:52:04 +09:00
Felipe Leme
ade9fa042c Use @Ignore to explicitly disable a @Test method.
BUG: 30839080
BUG: 31007021

(cherry picked from commit 2b54780c88)

Change-Id: I35942e60493adebb22871541a34240368c691ee7
2017-01-26 18:52:01 +09:00
Felipe Leme
16cd4970a3 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 34634f9339)

Change-Id: Ie09b2f43cf6ec745e404d5ec98bd0b072d211ea3
2017-01-26 18:51:58 +09:00
Etan Cohen
b6ae65fe6b [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 88087226a6)

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

Change-Id: I993eeaa5dec001c39389023f355f506129b356e7
2017-01-26 18:50:59 +09:00
Lorenzo Colitti
e19fb8171d 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 f59c92bb17)

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
2017-01-26 18:50:52 +09:00
Lorenzo Colitti
5a4a0903ac Move FakeSettingsProvider to a common location.
(cherry picked from commit 1de880a8fa)

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
2017-01-26 18:50:48 +09:00
Hugo Benichi
f3926a7d8c 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 6d278a5693)

Change-Id: I3c702bd981ed80ed606be0fb52d61eb3d7195a6f
2017-01-26 18:50:45 +09:00
Calvin On
74d07eb5f3 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 3fd101e574)

Change-Id: I90c0f97fe0e41de4059bceae7b56ab3a70145696
2017-01-26 18:50:42 +09:00
Erik Kline
61a7b73d7b Support timeouts for requestNetwork() invocations.
(cherry-pick of 8616c69985)
(cherry picked from commit 66721821df)

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

Bug: 10705136

(cherry picked from commit 98f9c2c23b)

Change-Id: I89e2fdfbbfa981d435a2974422d9d9c009872d76
2017-01-26 18:50:18 +09:00
Hugo Benichi
56db715395 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
Robin Lee
bb98793be5 Merge "Disable always-on VPN in factoryReset" am: 5765604627 am: 7960c6b8b5 am: 495418cd9c
am: d1b8497454

Change-Id: Iaccb7394994ccce66df0ab2f713fd890a8b999c8
2017-01-23 17:05:42 +00:00
Robin Lee
d1b8497454 Merge "Disable always-on VPN in factoryReset" am: 5765604627 am: 7960c6b8b5
am: 495418cd9c

Change-Id: I99207281321861a3e720b5c1e2e316e12b104677
2017-01-23 17:01:31 +00:00
Robin Lee
495418cd9c Merge "Disable always-on VPN in factoryReset" am: 5765604627
am: 7960c6b8b5

Change-Id: I66b6721932ae8798cbb406cafa04ed0c92fe47f6
2017-01-23 16:54:59 +00:00
Robin Lee
7960c6b8b5 Merge "Disable always-on VPN in factoryReset"
am: 5765604627

Change-Id: I021b288e3db17ddefbea3645fd282e3ee123a6e8
2017-01-23 16:47:58 +00:00
Robin Lee
5765604627 Merge "Disable always-on VPN in factoryReset" 2017-01-23 16:40:07 +00:00
Erik Kline
b3ecedaedc Merge "More concisely export whether we have a "tetherable configuration"" am: edea114308 am: 9d02ee9030 am: fa0b8e4cee
am: 52e97fcb8a

Change-Id: I290df5269739bc7fb5ebc8614a96c38bf7faf367
2017-01-23 07:30:22 +00:00