Add replaceFirewallChain API
To deprecated firewallReplaceUidChain netd binder and move the functionality to tethering (connectivity) mainline module, expose replaceFirewallChain to support the caller outside the module. Currently the API are still call to netd. Will replace with the implementation inside tethering (connectivity) module. Bug: 209935649 Test: atest CtsHostsideNetworkTests Change-Id: If7a87548b0a3acda00a1455da4e4ff24a630ddc7
This commit is contained in:
@@ -5682,4 +5682,28 @@ public class ConnectivityManager {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces the contents of the specified UID-based firewall chain.
|
||||
*
|
||||
* @param chain target chain to replace.
|
||||
* @param uids The list of UIDs to be placed into chain.
|
||||
* @throws IllegalStateException if replace firewall chain failed.
|
||||
* @throws IllegalArgumentException if {@code chain} is not a valid chain.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi(client = MODULE_LIBRARIES)
|
||||
@RequiresPermission(anyOf = {
|
||||
android.Manifest.permission.NETWORK_SETTINGS,
|
||||
android.Manifest.permission.NETWORK_STACK,
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK
|
||||
})
|
||||
public void replaceFirewallChain(@FirewallChain final int chain, @NonNull final int[] uids) {
|
||||
Objects.requireNonNull(uids);
|
||||
try {
|
||||
mService.replaceFirewallChain(chain, uids);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user