roboguice.activity
Class RoboActivity

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 roboguice.activity.RoboActivity
All Implemented Interfaces:
android.content.ComponentCallbacks, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback, RoboContext

public class RoboActivity
extends android.app.Activity
implements RoboContext

A RoboActivity extends from Activity to provide dynamic injection of collaborators, using Google Guice.

Your own activities that usually extend from Activity should now extend from RoboActivity.

If your activities extend from subclasses of Activity provided by the Android SDK, we provided Guice versions as well for the most used : see RoboExpandableListActivity, RoboListActivity, and other classes located in package roboguice.activity.

If we didn't provide what you need, you have two options : either post an issue on the bug tracker, or implement it yourself. Have a look at the source code of this class (RoboActivity), you won't have to write that much changes. And of course, you are welcome to contribute and send your implementations to the RoboGuice project.

Please be aware that collaborators are not injected into this until you call Activity.setContentView(int) (calling any of the overloads of this methods will work).

You can have access to the Guice Injector at any time, by calling #getInjector().
However, you will not have access to ContextSingleton scoped beans until onCreate(Bundle) is called.

Author:
Mike Burton

Field Summary
protected  EventManager eventManager
           
protected  HashMap<com.google.inject.Key<?>,Object> scopedObjects
           
 
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, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, 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, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
 
Constructor Summary
RoboActivity()
           
 
Method Summary
 Map<com.google.inject.Key<?>,Object> getScopedObjectMap()
           
protected  void onActivityResult(int requestCode, int resultCode, android.content.Intent data)
           
 void onConfigurationChanged(android.content.res.Configuration newConfig)
           
 void onContentChanged()
           
protected  void onCreate(android.os.Bundle savedInstanceState)
           
protected  void onDestroy()
           
protected  void onNewIntent(android.content.Intent intent)
           
protected  void onPause()
           
protected  void onRestart()
           
protected  void onResume()
           
protected  void onStart()
           
protected  void onStop()
           
 
Methods inherited from class android.app.Activity
addContentView, closeContextMenu, closeOptionsMenu, createPendingResult, dismissDialog, dispatchKeyEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, finalize, 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, onContextItemSelected, onContextMenuClosed, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateOptionsMenu, onCreatePanelMenu, onCreatePanelView, onCreateThumbnail, onCreateView, onDetachedFromWindow, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyUp, onLowMemory, onMenuItemSelected, onMenuOpened, onOptionsItemSelected, onOptionsMenuClosed, onPanelClosed, onPostCreate, onPostResume, onPrepareDialog, onPrepareOptionsMenu, onPreparePanel, onRestoreInstanceState, onRetainNonConfigurationInstance, onSaveInstanceState, onSearchRequested, 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, 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, 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, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eventManager

protected EventManager eventManager

scopedObjects

protected HashMap<com.google.inject.Key<?>,Object> scopedObjects
Constructor Detail

RoboActivity

public RoboActivity()
Method Detail

onCreate

protected void onCreate(android.os.Bundle savedInstanceState)
Overrides:
onCreate in class android.app.Activity

onRestart

protected void onRestart()
Overrides:
onRestart in class android.app.Activity

onStart

protected void onStart()
Overrides:
onStart in class android.app.Activity

onResume

protected void onResume()
Overrides:
onResume in class android.app.Activity

onPause

protected void onPause()
Overrides:
onPause in class android.app.Activity

onNewIntent

protected void onNewIntent(android.content.Intent intent)
Overrides:
onNewIntent in class android.app.Activity

onStop

protected void onStop()
Overrides:
onStop in class android.app.Activity

onDestroy

protected void onDestroy()
Overrides:
onDestroy in class android.app.Activity

onConfigurationChanged

public void onConfigurationChanged(android.content.res.Configuration newConfig)
Specified by:
onConfigurationChanged in interface android.content.ComponentCallbacks
Overrides:
onConfigurationChanged in class android.app.Activity

onContentChanged

public void onContentChanged()
Specified by:
onContentChanged in interface android.view.Window.Callback
Overrides:
onContentChanged in class android.app.Activity

onActivityResult

protected void onActivityResult(int requestCode,
                                int resultCode,
                                android.content.Intent data)
Overrides:
onActivityResult in class android.app.Activity

getScopedObjectMap

public Map<com.google.inject.Key<?>,Object> getScopedObjectMap()
Specified by:
getScopedObjectMap in interface RoboContext


Copyright © 2012. All Rights Reserved.