diff options
author | Yuhao Zheng <yuhaozheng@google.com> | 2014-03-25 15:00:45 -0700 |
---|---|---|
committer | Yuhao Zheng <yuhaozheng@google.com> | 2014-03-25 15:00:45 -0700 |
commit | 10bf6354a536152719bf4524429aa5739836c541 (patch) | |
tree | ee0d72a8257a59bb84835d30dde674a08c9c571b | |
parent | f53d1a01972d04402b48476d6a8173285516edd3 (diff) | |
download | frameworks_base-10bf6354a536152719bf4524429aa5739836c541.zip frameworks_base-10bf6354a536152719bf4524429aa5739836c541.tar.gz frameworks_base-10bf6354a536152719bf4524429aa5739836c541.tar.bz2 |
Wifi hotspot stack initial hook up
Add a dummy wifi hotspot service for futher development use. This is to
resolve the different between master branch and kwd branch, such that future
development can go into kwd and being auto-merged to master.
bug: 5485670
Change-Id: Ica58de445dd050a9f0b817f8e4accaa2478299c5
-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(); + } + } +} |