// Path: app/src/main/java/com/lqr/biliblili/mvp/contract/MainContract.java
// public interface MainContract {
//     //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
//     interface View extends IView {
// 
//     }
// 
//     //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
//     interface Model extends IModel {
// 
//     }
// }
// 
// Path: app/src/main/java/com/lqr/biliblili/mvp/model/MainModel.java
// @ActivityScope
// public class MainModel extends BaseModel implements MainContract.Model {
//     private Gson mGson;
//     private Application mApplication;
// 
//     @Inject
//     public MainModel(IRepositoryManager repositoryManager, Gson gson, Application application) {
//         super(repositoryManager);
//         this.mGson = gson;
//         this.mApplication = application;
//     }
// 
//     @Override
//     public void onDestroy() {
//         super.onDestroy();
//         this.mGson = null;
//         this.mApplication = null;
//     }
// 
// }


import com.jess.arms.di.scope.ActivityScope;
import com.lqr.biliblili.mvp.contract.MainContract;
import com.lqr.biliblili.mvp.model.MainModel;
import dagger.Module;
import dagger.Provides;
package com.lqr.biliblili.di.module;




@Module
public class MainModule {
    private MainContract.View view;

    /**
     * 构建MainModule时,将View的实现类传进来,这样就可以提供View的实现类给presenter
     *
     * @param view
     */
    public MainModule(MainContract.View view) {
        this.view = view;
    }

    @ActivityScope
    @Provides
// Path: app/src/main/java/com/lqr/biliblili/mvp/contract/MainContract.java
// public interface MainContract {
//     //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
//     interface View extends IView {
// 
//     }
// 
//     //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
//     interface Model extends IModel {
// 
//     }
// }
// 
// Path: app/src/main/java/com/lqr/biliblili/mvp/model/MainModel.java
// @ActivityScope
// public class MainModel extends BaseModel implements MainContract.Model {
//     private Gson mGson;
//     private Application mApplication;
// 
//     @Inject
//     public MainModel(IRepositoryManager repositoryManager, Gson gson, Application application) {
//         super(repositoryManager);
//         this.mGson = gson;
//         this.mApplication = application;
//     }
// 
//     @Override
//     public void onDestroy() {
//         super.onDestroy();
//         this.mGson = null;
//         this.mApplication = null;
//     }
// 
// }


// Path: app/src/main/java/com/lqr/biliblili/di/module/MainModule.java
import com.jess.arms.di.scope.ActivityScope;
import com.lqr.biliblili.mvp.contract.MainContract;
import com.lqr.biliblili.mvp.model.MainModel;
import dagger.Module;
import dagger.Provides;

package com.lqr.biliblili.di.module;




@Module
public class MainModule {
    private MainContract.View view;

    /**
     * 构建MainModule时,将View的实现类传进来,这样就可以提供View的实现类给presenter
     *
     * @param view
     */
    public MainModule(MainContract.View view) {
        this.view = view;
    }

    @ActivityScope
    @Provides
    MainContract.View provideMainView() {