Commit Graph

8315 Commits

Author SHA1 Message Date
Cody Kesting
b51ef5b7d7 Merge "Simplify unregister logic for Connectivity Diagnostics callbacks." am: bf4f1d9e98
Change-Id: I798827a3505f460a5baf633ee2d3fb2422d65137
2020-03-31 20:32:59 +00:00
Cody Kesting
bf4f1d9e98 Merge "Simplify unregister logic for Connectivity Diagnostics callbacks." 2020-03-31 20:18:01 +00:00
Cody Kesting
1d99c7333f Merge "Clarify comments for Connectivity Diagnostics reports." am: 87ce14f328
Change-Id: If353d65d28842c6eb621a8881e9279a018fa9ffa
2020-03-31 18:02:08 +00:00
Cody Kesting
8d84479831 Merge "Sort administrator UIDs for NetworkCapabilities." am: c350963548
Change-Id: I4cfb80b1eb9edc5ad90a1aff957a0f6d1f3eb522
2020-03-31 18:01:47 +00:00
Cody Kesting
e0463c56eb Merge "Add combine() and equals() for NetworkCapabilities admin UIDs." am: e4df39ba4b
Change-Id: Ic8b353d233eda759100952e126d77e9dd48005e5
2020-03-31 18:01:24 +00:00
Cody Kesting
87ce14f328 Merge "Clarify comments for Connectivity Diagnostics reports." 2020-03-31 17:43:44 +00:00
Cody Kesting
c350963548 Merge "Sort administrator UIDs for NetworkCapabilities." 2020-03-31 17:43:02 +00:00
Cody Kesting
e4df39ba4b Merge "Add combine() and equals() for NetworkCapabilities admin UIDs." 2020-03-31 17:42:18 +00:00
Cody Kesting
8426b0a531 Merge "Use IBinder as key for ConnectivityDiagnostics storage in CS." am: 852715df47
Change-Id: Ife76fa15b2dab71021251846aa69e9090f809941
2020-03-31 17:10:51 +00:00
Cody Kesting
852715df47 Merge "Use IBinder as key for ConnectivityDiagnostics storage in CS." 2020-03-31 17:00:03 +00:00
Benedict Wong
538a86d63e Merge "Make VpnProfile.maxMtu default value match Ikev2VpnProfile" am: 0943dac366
Change-Id: I525f947ce90d44c286a61d05297dd205e706a319
2020-03-31 02:37:52 +00:00
Benedict Wong
0943dac366 Merge "Make VpnProfile.maxMtu default value match Ikev2VpnProfile" 2020-03-31 02:22:54 +00:00
Cody Kesting
21f7dba1e1 Merge "Decrement networkRequestPerUid when callbacks are unregistered." am: dcf92c32c6
Change-Id: I1ac0276aa434748dbb22b82f0c4aca917875b168
2020-03-31 00:26:01 +00:00
Cody Kesting
7439991aec Merge "Invoke onConnectivityReport on registering ConnectivityDiagnostics." am: a365c81bfa
Change-Id: I2d3e6be0923ec2a0d3197f71fb2d3149c40a5eea
2020-03-31 00:25:24 +00:00
Cody Kesting
dcf92c32c6 Merge "Decrement networkRequestPerUid when callbacks are unregistered." 2020-03-31 00:07:01 +00:00
Cody Kesting
a365c81bfa Merge "Invoke onConnectivityReport on registering ConnectivityDiagnostics." 2020-03-31 00:06:26 +00:00
Cody Kesting
2ea7a457b0 Merge "Clean up handling of NetworkCapabilities#administratorUids." am: eb0b80c9e5
Change-Id: I69f1061972af362560a274084c94428b57bd46e8
2020-03-30 22:27:30 +00:00
Cody Kesting
eb0b80c9e5 Merge "Clean up handling of NetworkCapabilities#administratorUids." 2020-03-30 22:04:43 +00:00
Cody Kesting
2b1a61cf4b Simplify unregister logic for Connectivity Diagnostics callbacks.
ConnectivityService is updated to simplify the logic for unregistering
ConnectivityDiagnosticsCallback instances. This change removes the given
callback from ConnectivityService's data structure. If the callback was
not registered with ConnectivityService, it is logged and the function
exits; else, the unregister() operation continues.

Bug: 150867635
Test: atest FrameworksNetTests
Change-Id: I9096969a1bf33da72b117f5bbc88257df805e688
2020-03-30 14:51:24 -07:00
Cody Kesting
9a4168bd3b Clarify comments for Connectivity Diagnostics reports.
Clarify when
ConnectivityDiagnosticsCallback#onConnectivityReportAvailable will be
invoked. Clarify when NetworkAgentInfo#mConnectivityReport will be null
vs non-null.

Bug: 147849853
Test: atest FrameworksNetTests
Change-Id: I748bd9ded72a34d89f13bd4362d6d4da62b910b8
2020-03-30 14:51:24 -07:00
Cody Kesting
ec5a0cb0ff Sort administrator UIDs for NetworkCapabilities.
Administrator UIDs stored in NetworkCapabilities should be sorted. This
allows for easier equals checks and hashCode computation. Additionally,
duplicate UIDs should be prevented.

Bug: 147903575
Test: atest FrameworksNetTests
Change-Id: Ia5387ca2ce7c3fcbd04dc7fbff5266f7bcc71694
2020-03-30 14:51:24 -07:00
Chalard Jean
20e92eca29 Add combine() and equals() for NetworkCapabilities admin UIDs.
NetworkCapabilities#mAdministratorUids should be checked for equality
when combining NetworkCapabilities. Administrator UIDs should also be
included in NetworkCapabilities equals() and hashCode().

Bug: 147903575
Test: FrameworksNetTests
Change-Id: I803bdec80e27ee80d3a39844c5fb7aed584ab07d
2020-03-30 14:27:20 -07:00
Cody Kesting
31f1ff693b Use IBinder as key for ConnectivityDiagnostics storage in CS.
This change updates ConnectivityService to use IBinder instances as keys
when storing ConnectivityDiagnosticsCallbacks.

When storing ConnectivityDiagnosticsCallbacks in ConnectivityService,
the IConnectivityDiagnsoticsCallback is used as the key for
ConnectivityService.mConnectivityDiagnosticsCallbacks. However,
IConnectivityDiagnosticsCallback instances are received as different
objects. This causes them to produce different hashCode() values, so
attempts to remove an IConnectivityDiagnosticsCallback fail.

Bug: 150867635
Test: atest FrameworksNetTests
Change-Id: Ib99e68d5ae47fa27e12428f9a60a2c1204ac59a2
2020-03-30 11:10:46 -07:00
Cody Kesting
46cb167e08 Decrement networkRequestPerUid when callbacks are unregistered.
ConnectivityDiagnosticsCallbacks are tied to NetworkRequestInfo objects
when registered with the platform. Each NetworkRequestInfo is tied to a
specific uid, and ConnectivityService enforces a limit on the number of
network requests that can be associated with each uid.

When ConnectivityDiagnosticsCallbacks are unregistered from the
platform, their NetworkRequestInfo is freed and the number of network
requests per the user's uid should be decremented.

Bug: 150802582
Test: atest android.net.cts.ConnectivityDiagnosticsManagerTest
Change-Id: Ia5ed39c1d8e6221cd402be4f8baf69fa643a6113
2020-03-30 11:10:46 -07:00
Cody Kesting
b77bf707c6 Invoke onConnectivityReport on registering ConnectivityDiagnostics.
This change updates the behavior for registering
ConnectivityDiagnosticsCallbacks. Now, after a successful register()
call, callbacks will receive cached ConnectivityReports for all
matching, permissioned networks. This allows registrants to be updated
with the network state for their networks without having to wait for the
next network validation.

Bug: 147849853
Test: atest FrameworksNetTests
Change-Id: I924ba8fdcc847f453557021591bde38602fe089c
2020-03-30 11:10:46 -07:00
Cody Kesting
7b987276db Clean up handling of NetworkCapabilities#administratorUids.
Update ConnectivityService's check for administrator UIDs to use
ArrayUtils to check for UID inclusion. Update the NetworkCapabilities
annotation on the administrator UIDs field to clarify that it is
NonNull.

Bug: 147903575
Test: atest FrameworksNetTests
Change-Id: Id630fe9d76aacdaf038fdaa5360f0327520ee0c3
2020-03-30 16:55:21 +00:00
Chiachang Wang
63f5da7bb6 Merge "Update constructor of NetworkMonitor" am: 3402ee64ed
Change-Id: I5ef9b48946acb83ada644600117c604028a5c0b5
2020-03-30 08:56:34 +00:00
Chiachang Wang
3402ee64ed Merge "Update constructor of NetworkMonitor" 2020-03-30 08:40:45 +00:00
Lucas Lin
4c3ce3670c Merge "Fix NetworkCapabilitiesTest fail on Q device" am: b1bf1f2d36
Change-Id: I591b621bb8b659aa7d0c163b20d03952589db428
2020-03-30 08:06:30 +00:00
Chiachang Wang
0ab5158418 Update constructor of NetworkMonitor
Remove redundant parameter.

Bug: 152374582
Test: m -j40 ; atest FrameworksNetIntegrationTests
Change-Id: I3a636f0ea5145ac4435e06a9827bb8e01862542d
2020-03-30 07:52:02 +00:00
Lucas Lin
b1bf1f2d36 Merge "Fix NetworkCapabilitiesTest fail on Q device" 2020-03-30 07:41:01 +00:00
Aaron Huang
a6bdfda91b Merge "Make LinkPropertiesTest compatible with Q" am: 9d66de5d5e
Change-Id: I46148a6d1db0a64006cc1e0d829a0d472a37dda3
2020-03-30 06:25:55 +00:00
Aaron Huang
9d66de5d5e Merge "Make LinkPropertiesTest compatible with Q" 2020-03-30 06:06:32 +00:00
lucaslin
be8bbacfa2 Fix NetworkCapabilitiesTest fail on Q device
The getSSID() has changed to getSsid() in Android R, adding
isAtLeastR() to prevent NetworkCapabilitiesTest fail on Android
Q.

Bug: 151322799
Test: Run "atest CtsNetTestCasesLatestSdk:NetworkCapabilitiesTest"
      on Android Q & R device.
Change-Id: I602ae32dae1ad29fe3293c541fa6d2cef01b81d3
Merged-In: I602ae32dae1ad29fe3293c541fa6d2cef01b81d3
2020-03-30 03:47:00 +00:00
Lucas Lin
b98484701c Merge "Add MatchAllNetworkSpecifierTest" am: 28ff516ba7
Change-Id: I189592ddfaa5ad75e0613f8b8468022a3af885c7
2020-03-30 03:15:44 +00:00
Lucas Lin
42cf91c65f Merge "Add more tests in LinkPropertiesTests.java" am: 246821b7b4
Change-Id: I9bb5c2c32a363d384cbf89b05ea4b2a41217581e
2020-03-30 03:15:06 +00:00
Lucas Lin
28ff516ba7 Merge "Add MatchAllNetworkSpecifierTest" 2020-03-30 03:08:48 +00:00
Lucas Lin
246821b7b4 Merge "Add more tests in LinkPropertiesTests.java" 2020-03-30 03:08:40 +00:00
Remi NGUYEN VAN
8b5ae551f9 Merge "Create a builder for NetworkCapabilities." am: e3aade0a30
Change-Id: I2c78de7b501edca618441040fbe76e34ce15b08e
2020-03-30 03:06:07 +00:00
Remi NGUYEN VAN
e3aade0a30 Merge "Create a builder for NetworkCapabilities." 2020-03-30 02:58:45 +00:00
Benedict Wong
ec51fecfe6 Make VpnProfile.maxMtu default value match Ikev2VpnProfile
This change corrects the VpnProfile's maxMtu defaults to match that of
the Ikev2VpnProfile. 1400 is too high as a default, and Settings will
run into an issue here quite often.

Bug: 152573931
Test: FrameworksNetTests passing
Change-Id: I97ba5903b3cc1ed6a21c706ed3d78bd8ecbeee0c
2020-03-27 11:52:40 -07:00
Mark Chien
d53c48616f Merge "Unbreak testStartUsingNetworkFeature_enableHipri failure" am: 0b3d643758
Change-Id: I30eefa35d19f0a2dd8382fc3f63470d1aeb0dea9
2020-03-27 15:45:06 +00:00
Mark Chien
0b3d643758 Merge "Unbreak testStartUsingNetworkFeature_enableHipri failure" 2020-03-27 15:28:09 +00:00
markchien
9eb9399321 Unbreak testStartUsingNetworkFeature_enableHipri failure
aosp/1261619 break legacy API that only supported for SDK which is
smaller than android M, caller need to have network stack permission
to request network with legacy type. Fix failure by whitelist permission
check for the caller who built with oder SDK(< M).

Bug: 152229492
Test: atest CtsTetheringTest
      atest ConnectivityManagerLegacyTest# \
      testStartUsingNetworkFeature_enableHipri

Change-Id: I367dff0429f26f266282300edc38637b55eece38
2020-03-27 14:15:13 +00:00
Daulet Zhanguzin
658f6d9465 Merge "Replace com.android.internal.util.Preconditions.checkNotNull with java.util.Objects.requireNonNull" am: 053fb7317e
Change-Id: I9f9ba24036e19f568942466c866c7be23112c10a
2020-03-27 12:07:53 +00:00
Daulet Zhanguzin
053fb7317e Merge "Replace com.android.internal.util.Preconditions.checkNotNull with java.util.Objects.requireNonNull" 2020-03-27 11:53:39 +00:00
Aaron Huang
7988471ec9 Make LinkPropertiesTest compatible with Q
CompareResult had been moved from LinkProperties to LinkPropertiesUtils
so this change ignores testCompareResult() on Q and only check
compareAllRoutes() works while android version is at least R.

Bug: 151782584
Test: atest CtsNetTestCasesLatestSdk:LinkPropertiesTest
Change-Id: I38b0d83abf983b3bcc01fc6aea2e5cc307734198
2020-03-27 16:41:21 +08:00
Aaron Huang
d9f35a57b5 Merge "API review: access field by method" am: a09a992749
Change-Id: I68041686393f73a38dcd49f6fcd5bd5930f6054d
2020-03-27 07:24:02 +00:00
Aaron Huang
a09a992749 Merge "API review: access field by method" 2020-03-27 07:03:25 +00:00
Daulet Zhanguzin
ee67425c05 Replace com.android.internal.util.Preconditions.checkNotNull with
java.util.Objects.requireNonNull

Bug: 126528330
Bug: 149348618

Test: Treehugger
Change-Id: Idb1b6ba41af3b52f3376b1157259af3c30328c4e
Merged-In: Idb1b6ba41af3b52f3376b1157259af3c30328c4e
2020-03-26 12:44:56 +00:00