diff options
author | Ningyuan Wang <nywang@google.com> | 2016-03-24 01:10:22 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-03-24 01:10:22 +0000 |
commit | 8e66cfa1668921d9ef0f385879a7cffa54a3f5a8 (patch) | |
tree | 49524396764797f151b4fc397327de5e2ca8b10f /service | |
parent | 3b479405c66fd65c2ac9d88dcdae936cf8477e3a (diff) | |
parent | 3b51fd1bb8356b284822f4f677ad941524e616eb (diff) |
Merge "Revert "Remove hardcoded 'wlan0' from native WiFi code"" into nyc-dev
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/WifiNative.java | 11 | ||||
-rw-r--r-- | service/jni/com_android_server_wifi_WifiNative.cpp | 17 |
2 files changed, 13 insertions, 15 deletions
diff --git a/service/java/com/android/server/wifi/WifiNative.java b/service/java/com/android/server/wifi/WifiNative.java index dc8447355..9b28a4f14 100644 --- a/service/java/com/android/server/wifi/WifiNative.java +++ b/service/java/com/android/server/wifi/WifiNative.java @@ -1736,10 +1736,6 @@ public class WifiNative { synchronized (sLock) { if (startHalNative()) { - if (!setInterfaceUp(true)) { - sLocalLog.log("Could not bring up interface: " + mInterfaceName); - return false; - } int wlan0Index = queryInterfaceIndex(mInterfaceName); if (wlan0Index == -1) { if (DBG) sLocalLog.log("Could not find interface with name: " + mInterfaceName); @@ -1764,9 +1760,6 @@ public class WifiNative { try { sThread.join(STOP_HAL_TIMEOUT_MS); Log.d(TAG, "HAL event thread stopped successfully"); - if (!setInterfaceUp(false)) { - if (DBG) sLocalLog.log("Could not bring down interface: " + mInterfaceName); - } } catch (InterruptedException e) { Log.e(TAG, "Could not stop HAL cleanly"); } @@ -2475,11 +2468,11 @@ public class WifiNative { } } - private static native boolean setInterfaceUpNative(String interfaceName, boolean up); + private static native boolean setInterfaceUpNative(boolean up); public boolean setInterfaceUp(boolean up) { synchronized (sLock) { if (isHalStarted()) { - return setInterfaceUpNative(mInterfaceName, up); + return setInterfaceUpNative(up); } else { return false; } diff --git a/service/jni/com_android_server_wifi_WifiNative.cpp b/service/jni/com_android_server_wifi_WifiNative.cpp index 35b0be7af..db09c7727 100644 --- a/service/jni/com_android_server_wifi_WifiNative.cpp +++ b/service/jni/com_android_server_wifi_WifiNative.cpp @@ -283,10 +283,8 @@ int set_iface_flags(const char *ifname, bool dev_up) { return 0; } -static jboolean android_net_wifi_set_interface_up(JNIEnv* env, - jclass cls, jstring if_name, jboolean up) { - ScopedUtfChars chars(env, if_name); - return (set_iface_flags(chars.c_str(), (bool)up) == 0); +static jboolean android_net_wifi_set_interface_up(JNIEnv* env, jclass cls, jboolean up) { + return (set_iface_flags("wlan0", (bool)up) == 0); } static jboolean android_net_wifi_startHal(JNIEnv* env, jclass cls) { @@ -305,6 +303,11 @@ static jboolean android_net_wifi_startHal(JNIEnv* env, jclass cls) { return false; } + int ret = set_iface_flags("wlan0", true); + if(ret != 0) { + return false; + } + res = hal_fn.wifi_initialize(&halHandle); if (res == WIFI_SUCCESS) { helper.setStaticLongField(cls, WifiHandleVarName, (jlong)halHandle); @@ -314,8 +317,9 @@ static jboolean android_net_wifi_startHal(JNIEnv* env, jclass cls) { mCls = (jclass) env->NewGlobalRef(cls); ALOGD("halHandle = %p, mVM = %p, mCls = %p", halHandle, mVM, mCls); return res == WIFI_SUCCESS; + } else { + return (set_iface_flags("wlan0", true) == 0); } - return JNI_TRUE; } void android_net_wifi_hal_cleaned_up_handler(wifi_handle handle) { @@ -348,6 +352,7 @@ static void android_net_wifi_waitForHalEvents(JNIEnv* env, jclass cls) { JNIHelper helper(env); wifi_handle halHandle = getWifiHandle(helper, cls); hal_fn.wifi_event_loop(halHandle); + set_iface_flags("wlan0", false); } static int android_net_wifi_getInterfaces(JNIEnv *env, jclass cls) { @@ -2311,7 +2316,7 @@ static JNINativeMethod gWifiMethods[] = { { "setScanningMacOuiNative", "(I[B)Z", (void*) android_net_wifi_setScanningMacOui}, { "getChannelsForBandNative", "(II)[I", (void*) android_net_wifi_getValidChannels}, { "setDfsFlagNative", "(IZ)Z", (void*) android_net_wifi_setDfsFlag}, - { "setInterfaceUpNative", "(Ljava/lang/String;Z)Z", (void*) android_net_wifi_set_interface_up}, + { "setInterfaceUpNative", "(Z)Z", (void*) android_net_wifi_set_interface_up}, { "getRttCapabilitiesNative", "(I)Landroid/net/wifi/RttManager$RttCapabilities;", (void*) android_net_wifi_get_rtt_capabilities}, { "getPacketFilterCapabilitiesNative", "(I)Lcom/android/server/wifi/WifiNative$PacketFilterCapabilities;", |