public class CaBtPairingInterface {
private static Context mContext;
+ private static volatile boolean isBtInitialized = false;
private CaBtPairingInterface(Context context) {
synchronized(CaBtPairingInterface.class) {
mContext = context;
}
- registerIntentFilter();
+ if (!isBtInitialized) {
+ registerIntentFilter();
+ isBtInitialized = true;
+ }
}
private static IntentFilter registerIntentFilter() {
}
public static void destroyEdrInterface() {
- mContext.unregisterReceiver(mReceiver);
+ if (isBtInitialized) {
+ mContext.unregisterReceiver(mReceiver);
+ isBtInitialized = false;
+ }
}
private native static void oicEdrStateChangedCallback(int state);
public class CaEdrInterface {
private static Context mContext;
+ private static volatile boolean isEdrInitialized = false;
private CaEdrInterface(Context context) {
synchronized(CaEdrInterface.class) {
mContext = context;
}
- registerIntentFilter();
+ if (!isEdrInitialized) {
+ registerIntentFilter();
+ isEdrInitialized = true;
+ }
}
private static IntentFilter registerIntentFilter() {
}
public static void destroyEdrInterface() {
- mContext.unregisterReceiver(mReceiver);
+ if (isEdrInitialized) {
+ mContext.unregisterReceiver(mReceiver);
+ isEdrInitialized = false;
+ }
}
// Network Monitor
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
+ private static volatile boolean isIpInitialized = false;\r
+ private static String TAG = "OIC_IP_CB_INTERFACE";\r
\r
private CaIpInterface(Context context) {\r
synchronized(CaIpInterface.class) {\r
mContext = context;\r
}\r
- registerIpStateReceiver();\r
+ if (!isIpInitialized) {\r
+ registerIpStateReceiver();\r
+ isIpInitialized = true;\r
+ }\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
+ if (isIpInitialized) {\r
+ mContext.unregisterReceiver(mReceiver);\r
+ isIpInitialized = false;\r
+ }\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
+ NetworkInfo activeNetwork = ((ConnectivityManager) mContext\r
+ .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();\r
+ if (activeNetwork != null && activeNetwork.isConnected()) {\r
+ Log.d(TAG, "CONNECTIVITY_ACTION - activeNetwork: "\r
+ + activeNetwork.getTypeName());\r
caIpStateEnabled();\r
} else {\r
+ Log.d(TAG, "CONNECTIVITY_ACTION - activeNetwork: NONE");\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 static String SERVICE_UUID = "ADE3D529-C784-4F63-A987-EB69F70EE816";
private static String TAG = "OIC_LE_CB_INTERFACE";
private static Context mContext;
+ private static volatile boolean isLeClientInitialized = false;
private CaLeClientInterface(Context context) {
caLeRegisterLeScanCallback(mLeScanCallback);
synchronized(CaLeClientInterface.class) {
mContext = context;
}
- registerIntentFilter();
+ if (!isLeClientInitialized) {
+ registerIntentFilter();
+ isLeClientInitialized = true;
+ }
}
}
public static void destroyLeInterface() {
- mContext.unregisterReceiver(mReceiver);
+ if (isLeClientInitialized) {
+ mContext.unregisterReceiver(mReceiver);
+ isLeClientInitialized = false;
+ }
}
private native static void caLeRegisterLeScanCallback(BluetoothAdapter.LeScanCallback callback);