summaryrefslogtreecommitdiff
path: root/framework/src/android/net/ConnectivityManager.java
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge "Implement Settings#checkAndNoteChangeNetworkStateOperation on CS" ↵Paul Hu2021-03-021-25/+0
|\ \ | | | | | | | | | into sc-dev
| * | Implement Settings#checkAndNoteChangeNetworkStateOperation on CSpaulhu2021-02-231-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Connectivity is becoming a mainline module in S and ConnectivityManager#enforceChangePermission is using Settings#checkAndNoteChangeNetworkStateOperation for performing a strict and comprehensive check of whether a calling package is allowed to change the state of network. However, Mainline modules are not allowed to use non-formal APIs, fortunately CS is the only caller of this ConnectivityManager#enforceChangePermission. Thus, implement the Settings API on ConnectivityService and remove the ConnectivityManager#enforceChangePermission and Settings#checkAndNoteChangeNetworkStateOperation. Bug: 178565313 Test: atest FrameworksNetTests Change-Id: I6f03398c1735b89470ad5bdbe3a036929daeb53c
* | | Merge "Revert "Revert "Delete VPN methods in ConnectivityManager.""" am: ↵Treehugger Robot2021-02-231-73/+0
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | 10de86f5e5 am: bdbd425a3b am: ec81e831f6 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1597635 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Iff8ce4686f52a73c4a5a2d66218c9a6e3e883a3b
| * Merge "Revert "Revert "Delete VPN methods in ConnectivityManager."""Treehugger Robot2021-02-221-73/+0
| |\
| | * Revert "Revert "Delete VPN methods in ConnectivityManager.""Lorenzo Colitti2021-02-221-73/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Stop using ConnectivityManager for VPNs in VpnDialogs. 2. Delete updateLockdownVpn, since all callers have been migrated to calling VpnManager directly. 3. Delete the call to VpnManager in factoryReset, since the only caller (ResetNetworkConfirm) has been updated to call into VpnManager directly. 4. Delete getVpnManager, since it is now unused. This reverts commit da6bc5ace2f63221e7cfe9c909af7e0a932415fb. Reason for revert: should be safe to submit now that aosp/1596096 is merged Bug: 173331190 Test: treehugger Change-Id: Ife3607c024006ce4fe46c981e9742170becb6331
* | | Merge changes I0a75c440,Ief9e8925,Ie03e8276,If0ac9a64,I716bd771 am: ↵Chiachang Wang2021-02-201-17/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 49822c02b5 am: 28e9fc26a8 am: 2540861d4f Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1573943 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I52c41154ae3364774e63376fbdd5a9f42727b65f
| * | Merge changes I0a75c440,Ief9e8925,Ie03e8276,If0ac9a64,I716bd771Chiachang Wang2021-02-201-17/+3
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | * changes: [IT06]Move INetworkActivityListener into connectivity module [IT05] Remove the unused network activity logic out from NMS [IT4.7] Add network activity info into dumpsys for debugging [IT4.6] Unbundle NMS out from ConnectivityManager [IT4.5] Update radio power from CS directly
| | * [IT06]Move INetworkActivityListener into connectivity moduleChiachang Wang2021-02-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | INetworkActivityListener is hidden and the only usage is inside the connectivity module. Thus, move this into module scope. Bug: 170598012 Test: atest FrameworksNetTests Change-Id: I0a75c440c1daa773217bbd362b212fda4d07ec64
| | * [IT4.6] Unbundle NMS out from ConnectivityManagerlucaslin2021-02-181-16/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ConnectivityService is no longer to update idle timer to NMS but send to INetd directly after this change. Replace the API implementation in ConnectivityManager to refer into ConnectivityService instead of NetworkManagementService to remove the dependency between CM and NMS for ConnectivityService mainline. Bug: 170598012 Test: atest FrameworksNetTests Change-Id: If0ac9a6427dba5a732a15b5d7ca1351b71b07b7b
* | | Merge "Revert "Delete VPN methods in ConnectivityManager."" am: fc15416480 ↵Nataniel Borges2021-02-191-0/+73
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 46f3a23d28 am: aa2b03ecea Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1596592 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I9d80ea1c572a3eec58a67b0d7c4faa79b30c206a
| * | Revert "Delete VPN methods in ConnectivityManager."Nataniel Borges2021-02-191-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e849277786bf9ec0514cbd53e8b7ed9ef5c6af5f. Bug: 180710918 Reason for revert: Broken build Change-Id: I6e6318b4c01ccab27ca3e9f16bb2194aa1d9ffd2
* | | Merge "Delete VPN methods in ConnectivityManager." am: e846d48968 am: ↵Lorenzo Colitti2021-02-191-73/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3f6ac55db0 am: adf1883cee Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1594171 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Iadf429549b60f96c471a29fb91f12ff340c94cb0
| * | Delete VPN methods in ConnectivityManager.Lorenzo Colitti2021-02-191-73/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Stop using ConnectivityManager for VPNs in VpnDialogs. 2. Delete updateLockdownVpn, since all callers have been migrated to calling VpnManager directly. 3. Delete the call to VpnManager in factoryReset, since the only caller (ResetNetworkConfirm) has been updated to call into VpnManager directly. 4. Delete getVpnManager, since it is now unused. Test: m Bug: 173331190 Change-Id: I5d071281c0e36f6523fea10671a9abf994c66d66
| * | Merge "Use formal API for ActivityThread to set proxy"Treehugger Robot2021-02-191-1/+1
| |\ \ | | |/ | |/|
| | * Use formal API for ActivityThread to set proxyRemi NGUYEN VAN2021-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add setHttpProxyConfiguration to the public API, and use ConnectivityManager APIs from ActivityThread (instead of hidden APIs) to get/set the proxy for an app process. The default proxy is now initialized with getDefaultProxy instead of getProxyForNetwork(null); this should not make a difference, as nothing should have called bindProcessToNetwork at that point yet. Bug: 174436414 Test: m; device boots Merged-In: Ifb516194ecde1567cea4b6806946091cdcf2f015 Change-Id: I06b797eeae54609aecdc0afe1df4e6c602a17a69
* | | Merge "Do not depend on Tethering stubs in CM consts" am: 3a865fa8ac am: ↵Treehugger Robot2021-02-171-8/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 37240dce7d am: a37f12cea9 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1589693 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ie49e4f4e37439aab3ab1bd5e649c1d84cbc3ce8c
| * | Do not depend on Tethering stubs in CM constsRemi NGUYEN VAN2021-02-171-8/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tethering API stubs depend on connectivity stubs for classes like MacAddress or LinkAddress, so connectivity stubs cannot depend on Tethering stubs or there would be a circular dependency. This means ConnectivityManager API surface cannot reference Tethering API constants. Instead, use the literal in ConnectivityManager. This means that both ConnectivityManager and TetheringManager specify the constant value. An alternative considered was to have TetheringManager depend on the ConnectivityManager constants, but considering that ConnectivityManager only has some of the constants, this would be more confusing. Breaking the constants by mistake is unlikely as their values are part of the API surface, so will always be in sync. Bug: 171540887 Test: m Change-Id: I16b6e1912fffc5ff8b3b392901d2357ffd213c72
| * Rename getVpnLockdownWhitelist to -AllowlistLorenzo Colitti2021-02-151-1/+1
| | | | | | | | | | | | Test: m Change-Id: Id02a37624655c4ff88744c9c57af9f2a17953667 Merged-In: Id02a37624655c4ff88744c9c57af9f2a17953667
* | Rename getVpnLockdownWhitelist to -AllowlistLorenzo Colitti2021-02-151-1/+1
| | | | | | | | | | | | Test: m Bug: 173331190 Change-Id: Id02a37624655c4ff88744c9c57af9f2a17953667
* | Merge changes Ia68f482a,I4911e214,Ied379654,I66d18512,Ie8e1bd63 am: ↵Lorenzo Colitti2021-02-151-90/+78
|\| | | | | | | | | | | | | | | | | | | d18e61a6d1 am: a7a858e42a am: ed9730e6f9 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1581293 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I698b6b082b121c004b2c8b05ef423da1bd8b871b
| * Merge changes Ia68f482a,I4911e214,Ied379654,I66d18512,Ie8e1bd63Lorenzo Colitti2021-02-151-90/+78
| |\ | | | | | | | | | | | | | | | | | | | | | | | | * changes: Check registering system default callback needs NETWORK_SETTINGS. Move VPN code from ConnectivityService to VpnManagerService. Add a skeleton VpnManagerService, and start it on boot. Convert LockdownVpnTracker to NetworkCallbacks. Minor fixes to VpnTransportInfo.
| | * Move VPN code from ConnectivityService to VpnManagerService.Lorenzo Colitti2021-02-121-90/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ConnectivityService itself does not depend on mVpns or the Vpn class any more. Most of this CL is simply moving code from one class to another: - Move the AIDL calls from IConnectivityManager to IVpnManager. - Move the implementation from ConnectivityService to the new VpnManagerService. - Move the APIs from ConnectivityManager to VpnManager, but temporarily maintain some shims in ConnectivityManager for the moved calls so that existing callers do not have to be modified in this CL. - Update VpnService to call IVpnManager instead of IConnectivityManager. - Move the code that registers the VpnManager service from ConnectivityFrameworkInitializer to SystemServiceRegistry. Bug: 173331190 Test: atest HostsideVpnTests FrameworksNetTests CtsNetTestCases Change-Id: I4911e2144df721a94fa00da9edf0dc372a7091c2
| | * Convert LockdownVpnTracker to NetworkCallbacks.Lorenzo Colitti2021-02-121-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow moving LockdownVpnTracker from the connectivity to the VPN code. This requires moderate refactoring since it's pretty tightly coupled to both. In this CL: 1. Add an @hide API to tell ConnectivityService that legacy lockdown VPN is enabled. I chose not to use the existing setVpnRequiredForUids API because that method has specific semantics and because it will be required long term since it's used by non-legacy VPN types. 2. Instead of updating LockdownVpnTracker inline from the ConnectivityService handler thread, have it listen to NetworkCallbacks. This introduces an extra thread hop, but most of the interactions between the lockdown VPN and CS were via NetworkAgent, which is asynchronous anyway. 3. Add code to LegacyTypeTracker to send the extra CONNECTIVITY_ACTION broadcast for the underlying network type that is sent after the VPN connects. In order to do this, make Make LockdownVpnTracker specify its underlying network (via setUnderlyingNetworks) when it connects. 4. Reimplement LockdownVpnTracker#augmentNetworkInfo based on information that is available in ConnectivityService. 5. Remove the code in LockdownVpnTracker that counted errors. I think this code has not worked since lollipop, because ConnectivityService never sees NetworkInfo objects in state FAILED. This is because ConnectivityService only hears about NetworkInfo objects via NetworkAgents, and LegacyVpnRunner only registers its NetworkAgent when the connection succeeds. Bug: 173331190 Test: passes existing tests in ConnectivityServiceTest Change-Id: I66d18512882efd468ee0ecec61f28786a195b357
* | | Merge changes from topics "pans", "pans-permission" am: 601d16a336 am: ↵James Mattis2021-02-141-9/+56
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 700e969359 am: 6c16aeadfb Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1561317 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I20fdb2f06b473f9f92e62138e72bd30d4384a267
| * | Marking setOemNetworkPreference as @SystemApiJames Mattis2021-02-111-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Marking setOemNetworkPreference in ConnectivityManager as @SystemApi. Bug: 176496438 Bug: 176494815 Test: atest FrameworksNetTests atest FrameworksNetIntegrationTests atest CtsNetTestCasesLatestSdk Change-Id: I4681c88dc3a83f71c387b29610c33594e57cb43f
| * | Adding permission for OEM managed preferencesJames Mattis2021-02-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding CONTROL_OEM_PAID_NETWORK_PREFERENCE as a signature level permission to allow an application to control OEM managed network preferences. Bug: 176496438 Bug: 176494815 Test: atest FrameworksNetTests atest NetworkStackTests atest FrameworksNetIntegrationTests atest NetworkStackIntegrationTests atest CtsNetTestCasesLatestSdk Change-Id: Iee13e89f3931c7079c2d88cb57b249b1b1cf93ad Change-Id: Id29cafe1eaf5dff8a0605cb2579204d9c77b7e70
| * | Implementation of setOemNetworkPreferenceJames Mattis2021-02-111-9/+51
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Main implementation of ConnectivityService.setOemNetworkPreference. This covers the main requirements of this method including listener functionality. Bug: 176495594 Bug: 177101287 Bug: 176494815 Test: atest FrameworksNetTests atest NetworkStackTests atest FrameworksNetIntegrationTests atest NetworkStackIntegrationTests atest CtsNetTestCasesLatestSdk Change-Id: I8d318ab07785e52dd84d6261fdea8f318dce9bc5
* | Merge changes from topics "vpnmove-getconnectionowneruid", ↵Lorenzo Colitti2021-02-101-14/+52
|\| | | | | | | | | | | | | | | | | | | "vpnmove-systemdefaultcallback", "vpnmove-vpntransportinfo" am: 250855cb84 am: 0db7e3cd40 am: 32942ed2a6 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1572981 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I961b6442d53c1cb00af642866b7e49d151a9ab1e
| * Add a registerSystemDefaultNetworkCallback method.Lorenzo Colitti2021-02-091-14/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method allows internal components to track the system default network. This differs from registerDefaultNetworkCallback because that method sends callbacks for the default network for the UID that called it. This may not be the system default network, for example, when a VPN is up and applies to the UID. Bug: 173331190 Test: new unit tests in ConnectivityServiceTest Test: new unit tests in ConnectivityManagerTest Test: new CTS tests in ConnectivityServiceTest Test: new CTS tests in HostsideVpnTests in other CL in this topic Change-Id: Id02748a2183f71b71ff2a53a580466b9dcecaa93
* | Merge "ConnectivityService: Plumb attribution tag for location permission ↵Roshan Pius2021-02-081-4/+7
|\| | | | | | | | | | | | | | | | | | | checks" am: 482b2dda4f am: de46bf6d23 am: 94404471df Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1534625 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I72340de13e04640935403d282a1d9f5afe0536e6
| * ConnectivityService: Plumb attribution tag for location permission checksRoshan Pius2021-02-081-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | Not currently setting the atttribution tag for location permission checks. Plumb the attribution tag for all location permision checks (so that location access is correctly attributed to individual components within an app) Bug: 162602799 Test: atest android.net Test: atest com.android.server Change-Id: Iee95f05204f51a4f8cb1f36acfb60e8cdeb156f4
* | Merge changes Iabad7300,I85363e28 am: e3e711d775 am: 257651846b am: 5362c1b0b7James Mattis2021-02-061-3/+7
|\| | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1539241 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I05f6ae928a5bfa8b56837fa5c55803b2233d36a1
| * Merge changes Iabad7300,I85363e28James Mattis2021-02-061-3/+7
| |\ | | | | | | | | | | | | | | | * changes: Stubbed setOemNetworkPreference in Connectivity Update OemNetworkPreferences to use 1:1 Map
| | * Stubbed setOemNetworkPreference in ConnectivityJames Mattis2021-02-041-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stubbed setOemNetworkPreference() in ConnectivityService and connected it to ConnectivityManager. Bug: 176495254 Bug: 176494815 Test: atest FrameworksNetTests atest FrameworksNetIntegrationTests atest CtsNetTestCasesLatestSdk Change-Id: Iabad7300a8b058e1edcb0defab8a031d21e6433c
* | | Merge "Remove legacy network factories" am: 2bd97d70e2 am: 05a710816f am: ↵Remi NGUYEN VAN2021-02-051-26/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | df1860329b Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1574684 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I04893919701674bdaec026a14207bfb350a3cd08
| * | Remove legacy network factoriesRemi NGUYEN VAN2021-02-041-26/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nothing on the system is using registerNetworkFactory, unregisterNetworkFactory at the moment. registerNetworkFactory, unregisterNetworkFactory are protected by signature permissions, so could not be used by anything outside of the system. Remove the two methods and the underlying support for this legacy, deprecated mechanism. Bug: 179229316 Test: atest FrameworksNetTests Change-Id: I7cdc9eed67f846c8774474af038133040aeccab3
* | Use formal API for ActivityThread to set proxyRemi NGUYEN VAN2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add getProxyForNetwork to the public API, and use ConnectivityManager APIs from ActivityThread (instead of hidden APIs) to get/set the proxy for an app process. getProxyForNetwork allows clients to find which proxy applies, which can be a global proxy setting or a per-network proxy. The default proxy is now initialized with getDefaultProxy instead of getProxyForNetwork(null); this should not make a difference, as nothing should have called bindProcessToNetwork at that point yet. Bug: 174436414 Test: m; device boots Change-Id: Ifb516194ecde1567cea4b6806946091cdcf2f015
* | Merge "Have connectivity self-register manager classes" am: d8c4953e7e am: ↵Treehugger Robot2021-02-021-0/+22
|\| | | | | | | | | | | | | | | | | | | 98c48f7101 am: f99ed40471 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552657 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I7a664bb9e9f2f835f148d0102f8b53c010bb7791
| * Have connectivity self-register manager classesRemi NGUYEN VAN2021-02-011-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | As connectivity services are planned to move to a separate module, move the manager classes registration from SystemServiceRegistry to ConnectivityServicesRegistrar, using the registerContextAwareService APIs. This follows patterns and naming in WifiFrameworkInitializer. Bug: 171540887 Test: device boots, connectivity working Change-Id: I62ced1275750c73f209bac8ec3a3204b95695b83
* | resolve merge conflicts of 546e2e895fc46b32101bd468c516ad3bf7bcac39 to sc-devRemi NGUYEN VAN2021-02-011-3/+3
|/ | | | | Bug: None, merge conflict Change-Id: Id07440d6a55111a1a7ddbf3df306f4466073fd1d
* Move module sources to packages/ConnectivityRemi NGUYEN VAN2021-02-011-0/+5058
Files that are planned to be part of the connectivity module are grouped in packages/Connectivity, so they can be built separately and moved in one operation with their history into packages/modules/Connectivity. This places the files in the existing framework-connectivity-sources filegroup instead of the current framework-core-sources filegroup. Both are used the same way in framework-non-updatable-sources. Bug: 171540887 Test: m Change-Id: I62d9d91574ace6f5c4624035d190260c3126b91e