Android Open Source - roboguice-appcompat Robo Action Bar Activity






From Project

Back to project page roboguice-appcompat.

License

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.

Java Source Code

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;
    }
}




Java Source Code List

com.metova.roboguice.appcompat.RoboActionBarActivity.java