Commit Graph

43055 Commits

Author SHA1 Message Date
Treehugger Robot
f8d1f3d1cd Merge "Unregister the tethering internal callback in finalize" 2021-10-20 08:40:08 +00:00
Treehugger Robot
9d0c5419c9 Merge "Test TetheringManager could be GC after getting connector" 2021-10-20 07:48:10 +00:00
markchien
819e19ea2a Unregister the tethering internal callback in finalize
Bug: 177265744
Bug: 191798390
Bug: 187972579
Test: atest TetheringServiceTest
Change-Id: Ie7f9535b923db5073a59329ead22546a54e6ef47
2021-10-20 06:57:58 +00:00
Paul Hu
7a30d04659 Merge "Crash bad callers earlier" 2021-10-20 06:53:39 +00:00
markchien
e7b4a505aa Test TetheringManager could be GC after getting connector
There is pollingConnector thread which start polling connector if
TetheringManager is created earlier than TetheringService started(during
device boot up). TetheringManager won't be GCed if pollingConnector
thread do not finish its task yet.

Bug: 177265744
Bug: 191798390
Bug: 187972579
Test: atest TetheringServiceTest
Change-Id: Id8c7d10c5172e1d5de460c5311ff9c20261facef
2021-10-20 06:06:04 +00:00
Paul Hu
c4898b85ce Merge "Specify which callback is unexpected in testMobileDataPreferredUids" 2021-10-20 05:39:19 +00:00
Treehugger Robot
d7d41a73e7 Merge "Fix TetheringManager memory leak" 2021-10-20 03:59:59 +00:00
Treehugger Robot
9755b43575 Merge "Exclude testGetMultipathPreference on no Wi-Fi devices" 2021-10-20 02:10:47 +00:00
paulhu
c344c9fb9c Specify which callback is unexpected in testMobileDataPreferredUids
This test is flaky due to assertNoCallback(). Because this
method expects no any callback received but the wifi network
may update its capabilities during testing and trigger
onCapabilitiesChanged() to cause test failed. Thus, these
callbacks should be ignored in the tests.

Replace the assertNoCallback to assertNoCallbackThat with
callback type specified to deflake tests.

Also align the available callback verification in the test to
avoid confusion.

Fix: 198367703
Test: atest android.net.cts.ConnectivityManagerTest\
      --iterations 20
Change-Id: Ifde5e9730823c3b6f32590cc436cc4ba11d2b36e
2021-10-19 18:27:19 +08:00
Chalard Jean
4b918ab1a4 Crash bad callers earlier
Instead of crashing when parceling the NetworkInfo object,
crash at the time the bad call is made.

Bug: 145972387
Test: FrameworksNetTests
Change-Id: If8b5fd3d7b800c97211bcd16c9a8c5812708d4ab
2021-10-19 16:43:50 +08:00
Lucas Lin
39379a40bd Merge "Add new APIs in NetworkCapabilities to set and get underlying networks" 2021-10-18 05:27:59 +00:00
lucaslin
8b2dfa7c02 Add new APIs in NetworkCapabilities to set and get underlying networks
Previously, the caller can only know about the transport type of
the underlying network. The information might not be enough if
the device support WiFi STA+STA.
Thus, provide an API for the caller to get the correct underlying
network.

Bug: 191918368
Test: atest FrameworksNetTests:NetworkCapabilitiesTest
Change-Id: I7752b2356770f4572f6ca4cbaecaa45c09d6d72f
2021-10-15 18:07:12 +08:00
Treehugger Robot
29f0350da3 Merge "Update Permission only if the network is created" 2021-10-14 06:13:54 +00:00
markchien
1110b725a0 Fix TetheringManager memory leak
TetheringCallbackInteranl is inner class which explicitly reference
TetheringManager object. This causes TetheringManager can't be GC. Using
static nested class which has its own lifecycle and weak reference
TetheringManager object.

Still have a leak inside Tethering that TetheringCallbackInternal is
never unregistered. Currently it rely on binder died to remove the
reference, which usually happen in kill process. If process keep alive,
the TetheringCallbackInternal would not be freed even TetheringManager is
gone. Will have follow CL to fix this.

Bug: 177265744
Bug: 191798390
Bug: 187972579
Test: 1. lunch Settings with ON/OFF tethering, dump java heap.
      2. close Settings and restart Settings again, dump java heap.
      3. Compare java heap between step 1 and step 2.
Change-Id: I0e2a21b7988115098a033a581cd98da8bffe2791
2021-10-14 14:02:11 +08:00
Treehugger Robot
6b6d2eb75b Merge "Ignore testRestrictedNetworkPermission on Q" 2021-10-13 07:01:33 +00:00
Chiachang Wang
1c3cdce86d Exclude testGetMultipathPreference on no Wi-Fi devices
Bug: 202228414
Test: atest CtsNetTestCases
Change-Id: I3112ffb816fd16b2fc7a87c35d8f95eef0144281
2021-10-07 13:19:32 +08:00
Xin Li
301d6bdfa6 Merge Android 12
Bug: 202323961
Merged-In: I3ae21d9b034e455ba48d9576712a102ccda0f647
Change-Id: I0b895d155dfb440a3788cc950a8c76fe8b505dd0
2021-10-06 22:54:04 +00:00
Treehugger Robot
6e1c375f50 Merge "Support wifi and ethernet connection for DnsResolverTest." am: f822038c1c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1833253

Change-Id: I3ae21d9b034e455ba48d9576712a102ccda0f647
2021-10-06 08:52:12 +00:00
Treehugger Robot
f822038c1c Merge "Support wifi and ethernet connection for DnsResolverTest." 2021-10-06 08:34:52 +00:00
Chalard Jean
7f40360e32 Merge "Add a small usage comment" am: a898f0a039
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1844182

Change-Id: Ibe27d64cd16a2ef44d6a41b94f81a0daa06c523b
2021-10-05 11:14:01 +00:00
Chalard Jean
a898f0a039 Merge "Add a small usage comment" 2021-10-05 10:57:59 +00:00
steven_fann
fa8dbc5da7 Support wifi and ethernet connection for DnsResolverTest.
Issue: 199675828
Test: atest CtsNetTestCases:android.net.cts.DnsResolverTest

Change-Id: Ie1c7522426314ccc83008b75f90a57f3a53339d4
2021-10-05 15:36:35 +08:00
Paul Hu
fe5e2742b6 Merge "Stop using PerUidCounter#transact" am: a7db5ddda5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1821293

Change-Id: Icd1072ef5b8281fa54f71796e7eaa981b0fd943b
2021-10-04 13:58:26 +00:00
Paul Hu
a7db5ddda5 Merge "Stop using PerUidCounter#transact" 2021-10-04 13:48:07 +00:00
Treehugger Robot
b370da94ec Merge "Increase timeouts for loopers" am: 2ed9b3dc70
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1844177

Change-Id: I8062108d1faf53bf9efbfb947f3238f02b7cf34f
2021-10-04 10:58:27 +00:00
Treehugger Robot
2ed9b3dc70 Merge "Increase timeouts for loopers" 2021-10-04 10:42:59 +00:00
Treehugger Robot
1f3515bb48 Merge "Add Override anntation for TetheringConnector.setPreferTestNetworks" am: 1503bdc297
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1844178

Change-Id: Ie1f715a7b3ac4d46a25c58e799fb133dfdc55951
2021-10-04 10:00:56 +00:00
Treehugger Robot
7366c89d64 Merge "Remove "when" usage in ConnectivityServiceTest" am: f697c61406
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1844176

Change-Id: I9197503f4f19748824ab3cc1efc8d540779399ec
2021-10-04 10:00:40 +00:00
Treehugger Robot
1503bdc297 Merge "Add Override anntation for TetheringConnector.setPreferTestNetworks" 2021-10-04 09:50:19 +00:00
Treehugger Robot
f697c61406 Merge "Remove "when" usage in ConnectivityServiceTest" 2021-10-04 09:42:47 +00:00
Chalard Jean
025f40bc4f Add a small usage comment
Test: comment-only change
Bug: 201972281
Change-Id: Ifbdadbaacfaf364f6770e56ccb816eb3269003d5
2021-10-04 18:33:36 +09:00
Chalard Jean
1afb2e33e2 Increase timeouts for loopers
In coverage tests this seems to randomly fail, which suggests
some delay. Have a constant for timeout and increase its value
significantly where it makes no functional difference.

Test: FrameworksNetTests
Change-Id: I035d865f01688daf3bce30c5130ce550fa84b885
2021-10-04 18:02:17 +09:00
markchien
d3e0f2e896 Add Override anntation for TetheringConnector.setPreferTestNetworks
Test: TH
Change-Id: Idfaca3cb59580ffe4ee194466ad2ba8f47d8fac4
2021-10-04 16:14:08 +08:00
Aaron Huang
045f47bc31 Merge "Enable/disable FrameworksNetTests" am: d1ed1cb8b7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1843117

Change-Id: Ida093c6792bed45d5f65e3ea0e567eb30de74807
2021-10-04 08:07:21 +00:00
Remi NGUYEN VAN
d7331e929f Remove "when" usage in ConnectivityServiceTest
"when" is not thread-safe, as it relies on global state to find which
mock was called with the method to mock in its parameters.

This causes flakes where non-test code that interacts with the mock may
be called from another thread between the contents of "when" and the
"when" method another thread, causing UnfinishedStubbingExceptions or
other test errors. In particular
ConnectivityService#getNetworkCapabilitiesInternal was seen to be
wrongly identified as a mocking site for Dependencies.

Replace all usages with doReturn().when(mock).method() syntax, which has
better thread safety since global state is not necessary to tie the
mock, mocked method and return value.

Bug: 195626111
Test: atest ConnectivityServiceTest
Change-Id: I57c5ffb3b3f799fc59c3af4ccb323fb5d6794fad
2021-10-04 17:03:44 +09:00
Aaron Huang
d1ed1cb8b7 Merge "Enable/disable FrameworksNetTests" 2021-10-04 07:53:09 +00:00
Treehugger Robot
3a44ebe9a1 Merge "Updating formatting and text for per-app dumpsys" am: 7ece4bb71e
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1723618

Change-Id: Id13fe82d772d51b935a86076b1b660f57b4f5032
2021-10-03 06:11:23 +00:00
Treehugger Robot
7ece4bb71e Merge "Updating formatting and text for per-app dumpsys" 2021-10-03 05:53:26 +00:00
Aaron Huang
1ed8affa72 Enable/disable FrameworksNetTests
Currently, there are some test for classes that are not in
connectivity module. If the platform code has a new change
that the test depends on it, then the test cannot verify the
behavior since the change does not exist in module branch.

This change moves the test for non-module classes out of
FrameworksNetTestsLib so that it doesn't go into coverage tests.
Then add those tests to FrameworksNetTests and use a variable
to enable/disable FrameworksNetTests which could minimize merge
conflicts.

Bug: 201265286
Test: make FrameworksNetTests

Change-Id: Ia9669da2c4d79054710e7f4173bc960e3f77f45a
2021-10-01 19:29:50 +08:00
Mark Chien
77c2e2ecb5 [automerger skipped] Merge "Use SettingsShim to hide different implementation in shim" am: 05fd386de8 -s ours
am skip reason: Merged-In I3e7f6525e9776992bd96b17c132b749b12285bbd with SHA-1 dfa5697a70 is already in history

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1700809

Change-Id: Iee833c651c7c8e77d9b828eb8d0ead9a57ce513d
2021-10-01 01:48:40 +00:00
paulhu
3c811e1e55 Add comment for not listening EXTERNAL_APPLICATIONS_UNAVAILABLE am: e7e02d7880
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1826071

Change-Id: Ib46d16e9d96ff331a486ec4151aa498236f29d8f
2021-10-01 01:48:36 +00:00
Mark Chien
05fd386de8 Merge "Use SettingsShim to hide different implementation in shim" 2021-10-01 01:47:00 +00:00
paulhu
e7e02d7880 Add comment for not listening EXTERNAL_APPLICATIONS_UNAVAILABLE
Bug: 192653840
Test: only add comment.
Change-Id: I5a61ea76a40cf74e15ec36e415d6d4eb8ef6016f
2021-10-01 01:30:31 +00:00
Chiachang Wang
d2bd93f2e2 Merge "Restore private dns host name after testing" am: 0ee7406d33
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1836114

Change-Id: I51344c514278433e66016a812e1458e5e2df0e8d
2021-10-01 00:54:23 +00:00
Chiachang Wang
e129460c46 Merge "Remove reference when active listener is unregistered" am: a39b107812
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1833145

Change-Id: I7b05b33c2a0c02c298d42ab4891ce543fe5ab9bd
2021-10-01 00:54:16 +00:00
Chiachang Wang
0ee7406d33 Merge "Restore private dns host name after testing" 2021-10-01 00:37:15 +00:00
Chiachang Wang
a39b107812 Merge "Remove reference when active listener is unregistered" 2021-10-01 00:37:00 +00:00
James Mattis
8b298a00b2 Updating formatting and text for per-app dumpsys
Fixing the indentation for dumpsys CONNECTIVITY for per app network
info. Also updated to more clearly show when the active network is
currently tagged to the "no service network" for configured apps so as
to more clearly show intent to dumpsys consumers. Finally, correctly
showing profile network preferences which weren't being shown
previously.

Prior formatting with no per-app networks:
Current per-app default networks: Per-App Network Preference:
    none

Updated formatting with no per-app networks:
Current network preferences:
  Default requests:

Prior formatting with active per-app networks ("none" is shown in this
case since profile network preferences weren't correctly displayed):
Current per-app default networks: Per-App Network Preference:
    none
  Is per-app network active:
    true
    Active network: 100
    Tracked UIDs:
      {1100000-1199999}

Updated formatting with active per-app networks:
Current network preferences:
  Profile preferences:
    [[ProfileNetworkPreference user=UserHandle{11} caps=[ Capabilities:
    INTERNET&TRUSTED&NOT_VCN_MANAGED&ENTERPRISE Uids:
    <{1100000-1199999}>]]]
  OEM preferences:
    OemNetworkPreferences{mNetworkMappings={android.net.cts=-1}}
  Mobile data preferred UIDs:
    mMobileDataPreferredUids: {1, 2, 3}
  Default requests:
    Request: [uid/pid:1000/1423] - Satisfier: [100] Preference order: 10
    Tracked UIDs:{1100000-1199999}

Bug: 189860802
Test: adb shell dumpsys connectivity
Change-Id: I5ed4bb83e9e5a4497f5019ab4e4c0f238989a246
2021-09-30 11:47:36 -07:00
paulhu
74128521ad Stop using PerUidCounter#transact
PerUidCounter#transact is used to adjust the request counter for
the per-app API flows. Directly adjusting the counter is not
ideal however in the per-app flows, the nris can't be removed
until they are used to create the new nris upon set.

In fact, satisfiers are the info that new nris need reference.
Without satisfiers in new nris, the avaiable callbacks would be
sent to listeners agin when assign new satisfiers. Even the new
best networks are same as previous satisfiers, but the new nris
have lost those info if calling handleRemoveNetworkRequests()
before createPerAppCallbackRequestsToRegister().

However, removing satisfiers from nris is not necessary actually
because the CS will update the best network to nri when compute
network reassignment. It doesn't need to be cleared when
calling handleRemoveNetworkRequest(). Thus, keep that info and
adjust the sequence to remove nri first. The counter is still
correct and doesn't hit limit artificially.

Bug: 201648050
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: I4cbc953def7866b23c2b8ebc8deaadf0ffc3b75d
2021-09-30 15:35:53 +00:00
markchien
97ac1a93fa Move runDhcp to TetheringTester am: f320c21120
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1817921

Change-Id: I74d5c4a6c88fb26e35218f05ef468fa125a340d4
2021-09-30 15:00:11 +00:00