Back to project page roboguice-appcompat.
The source code is released under:
Apache License
If you think the Android project roboguice-appcompat listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.metova.roboguice.appcompat; /* w w w . j a v a2s . co m*/ import java.util.HashMap; import java.util.Map; import roboguice.RoboGuice; import roboguice.activity.event.OnActivityResultEvent; import roboguice.activity.event.OnConfigurationChangedEvent; import roboguice.activity.event.OnContentChangedEvent; import roboguice.activity.event.OnCreateEvent; import roboguice.activity.event.OnDestroyEvent; import roboguice.activity.event.OnNewIntentEvent; import roboguice.activity.event.OnPauseEvent; import roboguice.activity.event.OnRestartEvent; import roboguice.activity.event.OnResumeEvent; import roboguice.activity.event.OnStartEvent; import roboguice.activity.event.OnStopEvent; import roboguice.event.EventManager; import roboguice.inject.ContentViewListener; import roboguice.inject.RoboInjector; import roboguice.util.RoboContext; import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import com.google.inject.Inject; import com.google.inject.Key; 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 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 onSupportContentChanged() { super.onSupportContentChanged(); RoboGuice.getInjector( this ).injectViewMembers( this ); eventManager.fire( new OnContentChangedEvent() ); } @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; } }