From 17b232b5b59ab91ab543b87e849583678a000f9b Mon Sep 17 00:00:00 2001 From: Irfan Sheriff Date: Thu, 24 Jun 2010 11:32:26 -0700 Subject: Add setWifiApConfiguration interface Bug: 2538623 Change-Id: I779044173a2fa0e9b851ea92aeec5ca25eb9c86f --- services/java/com/android/server/WifiService.java | 8 +++++--- wifi/java/android/net/wifi/IWifiManager.aidl | 2 ++ 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 @@ -823,6 +823,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. -- cgit v1.2.3-59-g8ed1b