Loading core/jni/android_net_wifi_Wifi.cpp +16 −12 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ namespace android { static jboolean sScanModeActive = false; /* * The following remembers the jfieldID's of the fields * of the DhcpInfo Java object, so that we don't have Loading Loading @@ -254,27 +256,29 @@ static jboolean android_net_wifi_reassociateCommand(JNIEnv* env, jobject clazz) return doBooleanCommand("REASSOCIATE", "OK"); } static jboolean android_net_wifi_scanCommand(JNIEnv* env, jobject clazz) static jboolean doSetScanMode(jboolean setActive) { return doBooleanCommand((setActive ? "DRIVER SCAN-ACTIVE" : "DRIVER SCAN-PASSIVE"), "OK"); } static jboolean android_net_wifi_scanCommand(JNIEnv* env, jobject clazz, jboolean forceActive) { jboolean result; // Ignore any error from setting the scan mode. // The scan will still work. (void)doBooleanCommand("DRIVER SCAN-ACTIVE", "OK"); if (forceActive && !sScanModeActive) doSetScanMode(true); result = doBooleanCommand("SCAN", "OK"); (void)doBooleanCommand("DRIVER SCAN-PASSIVE", "OK"); if (forceActive && !sScanModeActive) doSetScanMode(sScanModeActive); return result; } static jboolean android_net_wifi_setScanModeCommand(JNIEnv* env, jobject clazz, jboolean setActive) { jboolean result; // Ignore any error from setting the scan mode. // The scan will still work. if (setActive) { return doBooleanCommand("DRIVER SCAN-ACTIVE", "OK"); } else { return doBooleanCommand("DRIVER SCAN-PASSIVE", "OK"); } sScanModeActive = setActive; return doSetScanMode(setActive); } static jboolean android_net_wifi_startDriverCommand(JNIEnv* env, jobject clazz) Loading Loading @@ -520,7 +524,7 @@ static JNINativeMethod gWifiMethods[] = { { "disconnectCommand", "()Z", (void *)android_net_wifi_disconnectCommand }, { "reconnectCommand", "()Z", (void *)android_net_wifi_reconnectCommand }, { "reassociateCommand", "()Z", (void *)android_net_wifi_reassociateCommand }, { "scanCommand", "()Z", (void*) android_net_wifi_scanCommand }, { "scanCommand", "(Z)Z", (void*) android_net_wifi_scanCommand }, { "setScanModeCommand", "(Z)Z", (void*) android_net_wifi_setScanModeCommand }, { "startDriverCommand", "()Z", (void*) android_net_wifi_startDriverCommand }, { "stopDriverCommand", "()Z", (void*) android_net_wifi_stopDriverCommand }, Loading services/java/com/android/server/WifiService.java +2 −2 Original line number Diff line number Diff line Loading @@ -436,7 +436,7 @@ public class WifiService extends IWifiManager.Stub { * see {@link android.net.wifi.WifiManager#startScan()} * @return {@code true} if the operation succeeds */ public boolean startScan() { public boolean startScan(boolean forceActive) { enforceChangePermission(); synchronized (mWifiStateTracker) { switch (mWifiStateTracker.getSupplicantState()) { Loading @@ -450,7 +450,7 @@ public class WifiService extends IWifiManager.Stub { WifiStateTracker.SUPPL_SCAN_HANDLING_LIST_ONLY); break; } return WifiNative.scanCommand(); return WifiNative.scanCommand(forceActive); } } Loading wifi/java/android/net/wifi/IWifiManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ interface IWifiManager boolean pingSupplicant(); boolean startScan(); boolean startScan(boolean forceActive); List<ScanResult> getScanResults(); Loading wifi/java/android/net/wifi/WifiManager.java +20 −2 Original line number Diff line number Diff line Loading @@ -478,7 +478,25 @@ public class WifiManager { */ public boolean startScan() { try { return mService.startScan(); return mService.startScan(false); } catch (RemoteException e) { return false; } } /** * Request a scan for access points. Returns immediately. The availability * of the results is made known later by means of an asynchronous event sent * on completion of the scan. * This is a variant of startScan that forces an active scan, even if passive * scans are the current default * @return {@code true} if the operation succeeded, i.e., the scan was initiated * * @hide */ public boolean startScanActive() { try { return mService.startScan(true); } catch (RemoteException e) { return false; } Loading wifi/java/android/net/wifi/WifiNative.java +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ public class WifiNative { public native static boolean pingCommand(); public native static boolean scanCommand(); public native static boolean scanCommand(boolean forceActive); public native static boolean setScanModeCommand(boolean setActive); Loading Loading
core/jni/android_net_wifi_Wifi.cpp +16 −12 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ namespace android { static jboolean sScanModeActive = false; /* * The following remembers the jfieldID's of the fields * of the DhcpInfo Java object, so that we don't have Loading Loading @@ -254,27 +256,29 @@ static jboolean android_net_wifi_reassociateCommand(JNIEnv* env, jobject clazz) return doBooleanCommand("REASSOCIATE", "OK"); } static jboolean android_net_wifi_scanCommand(JNIEnv* env, jobject clazz) static jboolean doSetScanMode(jboolean setActive) { return doBooleanCommand((setActive ? "DRIVER SCAN-ACTIVE" : "DRIVER SCAN-PASSIVE"), "OK"); } static jboolean android_net_wifi_scanCommand(JNIEnv* env, jobject clazz, jboolean forceActive) { jboolean result; // Ignore any error from setting the scan mode. // The scan will still work. (void)doBooleanCommand("DRIVER SCAN-ACTIVE", "OK"); if (forceActive && !sScanModeActive) doSetScanMode(true); result = doBooleanCommand("SCAN", "OK"); (void)doBooleanCommand("DRIVER SCAN-PASSIVE", "OK"); if (forceActive && !sScanModeActive) doSetScanMode(sScanModeActive); return result; } static jboolean android_net_wifi_setScanModeCommand(JNIEnv* env, jobject clazz, jboolean setActive) { jboolean result; // Ignore any error from setting the scan mode. // The scan will still work. if (setActive) { return doBooleanCommand("DRIVER SCAN-ACTIVE", "OK"); } else { return doBooleanCommand("DRIVER SCAN-PASSIVE", "OK"); } sScanModeActive = setActive; return doSetScanMode(setActive); } static jboolean android_net_wifi_startDriverCommand(JNIEnv* env, jobject clazz) Loading Loading @@ -520,7 +524,7 @@ static JNINativeMethod gWifiMethods[] = { { "disconnectCommand", "()Z", (void *)android_net_wifi_disconnectCommand }, { "reconnectCommand", "()Z", (void *)android_net_wifi_reconnectCommand }, { "reassociateCommand", "()Z", (void *)android_net_wifi_reassociateCommand }, { "scanCommand", "()Z", (void*) android_net_wifi_scanCommand }, { "scanCommand", "(Z)Z", (void*) android_net_wifi_scanCommand }, { "setScanModeCommand", "(Z)Z", (void*) android_net_wifi_setScanModeCommand }, { "startDriverCommand", "()Z", (void*) android_net_wifi_startDriverCommand }, { "stopDriverCommand", "()Z", (void*) android_net_wifi_stopDriverCommand }, Loading
services/java/com/android/server/WifiService.java +2 −2 Original line number Diff line number Diff line Loading @@ -436,7 +436,7 @@ public class WifiService extends IWifiManager.Stub { * see {@link android.net.wifi.WifiManager#startScan()} * @return {@code true} if the operation succeeds */ public boolean startScan() { public boolean startScan(boolean forceActive) { enforceChangePermission(); synchronized (mWifiStateTracker) { switch (mWifiStateTracker.getSupplicantState()) { Loading @@ -450,7 +450,7 @@ public class WifiService extends IWifiManager.Stub { WifiStateTracker.SUPPL_SCAN_HANDLING_LIST_ONLY); break; } return WifiNative.scanCommand(); return WifiNative.scanCommand(forceActive); } } Loading
wifi/java/android/net/wifi/IWifiManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ interface IWifiManager boolean pingSupplicant(); boolean startScan(); boolean startScan(boolean forceActive); List<ScanResult> getScanResults(); Loading
wifi/java/android/net/wifi/WifiManager.java +20 −2 Original line number Diff line number Diff line Loading @@ -478,7 +478,25 @@ public class WifiManager { */ public boolean startScan() { try { return mService.startScan(); return mService.startScan(false); } catch (RemoteException e) { return false; } } /** * Request a scan for access points. Returns immediately. The availability * of the results is made known later by means of an asynchronous event sent * on completion of the scan. * This is a variant of startScan that forces an active scan, even if passive * scans are the current default * @return {@code true} if the operation succeeded, i.e., the scan was initiated * * @hide */ public boolean startScanActive() { try { return mService.startScan(true); } catch (RemoteException e) { return false; } Loading
wifi/java/android/net/wifi/WifiNative.java +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ public class WifiNative { public native static boolean pingCommand(); public native static boolean scanCommand(); public native static boolean scanCommand(boolean forceActive); public native static boolean setScanModeCommand(boolean setActive); Loading