de.unikassel.android.sdcframework.util
Class ObservableAlarm

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

public class ObservableAlarm
extends BroadcastReceiver
implements ObservableEventSource<AlarmEvent>, LifeCycleObject

An observable alarm. Use the AlarmBuilder class to create alarm instances.


Field Summary
private  String action
          The unique action identifier.
private  String ACTION
          The intent action
private  AlarmManager alarmManager
          The alarm manager to wake up device
private  Context context
          The context
private  ObservableEventSource<AlarmEvent> eventSource
          The observable event source to delegate to
private  int id
          The unique alarm identifier.
private static String ID
          The identifier key name
private  PendingIntent pendingIntent
          The last pending intent
 
Constructor Summary
ObservableAlarm(Context context, int id)
          Constructor
 
Method Summary
 void cancelAlarm()
          Method to cancel the current alarm
 int getId()
          Getter for the id
 boolean hasObservers()
          Test method for observers.
 void notify(AlarmEvent data)
          Does set the changed flag and notifies all observers
 void onCreate(Context applicationContext)
          Creation method
 void onDestroy(Context applicationContext)
          Destroy method
 void onPause(Context applicationContext)
          Pause method
 void onReceive(Context context, Intent intent)
           
 void onResume(Context applicationContext)
          Resume method
 void registerEventObserver(EventObserver<? extends AlarmEvent> observer)
          Does register an observer
 void removeAllObservers()
          Does remove all registered observers
 void setAlarm(long timeOffset)
          Method to add an alarm
 void unregisterEventObserver(EventObserver<? extends AlarmEvent> 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

ID

private static final String ID
The identifier key name

See Also:
Constant Field Values

ACTION

private final String ACTION
The intent action

See Also:
Constant Field Values

eventSource

private final ObservableEventSource<AlarmEvent> eventSource
The observable event source to delegate to


alarmManager

private final AlarmManager alarmManager
The alarm manager to wake up device


context

private final Context context
The context


pendingIntent

private PendingIntent pendingIntent
The last pending intent


action

private final String action
The unique action identifier.


id

private final int id
The unique alarm identifier.

Constructor Detail

ObservableAlarm

public ObservableAlarm(Context context,
                       int id)
Constructor

Parameters:
context -
id - the unique alarm identifier
Method Detail

cancelAlarm

public void cancelAlarm()
Method to cancel the current alarm


setAlarm

public void setAlarm(long timeOffset)
Method to add an alarm

Parameters:
timeOffset - the time offset in milliseconds

getId

public int getId()
Getter for the id

Returns:
the id

onReceive

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

registerEventObserver

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

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

unregisterEventObserver

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

Specified by:
unregisterEventObserver in interface ObserverRegistration<AlarmEvent>
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<AlarmEvent>

notify

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

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

onResume

public void onResume(Context applicationContext)
Description copied from interface: LifeCycleObject
Resume method

Specified by:
onResume in interface LifeCycleObject
Parameters:
applicationContext - the application context

onPause

public void onPause(Context applicationContext)
Description copied from interface: LifeCycleObject
Pause method

Specified by:
onPause in interface LifeCycleObject
Parameters:
applicationContext - the application context

onCreate

public void onCreate(Context applicationContext)
Description copied from interface: LifeCycleObject
Creation method

Specified by:
onCreate in interface LifeCycleObject
Parameters:
applicationContext - the application context

onDestroy

public void onDestroy(Context applicationContext)
Description copied from interface: LifeCycleObject
Destroy method

Specified by:
onDestroy in interface LifeCycleObject
Parameters:
applicationContext - the application context

hasObservers

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

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