diff options
| author | 2010-06-24 11:32:26 -0700 | |
|---|---|---|
| committer | 2010-06-24 20:03:38 -0700 | |
| commit | 17b232b5b59ab91ab543b87e849583678a000f9b (patch) | |
| tree | 6aba5821c972c1a43411b06068d246924949b594 | |
| parent | 7fd22aab4506f65b7929ed1030bdd71c56f7db77 (diff) | |
Add setWifiApConfiguration interface
Bug: 2538623
Change-Id: I779044173a2fa0e9b851ea92aeec5ca25eb9c86f
| -rw-r--r-- | services/java/com/android/server/WifiService.java | 8 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/IWifiManager.aidl | 2 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/WifiManager.java | 15 |
3 files changed, 22 insertions, 3 deletions
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java index 46a68ac3f03b..509c789e4080 100644 --- a/services/java/com/android/server/WifiService.java +++ b/services/java/com/android/server/WifiService.java @@ -631,6 +631,7 @@ public class WifiService extends IWifiManager.Stub { } public WifiConfiguration getWifiApConfiguration() { + enforceAccessPermission(); final ContentResolver cr = mContext.getContentResolver(); WifiConfiguration wifiConfig = new WifiConfiguration(); int authType; @@ -648,7 +649,8 @@ public class WifiService extends IWifiManager.Stub { } } - private void persistApConfiguration(WifiConfiguration wifiConfig) { + public void setWifiApConfiguration(WifiConfiguration wifiConfig) { + enforceChangePermission(); final ContentResolver cr = mContext.getContentResolver(); boolean isWpa; if (wifiConfig == null) @@ -681,7 +683,7 @@ public class WifiService extends IWifiManager.Stub { try { nwService.setAccessPoint(wifiConfig, mWifiStateTracker.getInterfaceName(), SOFTAP_IFACE); - persistApConfiguration(wifiConfig); + setWifiApConfiguration(wifiConfig); return true; } catch(Exception e) { Slog.e(TAG, "Exception in nwService during AP restart"); @@ -733,7 +735,7 @@ public class WifiService extends IWifiManager.Stub { return false; } - persistApConfiguration(wifiConfig); + setWifiApConfiguration(wifiConfig); } else { diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl index 5fd44b1df6c8..6e0bc9d04f3f 100644 --- a/wifi/java/android/net/wifi/IWifiManager.aidl +++ b/wifi/java/android/net/wifi/IWifiManager.aidl @@ -83,5 +83,7 @@ interface IWifiManager int getWifiApEnabledState(); WifiConfiguration getWifiApConfiguration(); + + void setWifiApConfiguration(in WifiConfiguration wifiConfig); } diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 970d5fc18f25..4a22b6885203 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -824,6 +824,21 @@ public class WifiManager { } /** + * Sets the Wi-Fi AP Configuration. + * @return {@code true} if the operation succeeded, {@code false} otherwise + * + * @hide Dont open yet + */ + public boolean setWifiApConfiguration(WifiConfiguration wifiConfig) { + try { + mService.setWifiApConfiguration(wifiConfig); + return true; + } catch (RemoteException e) { + return false; + } + } + + /** * Allows an application to keep the Wi-Fi radio awake. * Normally the Wi-Fi radio may turn off when the user has not used the device in a while. * Acquiring a WifiLock will keep the radio on until the lock is released. Multiple |