diff options
-rw-r--r-- | Android.mk | 1 | ||||
-rw-r--r-- | api/current.txt | 14 | ||||
-rw-r--r-- | core/java/android/app/ContextImpl.java | 9 | ||||
-rw-r--r-- | core/java/android/content/Context.java | 11 | ||||
-rw-r--r-- | services/java/com/android/server/SystemServer.java | 8 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/hotspot/IWifiHotspotManager.aidl | 28 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/hotspot/WifiHotspotManager.java | 48 |
7 files changed, 119 insertions, 0 deletions
@@ -288,6 +288,7 @@ LOCAL_SRC_FILES += \ telephony/java/com/android/internal/telephony/ISms.aidl \ telephony/java/com/android/internal/telephony/IWapPushManager.aidl \ wifi/java/android/net/wifi/IWifiManager.aidl \ + wifi/java/android/net/wifi/hotspot/IWifiHotspotManager.aidl \ wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl \ packages/services/PacProcessor/com/android/net/IProxyService.aidl \ packages/services/Proxy/com/android/net/IProxyCallback.aidl \ diff --git a/api/current.txt b/api/current.txt index 97c1c74..5a568a0 100644 --- a/api/current.txt +++ b/api/current.txt @@ -6375,6 +6375,7 @@ package android.content { field public static final java.lang.String USER_SERVICE = "user"; field public static final java.lang.String VIBRATOR_SERVICE = "vibrator"; field public static final java.lang.String WALLPAPER_SERVICE = "wallpaper"; + field public static final java.lang.String WIFI_HOTSPOT_SERVICE = "wifihotspot"; field public static final java.lang.String WIFI_P2P_SERVICE = "wifip2p"; field public static final java.lang.String WIFI_SERVICE = "wifi"; field public static final java.lang.String WINDOW_SERVICE = "window"; @@ -16066,6 +16067,19 @@ package android.net.wifi { } +package android.net.wifi.hotspot { + + public abstract interface IWifiHotspotManager implements android.os.IInterface { + method public abstract void test() throws android.os.RemoteException; + } + + public class WifiHotspotManager { + ctor public WifiHotspotManager(android.content.Context, android.net.wifi.hotspot.IWifiHotspotManager); + method public void test(); + } + +} + package android.net.wifi.p2p { public class WifiP2pConfig implements android.os.Parcelable { diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index 589c82f..b2b2571 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -75,6 +75,8 @@ import android.net.nsd.INsdManager; import android.net.nsd.NsdManager; import android.net.wifi.IWifiManager; import android.net.wifi.WifiManager; +import android.net.wifi.hotspot.IWifiHotspotManager; +import android.net.wifi.hotspot.WifiHotspotManager; import android.net.wifi.p2p.IWifiP2pManager; import android.net.wifi.p2p.WifiP2pManager; import android.nfc.NfcManager; @@ -552,6 +554,13 @@ class ContextImpl extends Context { return new WifiManager(ctx.getOuterContext(), service); }}); + registerService(WIFI_HOTSPOT_SERVICE, new ServiceFetcher() { + public Object createService(ContextImpl ctx) { + IBinder b = ServiceManager.getService(WIFI_HOTSPOT_SERVICE); + IWifiHotspotManager service = IWifiHotspotManager.Stub.asInterface(b); + return new WifiHotspotManager(ctx.getOuterContext(), service); + }}); + registerService(WIFI_P2P_SERVICE, new ServiceFetcher() { public Object createService(ContextImpl ctx) { IBinder b = ServiceManager.getService(WIFI_P2P_SERVICE); diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 9f0c384..cd91f3b 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -1974,6 +1974,7 @@ public abstract class Context { //@hide: NETWORK_STATS_SERVICE, //@hide: NETWORK_POLICY_SERVICE, WIFI_SERVICE, + WIFI_HOTSPOT_SERVICE, WIFI_P2P_SERVICE, NSD_SERVICE, AUDIO_SERVICE, @@ -2324,6 +2325,16 @@ public abstract class Context { /** * Use with {@link #getSystemService} to retrieve a {@link + * android.net.wifi.hotspot.WifiHotspotManager} for handling management of + * Wi-Fi hotspot access. + * + * @see #getSystemService + * @see android.net.wifi.hotspot.WifiHotspotManager + */ + public static final String WIFI_HOTSPOT_SERVICE = "wifihotspot"; + + /** + * Use with {@link #getSystemService} to retrieve a {@link * android.net.wifi.p2p.WifiP2pManager} for handling management of * Wi-Fi peer-to-peer connections. * diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index c925669..7b55f4b 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -116,6 +116,8 @@ public final class SystemServer { "com.android.server.usb.UsbService$Lifecycle"; private static final String WIFI_SERVICE_CLASS = "com.android.server.wifi.WifiService"; + private static final String WIFI_HOTSPOT_SERVICE_CLASS = + "com.android.server.wifi.hotspot.WifiHotspotService"; private static final String WIFI_P2P_SERVICE_CLASS = "com.android.server.wifi.p2p.WifiP2pService"; private static final String HDMI_CEC_SERVICE_CLASS = @@ -614,6 +616,12 @@ public final class SystemServer { } try { + mSystemServiceManager.startService(WIFI_HOTSPOT_SERVICE_CLASS); + } catch (Throwable e) { + reportWtf("starting Wi-Fi HotspotService", e); + } + + try { mSystemServiceManager.startService(WIFI_SERVICE_CLASS); } catch (Throwable e) { reportWtf("starting Wi-Fi Service", e); diff --git a/wifi/java/android/net/wifi/hotspot/IWifiHotspotManager.aidl b/wifi/java/android/net/wifi/hotspot/IWifiHotspotManager.aidl new file mode 100644 index 0000000..2b1601b --- /dev/null +++ b/wifi/java/android/net/wifi/hotspot/IWifiHotspotManager.aidl @@ -0,0 +1,28 @@ +/** + * Copyright (c) 2014, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.net.wifi.hotspot; + +/** + * Interface that allows controlling and querying Hotspot connectivity. + * + * {@hide} + */ +interface IWifiHotspotManager +{ + void test(); +} + diff --git a/wifi/java/android/net/wifi/hotspot/WifiHotspotManager.java b/wifi/java/android/net/wifi/hotspot/WifiHotspotManager.java new file mode 100644 index 0000000..ac15017 --- /dev/null +++ b/wifi/java/android/net/wifi/hotspot/WifiHotspotManager.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.net.wifi.hotspot; + +import android.content.Context; +import android.os.RemoteException; +import android.util.Log; + +/** + * TODO: doc + */ +public class WifiHotspotManager { + + private static final String TAG = "WifiHotspotManager"; + + private Context mContext; + IWifiHotspotManager mService; + + public WifiHotspotManager(Context context, IWifiHotspotManager service) { + mContext = context; + mService = service; + } + + public void test() { + try{ + Log.d(TAG, "test()"); + mService.test(); + } + catch (RemoteException e) { + Log.e(TAG, "test() exception"); + e.printStackTrace(); + } + } +} |