// Path: app/src/main/java/com/jonathanpetitfrere/mvvm/MvvmApplication.java
// public class MvvmApplication extends Application {
// 
//     protected AppGraph component;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         if (LeakCanary.isInAnalyzerProcess(this)) {
//             // This process is dedicated to LeakCanary for heap analysis.
//             // You should not init your app in this process.
//             return;
//         }
// 
//         LeakCanary.install(this);
//         Stetho.initializeWithDefaults(this);
// 
//         if(BuildConfig.DEBUG) {
//             Timber.plant(new Timber.DebugTree());
//             Timber.plant(new StethoTree());
//         }
// 
//         component = DaggerApplicationComponent.builder()
//                 .applicationModule(new ApplicationModule(this))
//                 .build();
// 
//         component.inject(this);
//     }
// 
//     public AppGraph getComponent() {
//         return component;
//     }
// }


import android.app.Application;
import android.arch.lifecycle.AndroidViewModel;
import com.jonathanpetitfrere.mvvm.MvvmApplication;
package com.jonathanpetitfrere.mvvm.ui.base;



/**
 * @author jpetit
 */

public abstract class BaseAndroidViewModel extends AndroidViewModel {

    public BaseAndroidViewModel(Application application) {
        super(application);
    }

// Path: app/src/main/java/com/jonathanpetitfrere/mvvm/MvvmApplication.java
// public class MvvmApplication extends Application {
// 
//     protected AppGraph component;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         if (LeakCanary.isInAnalyzerProcess(this)) {
//             // This process is dedicated to LeakCanary for heap analysis.
//             // You should not init your app in this process.
//             return;
//         }
// 
//         LeakCanary.install(this);
//         Stetho.initializeWithDefaults(this);
// 
//         if(BuildConfig.DEBUG) {
//             Timber.plant(new Timber.DebugTree());
//             Timber.plant(new StethoTree());
//         }
// 
//         component = DaggerApplicationComponent.builder()
//                 .applicationModule(new ApplicationModule(this))
//                 .build();
// 
//         component.inject(this);
//     }
// 
//     public AppGraph getComponent() {
//         return component;
//     }
// }


// Path: app/src/main/java/com/jonathanpetitfrere/mvvm/ui/base/BaseAndroidViewModel.java
import android.app.Application;
import android.arch.lifecycle.AndroidViewModel;
import com.jonathanpetitfrere.mvvm.MvvmApplication;

package com.jonathanpetitfrere.mvvm.ui.base;



/**
 * @author jpetit
 */

public abstract class BaseAndroidViewModel extends AndroidViewModel {

    public BaseAndroidViewModel(Application application) {
        super(application);
    }

    protected MvvmApplication getMvvmApplication() {