Android Open Source - mvp-notes Object Graph Holder






From Project

Back to project page mvp-notes.

License

The source code is released under:

Apache License

If you think the Android project mvp-notes 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.corneliudascalu.mvpnotes.common;
// ww  w. ja v a2  s.c o m
import android.app.Application;
import dagger.ObjectGraph;

/**
 * Holds the app object graph in a static variable, which will only be destroyed if the app is destroyed
 *
 * @author Corneliu Dascalu <corneliu.dascalu@gmail.com>
 */
public class ObjectGraphHolder {
    private static ObjectGraph objectGraph;
    private static ObjectGraphCreator objectGraphCreator;

    public static ObjectGraph getObjectGraph(Application application) {
        if (objectGraph == null) {
            objectGraph = objectGraphCreator.create(application);
        }
        return objectGraph;
    }

    public static void setObjectGraphCreator(ObjectGraphCreator objectGraphCreator) {
        if (ObjectGraphHolder.objectGraphCreator == null) {
            ObjectGraphHolder.objectGraphCreator = objectGraphCreator;
        }
    }

    public static void forceObjectGraphCreator(ObjectGraphCreator objectGraphCreator) {
        objectGraph = null;
        ObjectGraphHolder.objectGraphCreator = objectGraphCreator;
    }

    public static void inject(Application application, Object object) {
        getObjectGraph(application).inject(object);
    }

    public static ObjectGraph createScopedObjectGraph(Application application, Object... modules) {
        return ObjectGraphHolder.getObjectGraph(application).plus(modules);
    }
}




Java Source Code List

com.corneliudascalu.mvpnotes.AppModule.java
com.corneliudascalu.mvpnotes.MVPNotesApp.java
com.corneliudascalu.mvpnotes.common.BaseInjectedActivity.java
com.corneliudascalu.mvpnotes.common.InjectedDialogFragment.java
com.corneliudascalu.mvpnotes.common.ObjectGraphCreator.java
com.corneliudascalu.mvpnotes.common.ObjectGraphHolder.java
com.corneliudascalu.mvpnotes.data.interactor.InteractorsModule.java
com.corneliudascalu.mvpnotes.data.interactor.NoteInteractor.java
com.corneliudascalu.mvpnotes.data.interactor.impl.NoteInteractorImpl.java
com.corneliudascalu.mvpnotes.data.model.DatabaseModule.java
com.corneliudascalu.mvpnotes.data.model.Note.java
com.corneliudascalu.mvpnotes.data.model.SimpleDatabase.java
com.corneliudascalu.mvpnotes.ui.view.details.NoteDetailsDialogFragment.java
com.corneliudascalu.mvpnotes.ui.view.details.NoteDetailsModule.java
com.corneliudascalu.mvpnotes.ui.view.details.SimpleNoteDetailsPresenter.java
com.corneliudascalu.mvpnotes.ui.view.details.interfaces.NoteDetailsPresenter.java
com.corneliudascalu.mvpnotes.ui.view.details.interfaces.NoteDetailsView.java
com.corneliudascalu.mvpnotes.ui.view.main.NotesActivity.java
com.corneliudascalu.mvpnotes.ui.view.main.NotesModule.java
com.corneliudascalu.mvpnotes.ui.view.main.NotesPresenter.java
com.corneliudascalu.mvpnotes.ui.view.main.NotesView.java
com.corneliudascalu.mvpnotes.ui.view.main.OnNoteOperationListener.java
com.corneliudascalu.mvpnotes.ui.view.main.SimpleNotesPresenter.java
com.corneliudascalu.mvpnotes.util.DateTimeDeserializer.java
com.corneliudascalu.mvpnotes.util.DateTimeSerializer.java