diff options
author | Irfan Sheriff <isheriff@google.com> | 2011-03-01 11:32:24 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-03-01 11:32:24 -0800 |
commit | 2f6409686f4ecced13474db9307fcd33a805b2bf (patch) | |
tree | ae2182b9cbbcf6b5ab14cf230b972ae026bdf5fe /core | |
parent | 6e0e0ec980505c0717d3bf4b1b5e048f25da9c95 (diff) | |
parent | ebe606fccd9293674273d5f73246e0e8e6e6ddcf (diff) | |
download | frameworks_base-2f6409686f4ecced13474db9307fcd33a805b2bf.zip frameworks_base-2f6409686f4ecced13474db9307fcd33a805b2bf.tar.gz frameworks_base-2f6409686f4ecced13474db9307fcd33a805b2bf.tar.bz2 |
Merge "Using AsyncChannel for wifi connectivity"
Diffstat (limited to 'core')
2 files changed, 56 insertions, 10 deletions
diff --git a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerTestActivity.java b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerTestActivity.java index 7756135..e138200 100644 --- a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerTestActivity.java +++ b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerTestActivity.java @@ -21,30 +21,34 @@ import android.content.Context; import android.content.BroadcastReceiver; import android.content.Intent; import android.content.IntentFilter; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.NetworkInfo.State; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiManager; +import android.net.wifi.WifiInfo; +import android.net.wifi.ScanResult; +import android.net.wifi.WifiConfiguration.KeyMgmt; import android.os.Bundle; +import android.os.Handler; import android.os.IPowerManager; +import android.os.Message; import android.os.PowerManager; import android.os.ServiceManager; import android.os.SystemClock; import android.provider.Settings; import android.util.Log; import android.view.KeyEvent; +import android.widget.LinearLayout; + +import com.android.internal.util.AsyncChannel; import java.io.IOException; import java.io.InputStream; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; -import android.widget.LinearLayout; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.net.NetworkInfo.State; -import android.net.wifi.WifiConfiguration; -import android.net.wifi.WifiManager; -import android.net.wifi.WifiInfo; -import android.net.wifi.ScanResult; -import android.net.wifi.WifiConfiguration.KeyMgmt; /** * An activity registered with connectivity manager broadcast @@ -180,6 +184,24 @@ public class ConnectivityManagerTestActivity extends Activity { } } + private class WifiServiceHandler extends Handler { + @Override + public void handleMessage(Message msg) { + switch (msg.what) { + case AsyncChannel.CMD_CHANNEL_HALF_CONNECTED: + if (msg.arg1 == AsyncChannel.STATUS_SUCCESSFUL) { + //AsyncChannel in msg.obj + } else { + log("Failed to establish AsyncChannel connection"); + } + break; + default: + //Ignore + break; + } + } + } + public ConnectivityManagerTestActivity() { mState = State.UNKNOWN; scanResultAvailable = false; @@ -216,6 +238,8 @@ public class ConnectivityManagerTestActivity extends Activity { mCM = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); // Get an instance of WifiManager mWifiManager =(WifiManager)getSystemService(Context.WIFI_SERVICE); + mWifiManager.asyncConnect(this, new WifiServiceHandler()); + initializeNetworkStates(); if (mWifiManager.isWifiEnabled()) { diff --git a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/functional/WifiConnectionTest.java b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/functional/WifiConnectionTest.java index 9c72102..fe79e6c 100644 --- a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/functional/WifiConnectionTest.java +++ b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/functional/WifiConnectionTest.java @@ -34,12 +34,15 @@ import android.net.ConnectivityManager; import android.net.DhcpInfo; import android.net.NetworkInfo; import android.net.NetworkInfo.State; +import android.os.Handler; +import android.os.Message; import android.provider.Settings; - import android.test.suitebuilder.annotation.LargeTest; import android.test.ActivityInstrumentationTestCase2; import android.util.Log; +import com.android.internal.util.AsyncChannel; + import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -75,6 +78,7 @@ public class WifiConnectionTest enabledNetworks = getEnabledNetworks(mWifiManager.getConfiguredNetworks()); mAct = getActivity(); + mWifiManager.asyncConnect(mAct, new WifiServiceHandler()); networks = mAct.loadNetworkConfigurations(); if (DEBUG) { printNetworkConfigurations(); @@ -89,6 +93,24 @@ public class WifiConnectionTest assertTrue("wpa_supplicant is not started ", mAct.mWifiManager.pingSupplicant()); } + private class WifiServiceHandler extends Handler { + @Override + public void handleMessage(Message msg) { + switch (msg.what) { + case AsyncChannel.CMD_CHANNEL_HALF_CONNECTED: + if (msg.arg1 == AsyncChannel.STATUS_SUCCESSFUL) { + //AsyncChannel in msg.obj + } else { + log("Failed to establish AsyncChannel connection"); + } + break; + default: + //Ignore + break; + } + } + } + private void printNetworkConfigurations() { log("==== print network configurations parsed from XML file ===="); log("number of access points: " + networks.size()); |