public class CaEdrInterface {
private static Context mContext;
+ private static volatile boolean isEdrInitialized = false;
private CaEdrInterface(Context context) {
- mContext = context;
- registerIntentFilter();
+ synchronized(CaEdrInterface.class) {
+ mContext = context;
+ }
+ 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