1252 Commits

Author SHA1 Message Date
Xin Li
d191463bb0 Merge "DO NOT MERGE - Merge Android 10 into master" 2019-09-05 16:53:23 +00:00
Lucas Lin
3f275ca900 Merge "Fix flaky test - testPartialConnectivity" 2019-09-05 11:40:01 +00:00
lucaslin
fe39f0a777 Fix flaky test - testPartialConnectivity
This timing issue is happened when test case already verified
NetworkMonitor#setAcceptPartialConnectivity() before
NetworkAgent send the CONNECTED state to ConnectivityService.
This test case expects that the
NetworkMonitor#setAcceptPartialConnectivity() will be invoked
when network state is CONNECTED in
ConnectivityService#updateNetworkInfo().

NetworkAgent communicates with ConnectivityService by
AsyncChannel. Before they connect to each other, the thread of
NetworkAgent is keeping idle, so waitForIdle cannot handle this
kind of case. Although they have connected to each other, but
they don't communicate with each other, waitForIdle() still
cannot handle this case. It means waitForIdle() can only handle
the case that NetworkAgent already connected to
ConnectivityService and NetworkAgent is communicating with
ConnectivityService. So, that's why waitForIdle() sometimes
doesn't work in this case, and the most simplest and right way
to fix this case is to wait the available callback then verify
the method.

Bug: 140306320
Test: atest FrameworksNetTests: \
      ConnectivityServiceTest#testPartialConnectivity \
      --generate-new-metrics 500

Change-Id: I64bfecbfe3c5776bd5c347a821f9127e79539c48
2019-09-05 11:39:20 +00:00
Remi NGUYEN VAN
f8a4272491 Add NetIdManagerTest
Add a simple test to verify that IDs loop correctly, that they skip used
IDs correctly, and throw when there is no remaining ID.

Test: atest com.android.server.NetIdManagerTest
Change-Id: I4c9518c725156d743286e062fd2eec1423a0459e
2019-09-04 15:57:58 +09:00
Guang Zhu
49e64d2333 Merge "Mark 3 tests as flaky."
am: 1566e18657

Change-Id: Ie1c38e247ccfaa407d35cf6b6e28306d36cdccca
2019-09-02 12:03:12 -07:00
Treehugger Robot
1566e18657 Merge "Mark 3 tests as flaky." 2019-09-02 18:44:24 +00:00
Guang Zhu
b90866d4b2 Mark 3 tests as flaky.
Bug: 140306320
Bug: 140305589
Bug: 140305678
Test: apct/net/networking_framework_unit_test
Change-Id: I5a288d7d64b3e95e0025c2c1f4a64ffe85cc3cd6
2019-09-01 21:37:04 -07:00
Paul Hu
07dfc766d8 Merge "Fix flaky testTcpBufferReset"
am: f2c7d5c49d

Change-Id: Ia344cb1a8c0be07a62eac98117911b6cdb329525
2019-08-30 09:19:42 -07:00
paulhu
66269b3714 Fix flaky testTcpBufferReset
If EVENT_NETWORK_INFO_CHANGED was handled after waitForIdle()
method done, this test will be failed due to
INetd#setTcpRWmemorySize() was not executed yet. Instead of
waiting for idle state, it's better to use NetworkCallback to
ensure events completely on ConnectivityService.

Bug: 140206578
Test: atest ConnectivityServiceTest#testTcpBufferReset\
      --generate-new-metrics 500

Change-Id: Iad77415db38038603881d9ebe0e37586b549a45c
2019-08-30 20:21:03 +08:00
Jianpeng Li
8e27bc49d4 Merge "Update wifi interface ip state upon receiving ap disable event"
am: 25d4c75c26

Change-Id: Ia58a409f63c59ece7817f9412695595708a95c77
2019-08-15 22:48:54 -07:00
Treehugger Robot
25d4c75c26 Merge "Update wifi interface ip state upon receiving ap disable event" 2019-08-16 05:15:12 +00:00
Jianpeng Li
a70feeca7a Update wifi interface ip state upon receiving ap disable event
When turning on/off SoftAp with high frequency, sometime calling
WifiManager#updateInterfaceIpState with IFACE_IP_MODE_TETHERED
is performed after handling WIFI_AP_STATE_DISABLED event in
WifiServiceImpl while SoftAp is being terminated. This leads to
the issue that SoftAp is unable to start as startSoftAp always
returns "false". This is because mIfaceIpModes in WifiServiceImpl
keeps the mode WifiManager.IFACE_IP_MODE_TETHERED and the CL below
rejects SoftAp start request.

e257c5c9e79e3675375ca20731cfb74df02b1064 @ frameworks/opt/net/wifi
(WifiServiceImpl: Reject startSoftAp when already tethering)

This CL updates the interface ip state upon receiving ap disable
event from Tethering class to set proper state to mIfaceIpModes.

Bug: 134806980
Test: Ran script to turn on/off soft ap frequently
Signed-off-by: Daichi Ueura <daichi.ueura@sony.com>
Change-Id: I2f89214414d93f1aa942fb8a21264a9baae3452a
2019-08-16 04:16:26 +09:00
Mark Chien
538bc0fe4f Merge "Don't allow upstream if entitlement don't know any downstream"
am: 161814ffb1

Change-Id: Ibac99a20b470b48597859fe737732f3c6f491805
2019-08-13 02:49:09 -07:00
Mark Chien
161814ffb1 Merge "Don't allow upstream if entitlement don't know any downstream" 2019-08-13 09:36:16 +00:00
markchien
426311bcb5 Don't allow upstream if entitlement don't know any downstream
In case tethering donwstream is setup but don't ask EntitlementManager
to run provisioning. Cellular upstream should not be allowed if
EntilementManager don't have any donwstream record.

Bug: 134649258
Test: -build, flash, boot
      -manual test with carrier SIM
Change-Id: I609722c79f0a45a1c2164d39721ef5883e436feb
2019-08-13 02:28:41 +00:00
Remi NGUYEN VAN
62857556a4 Merge "Extract test utilities for ConnectivityService"
am: b7d270a73e

Change-Id: I0ac2a480f961bb6fd1d83dedad6a7942ee03858f
2019-08-06 14:58:43 -07:00
Remi NGUYEN VAN
95dc87ebce Extract test utilities for ConnectivityService
The utilities help using ConnectivityService in tests, and will be used
to write integration tests for ConnectivityService.

Test: atest FrameworksNetTests
Change-Id: Ie895ad05139cd5768d3d8a9bd5589d72571f47e6
2019-08-01 16:32:30 +09:00
Chalard Jean
81d9d197a3 Merge "Refactor TestNetworkCallback out of ConnectivityServiceTest."
am: b268cb5c6e

Change-Id: I44b66d1d606c5bb454ae49de234cfa0dbbb2bed2
2019-07-08 14:00:56 -07:00
Mark Chien
4e7c3ad945 Merge "Fix entitlement failed when device is on CBRS"
am: 073c203dae

Change-Id: I682ec8f7b8f91be5e6735e141f4da06a18a11fe1
2019-07-08 13:57:53 -07:00
Chalard Jean
b268cb5c6e Merge "Refactor TestNetworkCallback out of ConnectivityServiceTest." 2019-07-05 13:09:07 +00:00
Mark Chien
073c203dae Merge "Fix entitlement failed when device is on CBRS" 2019-07-05 06:17:52 +00:00
markchien
04bdf8738b Fix entitlement failed when device is on CBRS
Tethering may use wrong sub id for entitlement when data
subscription is changed from preferred data sub id to CBRS
sub id. Fix by using the active data sub id for tethering.

Bug: 134994718
Test: -build, flash, boot
      -FrameworkNetTests
      -manual test with carrier SIMs

Change-Id: Icb3f5eeb2319e50b2dc98369ad152988c934da57
Merged-In: Icb3f5eeb2319e50b2dc98369ad152988c934da57
2019-07-04 16:23:32 +08:00
Chalard Jean
6f4216f4be Refactor TestNetworkCallback out of ConnectivityServiceTest.
TestableNetworkCallback will become a standard tool. This patch
and its companion in packages/modules/NetworkStack mostly move
it out of ConnectivityServiceTest, but also applies a few
cleanups like reordering arguments for standard order, renaming
...Like to ...That to match Mockito namings, and introduces
stonger static typing on some callbacks, which allows to remove
some unchecked casts.

Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I808a95ac33ec0c81a8829cad36a6917524297574
2019-07-04 16:12:40 +09:00
Lorenzo Colitti
736194dfbf Merge "Unit tests for new explicitlySelected behaviour." am: d1379a4a80
am: 10c1a704c0

Change-Id: Id77a5d6a58e7ab4fdaa0b7c15b824270863b83fd
2019-06-29 02:01:55 -07:00
Chalard Jean
ba3ba4b915 Merge "Simplify Exception expressions in CSTest" am: febb37f376
am: cb5aa75dd9

Change-Id: Iae16e8d68e2b1b9a1e5aa86170177c68b22cd7b5
2019-06-28 08:57:18 -07:00
Lorenzo Colitti
b5ad613839 Unit tests for new explicitlySelected behaviour.
ag/7905088 added the ability to pass in acceptUnvalidated without
passing in explicitlySelected. Add unit tests for that code.

While I'm at it, convert a couple of "== 1"s to toBool(), and
update the comments in NetworkAgent.

Bug: 130766237
Test: atest FrameworksNetTests
Change-Id: I6b550bd621e3596975f83464c7b4b8a14269120b
2019-06-28 23:57:22 +09:00
Chalard Jean
e7b2475523 Simplify Exception expressions in CSTest
Test: CSTest
Change-Id: Ie9b9fc334b85836bf156bda71e54e8d30885b82a
2019-06-28 14:22:30 +09:00
Lorenzo Colitti
e6e57b2c8f Merge "Remove all static members from NetworkStatsFactory." am: 63f94f411b
am: 5409264cee

Change-Id: Iada14a1fea74197014e75a1112c7a5b35d6b1a1d
2019-06-27 19:40:01 -07:00
Chalard Jean
dc857983b8 Merge "Revert "Simplify Exception expressions in CSTest"" am: 73b4106d7e
am: 60422b8e88

Change-Id: I80d94fa746d533a83e3ce01377dabd2aab0c3229
2019-06-27 02:53:23 -07:00
Lorenzo Colitti
4aa8760a68 Remove all static members from NetworkStatsFactory.
NetworkStatsFactory is owned by NetworkStatsService, and any
accesses to NSF data should go through NSS.

Test: atest FrameworksNetTests
Change-Id: Idbd0dbbaeb11313f63474e7ec0e01f974349fc89
2019-06-27 17:39:05 +09:00
Lorenzo Colitti
cf545aa02a Merge "Transfer ownership of NetworkStatsFactory to NetworkStatsService." am: bd94f0afd2
am: 92292f556b

Change-Id: If897c9c95fc8571949183c45a99a5c28cb032ebb
2019-06-27 01:31:46 -07:00
Chalard Jean
73b4106d7e Merge "Revert "Simplify Exception expressions in CSTest"" 2019-06-27 08:30:57 +00:00
Chalard Jean
f30d1e1685 Revert "Simplify Exception expressions in CSTest"
This reverts commit b92b18b9b9bc90e3734652e5d6c5b217cd31bf39.

Reason for revert: Breaks the build because it removes an unused method that was used by a change intervening in the mean time

Bug: 136143444
Change-Id: Id3a17e0b16ec03276609ca96fb7b582188ed1077
2019-06-27 08:30:05 +00:00
Chalard Jean
c2341be255 Merge "Simplify Exception expressions in CSTest" am: b1d9ad9287
am: 8e3bf0f8e3

Change-Id: I32182775bf36918438868c5b77d8d1aa995c788a
2019-06-27 01:11:02 -07:00
Chalard Jean
e251c905a5 Merge "Unify assertThrows" am: 978cca8972
am: 3f21f94616

Change-Id: If349f647b34a71bc4eb1ba25ca18d543437eb969
2019-06-27 01:05:16 -07:00
Lorenzo Colitti
bd94f0afd2 Merge "Transfer ownership of NetworkStatsFactory to NetworkStatsService." 2019-06-27 07:53:30 +00:00
Chalard Jean
b1d9ad9287 Merge "Simplify Exception expressions in CSTest" 2019-06-27 07:09:36 +00:00
Chalard Jean
978cca8972 Merge "Unify assertThrows" 2019-06-27 07:08:59 +00:00
Lorenzo Colitti
8b577139ae Transfer ownership of NetworkStatsFactory to NetworkStatsService.
NetworkStatsService is the only consumer of the data coming from
NetworkStatsFactory, but the factory itself is instantiated and
owned by NetworkManagementService.

Move it into NetworkStatsService instead.

Test: atest FrameworksNetTests
Change-Id: I52df1e545c646927952579da22845a12d1d7563b
2019-06-26 19:29:51 +09:00
Remi NGUYEN VAN
0b5a4d8621 Merge "Only show "Connected" note after opening portal" am: f2aa4ce4bd
am: bad4d1c6e9

Change-Id: I99be7d312d020d242081971c7e522023bbbab072
2019-06-25 09:40:54 -07:00
Remi NGUYEN VAN
f2aa4ce4bd Merge "Only show "Connected" note after opening portal" 2019-06-25 15:20:33 +00:00
Chalard Jean
b92b18b9b9 Simplify Exception expressions in CSTest
Test: CSTest
Change-Id: I2c7d9e3092497526ab7d87b40a508f2d4bc3d7a2
2019-06-25 20:40:41 +09:00
Chalard Jean
751bb3f7a7 Unify assertThrows
Test: atest FrameworksTestsNet NetworkStackTests
Change-Id: Ib6d5d2577a5b95f90857d8d146b00af516e9944d
2019-06-25 20:40:39 +09:00
Remi NGUYEN VAN
0839a191bc Only show "Connected" note after opening portal
The "Connected" notification would be shown every time a network
validates after being identified as a captive portal. This causes issues
on networks that have auto-login mechanisms, as a high priority
notification would be shown even though the user was not interacting
with the phone.

The "Connected" notification is intended to confirm to the user that
they successfuly logged in (manually), so only show it after the user
opens the portal on the network.

Bug: 134124044
Test: Flashed, connected to portal: notification shown
      Opened portal from command line + revalidate: no notification
      Tests passing with change, failing without

Change-Id: I89e7a7f49019bd7e4686712c56e00bd786eb3ef3
2019-06-25 19:18:16 +09:00
Lorenzo Colitti
a2cff501e3 Merge "NetworkStats: Fix race condition causing system server crashes" am: 08b928e8ed
am: f37da9a879

Change-Id: I0ab308d5215ddb174ffb115e36948685d68da3ec
2019-06-25 01:53:11 -07:00
Hugo Benichi
96dc0c118c NetworkStats: Fix race condition causing system server crashes
NetworkStatsService uses an internal boolean to know when it has
started for the purpose of preventing access to other internal
variables before they are initialized.

However that boolean is set to true in systemReady() non-atomically
with respect to the initialization of the other variables it guards,
which can cause the system server to crash.

This patch fixes this concurrency bug by moving setting the internal
boolean flag and the variable it guards in one atomic synchronized
block.

This patch also removes code checking if bandwidth control is enabled,
because this is now always true.

Bug: 132767673
Test: Compiled.
Change-Id: Ia089b5767ce271d669879c975508654d4dd03429
2019-06-25 10:51:51 +09:00
Chalard Jean
f1eab99357 Merge "Factorize custom asserts." am: 6c176efa3d
am: 99fbb40990

Change-Id: I65ea7497abb8b77ebd10ba622075ef3b6c49b2a8
2019-06-20 14:01:31 -07:00
Chalard Jean
9c0ff1b005 Factorize custom asserts.
Also a few utilities that were in the way, and some opportunistic
cleanups.

Test: FrameworksNetTest NetworkStackTest
Change-Id: I385070e2044fd967cb18f1ffea9a86a4627b742e
2019-06-20 16:24:25 +09:00
Varun Anand
2471441b2d Merge changes Ieb8645ac,I6466ec14,I87deb82b,I995b108e,Ib6521459 am: f4c10e8bc2
am: 48f59a0fdf

Change-Id: I960e94b03b29282ae2b03f78a19ed2692bd88e05
2019-06-17 10:33:53 -07:00
Benedict Wong
833603caab Remove VPN info arrays from NetworkStats(Observer|Recorder)
This change removes the now-unused VPN arrays in the network stats
observer and recorder classes. These are always null values in every
call site.

Bug: 113122541
Bug: 120145746
Bug: 129264869
Bug: 134244752
Test: FrameworksNetTest passing
Test: Manual tests show data usage fixes maintained.
Change-Id: Ieb8645acc400fdaeb0df7092c5369b96f9f35af9
2019-06-14 11:41:31 -07:00