Created
August 5, 2013 05:50
-
-
Save duncandee/6153762 to your computer and use it in GitHub Desktop.
Revisions
-
duncandee created this gist
Aug 5, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,122 @@ public class RoboActionBarActivity extends ActionBarActivity implements RoboContext { protected EventManager eventManager; protected HashMap<Key<?>, Object> scopedObjects = new HashMap<Key<?>, Object>(); @Inject ContentViewListener ignored; // BUG find a better place to put this @Override protected void onCreate(Bundle savedInstanceState) { final RoboInjector injector = RoboGuice.getInjector(this); eventManager = injector.getInstance(EventManager.class); injector.injectMembersWithoutViews(this); super.onCreate(savedInstanceState); eventManager.fire(new OnCreateEvent(savedInstanceState)); } @Override public void setContentView(int layoutResID) { super.setContentView(layoutResID); contentViewChanged(); } @Override public void setContentView(View view) { super.setContentView(view); contentViewChanged(); } @Override public void setContentView(View view, ViewGroup.LayoutParams params) { super.setContentView(view, params); contentViewChanged(); } @Override public void addContentView(View view, ViewGroup.LayoutParams params) { super.addContentView(view, params); contentViewChanged(); } private void contentViewChanged() { RoboGuice.getInjector(this).injectViewMembers(this); eventManager.fire(new OnContentChangedEvent()); } @Override protected void onRestart() { super.onRestart(); eventManager.fire(new OnRestartEvent()); } @Override protected void onStart() { super.onStart(); eventManager.fire(new OnStartEvent()); } @Override protected void onResume() { super.onResume(); eventManager.fire(new OnResumeEvent()); } @Override protected void onPause() { super.onPause(); eventManager.fire(new OnPauseEvent()); } @Override protected void onNewIntent( Intent intent ) { super.onNewIntent(intent); eventManager.fire(new OnNewIntentEvent()); } @Override protected void onStop() { try { eventManager.fire(new OnStopEvent()); } finally { super.onStop(); } } @Override protected void onDestroy() { try { eventManager.fire(new OnDestroyEvent()); } finally { try { RoboGuice.destroyInjector(this); } finally { super.onDestroy(); } } } @Override public void onConfigurationChanged(Configuration newConfig) { final Configuration currentConfig = getResources().getConfiguration(); super.onConfigurationChanged(newConfig); eventManager.fire(new OnConfigurationChangedEvent(currentConfig, newConfig)); } @Override public void onContentChanged() { super.onContentChanged(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); eventManager.fire(new OnActivityResultEvent(requestCode, resultCode, data)); } @Override public Map<Key<?>, Object> getScopedObjectMap() { return scopedObjects; } }