Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29c2a95a authored by Roshan Pius's avatar Roshan Pius
Browse files

WifiManager: Mark all settings/setupwizard custom APIs @SystemApi

Mark all the custom connect (& other APIs) added to serve settings &
setupwizard as @SystemApi.

Also, enforce tighter permissions on these APIs. These were explicitly
added to serve settings & we should not allow any other apps to use
them.

Bug: 116127346
Test: Compiles

Change-Id: Ic0000f21ccbeda4ade59a3b04d78f49b1b20cd02
parent 02214760
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -3679,6 +3679,10 @@ package android.net.wifi {

  public class WifiManager {
    method public void connect(android.net.wifi.WifiConfiguration, android.net.wifi.WifiManager.ActionListener);
    method public void connect(int, android.net.wifi.WifiManager.ActionListener);
    method public void disable(int, android.net.wifi.WifiManager.ActionListener);
    method public void disableEphemeralNetwork(java.lang.String);
    method public void forget(int, android.net.wifi.WifiManager.ActionListener);
    method public java.util.List<android.net.wifi.WifiConfiguration> getAllMatchingWifiConfigs(java.util.List<android.net.wifi.ScanResult>);
    method public java.util.List<android.net.wifi.hotspot2.OsuProvider> getMatchingOsuProviders(java.util.List<android.net.wifi.ScanResult>);
    method public java.util.List<android.net.wifi.WifiConfiguration> getPrivilegedConfiguredNetworks();
@@ -3690,6 +3694,7 @@ package android.net.wifi {
    method public boolean isWifiApEnabled();
    method public boolean isWifiScannerSupported();
    method public void registerNetworkRequestMatchCallback(android.net.wifi.WifiManager.NetworkRequestMatchCallback, android.os.Handler);
    method public void save(android.net.wifi.WifiConfiguration, android.net.wifi.WifiManager.ActionListener);
    method public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
    method public boolean startScan(android.os.WorkSource);
    method public void unregisterNetworkRequestMatchCallback(android.net.wifi.WifiManager.NetworkRequestMatchCallback);
+35 −4
Original line number Diff line number Diff line
@@ -3403,6 +3403,11 @@ public class WifiManager {
     * @hide
     */
    @SystemApi
    @RequiresPermission(anyOf = {
            android.Manifest.permission.NETWORK_SETTINGS,
            android.Manifest.permission.NETWORK_SETUP_WIZARD,
            android.Manifest.permission.NETWORK_STACK
    })
    public void connect(WifiConfiguration config, ActionListener listener) {
        if (config == null) throw new IllegalArgumentException("config cannot be null");
        // Use INVALID_NETWORK_ID for arg1 when passing a config object
@@ -3423,7 +3428,12 @@ public class WifiManager {
     * initialized again
     * @hide
     */
    @UnsupportedAppUsage
    @SystemApi
    @RequiresPermission(anyOf = {
            android.Manifest.permission.NETWORK_SETTINGS,
            android.Manifest.permission.NETWORK_SETUP_WIZARD,
            android.Manifest.permission.NETWORK_STACK
    })
    public void connect(int networkId, ActionListener listener) {
        if (networkId < 0) throw new IllegalArgumentException("Network id cannot be negative");
        getChannel().sendMessage(CONNECT_NETWORK, networkId, putListener(listener));
@@ -3449,7 +3459,12 @@ public class WifiManager {
     * initialized again
     * @hide
     */
    @UnsupportedAppUsage
    @SystemApi
    @RequiresPermission(anyOf = {
            android.Manifest.permission.NETWORK_SETTINGS,
            android.Manifest.permission.NETWORK_SETUP_WIZARD,
            android.Manifest.permission.NETWORK_STACK
    })
    public void save(WifiConfiguration config, ActionListener listener) {
        if (config == null) throw new IllegalArgumentException("config cannot be null");
        getChannel().sendMessage(SAVE_NETWORK, 0, putListener(listener), config);
@@ -3468,7 +3483,12 @@ public class WifiManager {
     * initialized again
     * @hide
     */
    @UnsupportedAppUsage
    @SystemApi
    @RequiresPermission(anyOf = {
            android.Manifest.permission.NETWORK_SETTINGS,
            android.Manifest.permission.NETWORK_SETUP_WIZARD,
            android.Manifest.permission.NETWORK_STACK
    })
    public void forget(int netId, ActionListener listener) {
        if (netId < 0) throw new IllegalArgumentException("Network id cannot be negative");
        getChannel().sendMessage(FORGET_NETWORK, netId, putListener(listener));
@@ -3483,7 +3503,12 @@ public class WifiManager {
     * initialized again
     * @hide
     */
    @UnsupportedAppUsage
    @SystemApi
    @RequiresPermission(anyOf = {
            android.Manifest.permission.NETWORK_SETTINGS,
            android.Manifest.permission.NETWORK_SETUP_WIZARD,
            android.Manifest.permission.NETWORK_STACK
    })
    public void disable(int netId, ActionListener listener) {
        if (netId < 0) throw new IllegalArgumentException("Network id cannot be negative");
        getChannel().sendMessage(DISABLE_NETWORK, netId, putListener(listener));
@@ -3495,6 +3520,12 @@ public class WifiManager {
     * @param SSID, in the format of WifiConfiguration's SSID.
     * @hide
     */
    @SystemApi
    @RequiresPermission(anyOf = {
            android.Manifest.permission.NETWORK_SETTINGS,
            android.Manifest.permission.NETWORK_SETUP_WIZARD,
            android.Manifest.permission.NETWORK_STACK
    })
    public void disableEphemeralNetwork(String SSID) {
        if (SSID == null) throw new IllegalArgumentException("SSID cannot be null");
        try {