-/******************************************************************
- *
- * Copyright 2014 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * 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 org.iotivity.ca;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
-import android.net.wifi.WifiManager;
-import android.net.wifi.p2p.WifiP2pManager;
-import android.util.Log;
-
-public class CaIpInterface {
- private static Context mContext;
-
- public enum WifiAPState{
- WIFI_AP_STATE_DISABLING (10),
- WIFI_AP_STATE_DISABLED (11),
- WIFI_AP_STATE_ENABLING (12),
- WIFI_AP_STATE_ENABLED (13),
- WIFI_AP_STATE_FAILED (14)
- ; // semicolon needed when fields / methods follow
-
-
- private final int apstate;
-
- WifiAPState(int apstate)
- {
- this.apstate = apstate;
- }
- public int getIntValue() {
- return this.apstate;
- }
- }
-
- private CaIpInterface(Context context) {
- synchronized(CaIpInterface.class) {
- mContext = context;
- }
- registerIpStateReceiver();
- }
-
- private void registerIpStateReceiver() {
- IntentFilter intentFilter = new IntentFilter();
- intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
- intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
- intentFilter.addAction("android.net.wifi.WIFI_AP_STATE_CHANGED");
- intentFilter.addAction("android.net.wifi.p2p.CONNECTION_STATE_CHANGE");
-
- mContext.registerReceiver(mReceiver, intentFilter);
- }
-
- public static void destroyIpInterface() {
- mContext.unregisterReceiver(mReceiver);
- }
-
- private static BroadcastReceiver mReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
- ConnectivityManager manager = (ConnectivityManager)
- mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo wifiInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
- NetworkInfo mobileInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
-
- if (mobileInfo != null && mobileInfo.isConnected() || wifiInfo.isConnected()) {
- caIpStateEnabled();
- } else {
- caIpStateDisabled();
- }
- }
-
- if (intent.getAction().equals("android.net.wifi.WIFI_AP_STATE_CHANGED")) {
- if (intent.getIntExtra("wifi_state",
- WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue())
- == WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue())
- {
- caIpStateDisabled();
- }else if(intent.getIntExtra("wifi_state",
- WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue())
- == WifiAPState.WIFI_AP_STATE_ENABLED.getIntValue())
- {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- caIpStateEnabled();
- }
- }
-
- if (intent.getAction().equals("android.net.wifi.p2p.CONNECTION_STATE_CHANGE"))
- {
- NetworkInfo p2pInfo = intent.getParcelableExtra(WifiP2pManager.EXTRA_NETWORK_INFO);
-
- if (p2pInfo != null && p2pInfo.isConnected())
- {
- caIpStateEnabled();
- }
- else
- {
- caIpStateDisabled();
- }
- }
- }
- };
-
- private native static void caIpStateEnabled();
-
- private native static void caIpStateDisabled();
-}
+/******************************************************************\r
+ *\r
+ * Copyright 2014 Samsung Electronics All Rights Reserved.\r
+ *\r
+ *\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ ******************************************************************/\r
+\r
+package org.iotivity.ca;\r
+\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.net.ConnectivityManager;\r
+import android.net.NetworkInfo;\r
+import android.net.wifi.WifiManager;\r
+import android.util.Log;\r
+\r
+public class CaIpInterface {\r
+ private static Context mContext;\r
+\r
+ public enum WifiAPState{\r
+ WIFI_AP_STATE_DISABLING (10),\r
+ WIFI_AP_STATE_DISABLED (11),\r
+ WIFI_AP_STATE_ENABLING (12),\r
+ WIFI_AP_STATE_ENABLED (13),\r
+ WIFI_AP_STATE_FAILED (14)\r
+ ; // semicolon needed when fields / methods follow\r
+\r
+\r
+ private final int apstate;\r
+\r
+ WifiAPState(int apstate)\r
+ {\r
+ this.apstate = apstate;\r
+ }\r
+ public int getIntValue() {\r
+ return this.apstate;\r
+ }\r
+ }\r
+\r
+ private CaIpInterface(Context context) {\r
+ synchronized(CaIpInterface.class) {\r
+ mContext = context;\r
+ }\r
+ registerIpStateReceiver();\r
+ }\r
+\r
+ private void registerIpStateReceiver() {\r
+ IntentFilter intentFilter = new IntentFilter();\r
+ intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);\r
+ intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);\r
+ intentFilter.addAction("android.net.wifi.WIFI_AP_STATE_CHANGED");\r
+\r
+ mContext.registerReceiver(mReceiver, intentFilter);\r
+ }\r
+\r
+ public static void destroyIpInterface() {\r
+ mContext.unregisterReceiver(mReceiver);\r
+ }\r
+\r
+ private static BroadcastReceiver mReceiver = new BroadcastReceiver() {\r
+ @Override\r
+ public void onReceive(Context context, Intent intent) {\r
+ if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {\r
+ ConnectivityManager manager = (ConnectivityManager)\r
+ mContext.getSystemService(Context.CONNECTIVITY_SERVICE);\r
+ NetworkInfo wifiInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);\r
+ NetworkInfo mobileInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);\r
+\r
+ if (mobileInfo != null && mobileInfo.isConnected() || wifiInfo.isConnected()) {\r
+ caIpStateEnabled();\r
+ } else {\r
+ caIpStateDisabled();\r
+ }\r
+ }\r
+\r
+ if (intent.getAction().equals("android.net.wifi.WIFI_AP_STATE_CHANGED")) {\r
+ if (intent.getIntExtra("wifi_state",\r
+ WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue())\r
+ == WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue())\r
+ {\r
+ caIpStateDisabled();\r
+ }else if(intent.getIntExtra("wifi_state",\r
+ WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue())\r
+ == WifiAPState.WIFI_AP_STATE_ENABLED.getIntValue())\r
+ {\r
+ try {\r
+ Thread.sleep(1000);\r
+ } catch (InterruptedException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+ caIpStateEnabled();\r
+ }\r
+ }\r
+ }\r
+ };\r
+\r
+ private native static void caIpStateEnabled();\r
+\r
+ private native static void caIpStateDisabled();\r
+}\r