// Path: presentation/src/main/java/presentation/internal/di/ApplicationComponent.java
// @Singleton @Component(modules = {DomainPresentationModule.class, DataPresentationModule.class, ApplicationModule.class})
// public interface ApplicationComponent {
//     void inject(LaunchActivity launchActivity);
// 
//     void inject(DashBoardActivity dashBoardActivity);
//     void inject(UserFragment userFragment);
//     void inject(UsersFragment usersFragment);
//     void inject(SearchUserFragment searchUserFragment);
// }
// 
// Path: presentation/src/main/java/presentation/internal/di/ApplicationModule.java
// @Module(includes = DataModule.class) public class ApplicationModule {
//     private final BaseApp baseApp;
// 
//     public ApplicationModule(BaseApp baseApp) {
//         this.baseApp = baseApp;
//     }
// 
//     @Provides @Singleton BaseApp provideApplication() {
//         return baseApp;
//     }
// 
// }


import android.app.Application;
import android.support.annotation.Nullable;
import presentation.internal.di.ApplicationComponent;
import presentation.internal.di.ApplicationModule;
import presentation.internal.di.DaggerApplicationComponent;
/*
 * Copyright 2015 RefineriaWeb
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package presentation.foundation;



/**
 * Custom Application
 */
public class BaseApp extends Application {
    private ApplicationComponent applicationComponent;

    @Override public void onCreate() {
        super.onCreate();
        initInject();
        AppCare.YesSir.takeCareOn(this);
    }

    private void initInject() {
        applicationComponent = DaggerApplicationComponent.builder()
// Path: presentation/src/main/java/presentation/internal/di/ApplicationComponent.java
// @Singleton @Component(modules = {DomainPresentationModule.class, DataPresentationModule.class, ApplicationModule.class})
// public interface ApplicationComponent {
//     void inject(LaunchActivity launchActivity);
// 
//     void inject(DashBoardActivity dashBoardActivity);
//     void inject(UserFragment userFragment);
//     void inject(UsersFragment usersFragment);
//     void inject(SearchUserFragment searchUserFragment);
// }
// 
// Path: presentation/src/main/java/presentation/internal/di/ApplicationModule.java
// @Module(includes = DataModule.class) public class ApplicationModule {
//     private final BaseApp baseApp;
// 
//     public ApplicationModule(BaseApp baseApp) {
//         this.baseApp = baseApp;
//     }
// 
//     @Provides @Singleton BaseApp provideApplication() {
//         return baseApp;
//     }
// 
// }


// Path: presentation/src/main/java/presentation/foundation/BaseApp.java
import android.app.Application;
import android.support.annotation.Nullable;
import presentation.internal.di.ApplicationComponent;
import presentation.internal.di.ApplicationModule;
import presentation.internal.di.DaggerApplicationComponent;

/*
 * Copyright 2015 RefineriaWeb
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package presentation.foundation;



/**
 * Custom Application
 */
public class BaseApp extends Application {
    private ApplicationComponent applicationComponent;

    @Override public void onCreate() {
        super.onCreate();
        initInject();
        AppCare.YesSir.takeCareOn(this);
    }

    private void initInject() {
        applicationComponent = DaggerApplicationComponent.builder()
                .applicationModule(new ApplicationModule(this))