de.unikassel.android.sdcframework.util
Class NetworkConnectionObserver

Package class diagram package NetworkConnectionObserver
java.lang.Object
  extended by android.content.BroadcastReceiver
      extended by de.unikassel.android.sdcframework.util.NetworkConnectionObserver
All Implemented Interfaces:
ObservableEventSource<NetworkStateChangeEvent>, ObserverRegistration<NetworkStateChangeEvent>

public class NetworkConnectionObserver
extends BroadcastReceiver
implements ObservableEventSource<NetworkStateChangeEvent>


Field Summary
private  Context context
          The application context.
private  ObservableEventSource<NetworkStateChangeEvent> eventSource
          The observable event source
private static NetworkConnectionObserver instance
          The singleton instance
private  AtomicBoolean isNotConnected
          last connection state
private  boolean isObserving
          Observation state flag
 
Constructor Summary
private NetworkConnectionObserver(Context context)
          Constructor
 
Method Summary
static NetworkConnectionObserver getInstance(Context context)
          Getter for the instance
 boolean hasObservers()
          Test method for observers.
 boolean isConnected()
          Getter for the last known connection state
private  boolean isNotConnected()
          Getter for the not connected state
 void notify(NetworkStateChangeEvent data)
          Does set the changed flag and notifies all observers
 void onReceive(Context context, Intent intent)
           
 void registerEventObserver(EventObserver<? extends NetworkStateChangeEvent> observer)
          Does register an observer
 void removeAllObservers()
          Does remove all registered observers
private  void setNotConnected(boolean isNotConnected)
          Setter for the not connected state
private  void startObservation()
          Does start network state observation
private  void stopObservation()
          Does stop network state observation
 void unregisterEventObserver(EventObserver<? extends NetworkStateChangeEvent> observer)
          Does delete a registered observer
 
Methods inherited from class android.content.BroadcastReceiver
abortBroadcast, clearAbortBroadcast, getAbortBroadcast, getDebugUnregister, getResultCode, getResultData, getResultExtras, isInitialStickyBroadcast, isOrderedBroadcast, peekService, setDebugUnregister, setOrderedHint, setResult, setResultCode, setResultData, setResultExtras
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eventSource

private final ObservableEventSource<NetworkStateChangeEvent> eventSource
The observable event source


isObserving

private boolean isObserving
Observation state flag


isNotConnected

private final AtomicBoolean isNotConnected
last connection state


context

private Context context
The application context.


instance

private static NetworkConnectionObserver instance
The singleton instance

Constructor Detail

NetworkConnectionObserver

private NetworkConnectionObserver(Context context)
Constructor

Parameters:
context - the application context.
Method Detail

getInstance

public static NetworkConnectionObserver getInstance(Context context)
Getter for the instance

Parameters:
context - the application context.
Returns:
the instance

setNotConnected

private void setNotConnected(boolean isNotConnected)
Setter for the not connected state

Parameters:
isNotConnected - the not connected state to set

isNotConnected

private boolean isNotConnected()
Getter for the not connected state

Returns:
the not connected state

isConnected

public boolean isConnected()
Getter for the last known connection state

Returns:
the last known connection state

startObservation

private void startObservation()
Does start network state observation


stopObservation

private void stopObservation()
Does stop network state observation


onReceive

public void onReceive(Context context,
                      Intent intent)
Specified by:
onReceive in class BroadcastReceiver

registerEventObserver

public void registerEventObserver(EventObserver<? extends NetworkStateChangeEvent> observer)
Description copied from interface: ObserverRegistration
Does register an observer

Specified by:
registerEventObserver in interface ObserverRegistration<NetworkStateChangeEvent>
Parameters:
observer - the observer to add

unregisterEventObserver

public void unregisterEventObserver(EventObserver<? extends NetworkStateChangeEvent> observer)
Description copied from interface: ObserverRegistration
Does delete a registered observer

Specified by:
unregisterEventObserver in interface ObserverRegistration<NetworkStateChangeEvent>
Parameters:
observer - the observer to delete

removeAllObservers

public void removeAllObservers()
Description copied from interface: ObserverRegistration
Does remove all registered observers

Specified by:
removeAllObservers in interface ObserverRegistration<NetworkStateChangeEvent>

notify

public void notify(NetworkStateChangeEvent data)
Description copied from interface: ObservableEventSource
Does set the changed flag and notifies all observers

Specified by:
notify in interface ObservableEventSource<NetworkStateChangeEvent>
Parameters:
data - the observable event data to create notifications for

hasObservers

public boolean hasObservers()
Description copied from interface: ObservableEventSource
Test method for observers.

Specified by:
hasObservers in interface ObservableEventSource<NetworkStateChangeEvent>
Returns:
true if observers are registered, false otherwise