de.unikassel.android.sdcframework.app
Class SDCServiceController

Package class diagram package SDCServiceController
java.lang.Object
  extended by android.content.Context
      extended by android.content.ContextWrapper
          extended by android.view.ContextThemeWrapper
              extended by android.app.Activity
                  extended by de.unikassel.android.sdcframework.app.AbstractServiceControlActivity
                      extended by de.unikassel.android.sdcframework.app.SDCServiceController
All Implemented Interfaces:
ComponentCallbacks, KeyEvent.Callback, LayoutInflater.Factory, View.OnCreateContextMenuListener, Window.Callback, EventObserver<LogEvent>

public final class SDCServiceController
extends AbstractServiceControlActivity
implements EventObserver<LogEvent>

The main controller activity for the sensor data collection service. It does provide


Field Summary
private  Handler eventHandler
          The event handler to handle log event messages
private  TextView logView
          The text view for logging
private  ISDCService service
          Reference to a running service when bound.
private  ServiceConnection serviceConnection
          The service connection
private  View.OnClickListener startListener
          the start service button listener
private  View.OnClickListener stopListener
          the stop service button listener
private  SparseIntArray textColorMap
          The text color map
 
Fields inherited from class android.app.Activity
DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, FOCUSED_STATE_SET, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK
 
Fields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, AUDIO_SERVICE, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_NOT_FOREGROUND, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, DEVICE_POLICY_SERVICE, DROPBOX_SERVICE, INPUT_METHOD_SERVICE, KEYGUARD_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MODE_APPEND, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NOTIFICATION_SERVICE, POWER_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, TELEPHONY_SERVICE, UI_MODE_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
 
Constructor Summary
SDCServiceController()
          Constructor
 
Method Summary
private  TextView getLogView()
          Getter for the text view
 ISDCService getService()
          Getter for the service
private  void handleLogEvent(LogEvent logEvent)
          Method to handle for log events
private  boolean onClearDB()
          Method to handle the selection of "clear database" in the option menu
private  boolean onClearLog()
          Method to handle selection of "clear log" in the option menu
protected  void onCreate(Bundle savedInstanceState)
           
 boolean onCreateOptionsMenu(Menu menu)
           
protected  void onDestroy()
           
 void onEvent(ObservableEventSource<? extends LogEvent> eventSource, LogEvent observedEvent)
          This method is called whenever the observed object does create an observed event
 boolean onOptionsItemSelected(MenuItem item)
           
protected  void onPause()
           
 boolean onPrepareOptionsMenu(Menu menu)
           
protected  void onResume()
           
protected  void onServiceRunningStateChanged(boolean isRunning)
          Handler to react on service running state changes.
private  boolean onTriggerTransfer()
          Method to trigger an archive transfer manually
private  void setLogView(TextView logView)
          Setter for the logView
 void setService(ISDCService service)
          Setter for the service
(package private)  void updateButtons(boolean serviceIsRunning)
          Does change Button states depending on service running state
 
Methods inherited from class de.unikassel.android.sdcframework.app.AbstractServiceControlActivity
getPrefManager, getServiceClass, onActivityResult, onPreferences
 
Methods inherited from class android.app.Activity
addContentView, closeContextMenu, closeOptionsMenu, createPendingResult, dismissDialog, dispatchKeyEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, findViewById, finish, finishActivity, finishActivityFromChild, finishFromChild, getApplication, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getCurrentFocus, getInstanceCount, getIntent, getLastNonConfigurationInstance, getLayoutInflater, getLocalClassName, getMenuInflater, getParent, getPreferences, getRequestedOrientation, getSystemService, getTaskId, getTitle, getTitleColor, getVolumeControlStream, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, getWindow, getWindowManager, hasWindowFocus, isChild, isFinishing, isTaskRoot, managedQuery, moveTaskToBack, onApplyThemeResource, onAttachedToWindow, onBackPressed, onChildTitleChanged, onConfigurationChanged, onContentChanged, onContextItemSelected, onContextMenuClosed, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateDialog, onCreatePanelMenu, onCreatePanelView, onCreateThumbnail, onCreateView, onDetachedFromWindow, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyUp, onLowMemory, onMenuItemSelected, onMenuOpened, onNewIntent, onOptionsMenuClosed, onPanelClosed, onPostCreate, onPostResume, onPrepareDialog, onPrepareDialog, onPreparePanel, onRestart, onRestoreInstanceState, onRetainNonConfigurationInstance, onSaveInstanceState, onSearchRequested, onStart, onStop, onTitleChanged, onTouchEvent, onTrackballEvent, onUserInteraction, onUserLeaveHint, onWindowAttributesChanged, onWindowFocusChanged, openContextMenu, openOptionsMenu, overridePendingTransition, registerForContextMenu, removeDialog, requestWindowFeature, runOnUiThread, setContentView, setContentView, setContentView, setDefaultKeyMode, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setIntent, setPersistent, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setTitle, setTitle, setTitleColor, setVisible, setVolumeControlStream, showDialog, showDialog, startActivity, startActivityForResult, startActivityFromChild, startActivityIfNeeded, startIntentSender, startIntentSenderForResult, startIntentSenderFromChild, startManagingCursor, startNextMatchingActivity, startSearch, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterForContextMenu
 
Methods inherited from class android.view.ContextThemeWrapper
attachBaseContext, getTheme, setTheme
 
Methods inherited from class android.content.ContextWrapper
bindService, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkUriPermission, checkUriPermission, clearWallpaper, createPackageContext, databaseList, deleteDatabase, deleteFile, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getBaseContext, getCacheDir, getClassLoader, getContentResolver, getDatabasePath, getDir, getExternalCacheDir, getExternalFilesDir, getFilesDir, getFileStreamPath, getMainLooper, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getResources, getSharedPreferences, getWallpaper, grantUriPermission, isRestricted, openFileInput, openFileOutput, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, removeStickyBroadcast, revokeUriPermission, sendBroadcast, sendBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendStickyBroadcast, sendStickyOrderedBroadcast, setWallpaper, setWallpaper, startInstrumentation, startService, stopService, unbindService, unregisterReceiver
 
Methods inherited from class android.content.Context
getString, getString, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eventHandler

private final Handler eventHandler
The event handler to handle log event messages


startListener

private final View.OnClickListener startListener
the start service button listener


stopListener

private final View.OnClickListener stopListener
the stop service button listener


textColorMap

private final SparseIntArray textColorMap
The text color map


logView

private TextView logView
The text view for logging


service

private ISDCService service
Reference to a running service when bound.


serviceConnection

private final ServiceConnection serviceConnection
The service connection

Constructor Detail

SDCServiceController

public SDCServiceController()
Constructor

Method Detail

getService

public ISDCService getService()
Getter for the service

Returns:
the service

setService

public void setService(ISDCService service)
Setter for the service

Parameters:
service - the service to set

onCreate

protected void onCreate(Bundle savedInstanceState)
Overrides:
onCreate in class Activity

onResume

protected void onResume()
Overrides:
onResume in class AbstractServiceControlActivity

onPause

protected void onPause()
Overrides:
onPause in class AbstractServiceControlActivity

onServiceRunningStateChanged

protected void onServiceRunningStateChanged(boolean isRunning)
Description copied from class: AbstractServiceControlActivity
Handler to react on service running state changes.

Specified by:
onServiceRunningStateChanged in class AbstractServiceControlActivity
Parameters:
isRunning - running state flag

updateButtons

void updateButtons(boolean serviceIsRunning)
Does change Button states depending on service running state

Parameters:
serviceIsRunning - flag if the service is Running

onCreateOptionsMenu

public boolean onCreateOptionsMenu(Menu menu)
Overrides:
onCreateOptionsMenu in class AbstractServiceControlActivity

onPrepareOptionsMenu

public boolean onPrepareOptionsMenu(Menu menu)
Overrides:
onPrepareOptionsMenu in class AbstractServiceControlActivity

onOptionsItemSelected

public boolean onOptionsItemSelected(MenuItem item)
Overrides:
onOptionsItemSelected in class AbstractServiceControlActivity

onTriggerTransfer

private boolean onTriggerTransfer()
Method to trigger an archive transfer manually

Returns:
true if successful, false otherwise

onClearDB

private boolean onClearDB()
Method to handle the selection of "clear database" in the option menu

Returns:
true if successful, false otherwise

onClearLog

private boolean onClearLog()
Method to handle selection of "clear log" in the option menu

Returns:
true if successful, false otherwise

getLogView

private TextView getLogView()
Getter for the text view

Returns:
the text view for logging

setLogView

private void setLogView(TextView logView)
Setter for the logView

Parameters:
logView - the logView to set

handleLogEvent

private void handleLogEvent(LogEvent logEvent)
Method to handle for log events

Parameters:
logEvent - the log Event

onDestroy

protected void onDestroy()
Overrides:
onDestroy in class AbstractServiceControlActivity

onEvent

public void onEvent(ObservableEventSource<? extends LogEvent> eventSource,
                    LogEvent observedEvent)
Description copied from interface: EventObserver
This method is called whenever the observed object does create an observed event

Specified by:
onEvent in interface EventObserver<LogEvent>
Parameters:
eventSource - the event generator
observedEvent - the event created by the observed object