// Path: app/src/main/java/com/lqr/biliblili/di/module/RecommendModule.java
// @Module
// public class RecommendModule {
// 
//     private RecommendContract.View view;
// 
//     public RecommendModule(RecommendContract.View view) {
//         this.view = view;
//     }
// 
//     @FragmentScope
//     @Provides
//     public RecommendContract.View provideView() {
//         return view;
//     }
// 
//     @FragmentScope
//     @Provides
//     public RecommendContract.Model provideModel(RecommendModel model) {
//         return model;
//     }
// }
// 
// Path: app/src/main/java/com/lqr/biliblili/mvp/ui/fragment/main/home/RecommendFragment.java
// public class RecommendFragment extends MySupportFragment<RecommendPresenter> implements RecommendContract.View {
// 
//     private View mRootView;
// 
//     @BindView(R.id.refresh_layout)
//     SwipeRefreshLayout mRefreshLayout;
//     @BindView(R.id.recyclerview)
//     RecyclerView mRecyclerView;
// 
//     public static RecommendFragment newInstance() {
//         return new RecommendFragment();
//     }
// 
//     @Override
//     public void setupFragmentComponent(AppComponent appComponent) {
//         DaggerRecommendComponent
//                 .builder()
//                 .recommendModule(new RecommendModule(this))
//                 .appComponent(appComponent)
//                 .build()
//                 .inject(this);
//     }
// 
//     @Override
//     public View initView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//         if (mRootView == null)
//             mRootView = inflater.inflate(R.layout.fragment_recommend_main_home, container, false);
//         return mRootView;
//     }
// 
//     @Override
//     public void initData(Bundle savedInstanceState) {
//         initRefreshLayout();
//     }
// 
//     @Override
//     public void setData(Object data) {
// 
//     }
// 
//     @Override
//     public void onLazyInitView(@Nullable Bundle savedInstanceState) {
//         super.onLazyInitView(savedInstanceState);
//         mPresenter.loadData(0, false, true);
//     }
// 
//     @Override
//     public void showLoading() {
//         mRefreshLayout.setRefreshing(true);
//     }
// 
//     @Override
//     public void hideLoading() {
//         mRefreshLayout.setRefreshing(false);
//     }
// 
//     @Override
//     public void showMessage(String message) {
// 
//     }
// 
//     @Override
//     public void launchActivity(Intent intent) {
// 
//     }
// 
//     @Override
//     public void killMyself() {
// 
//     }
// 
//     private void initRefreshLayout() {
//         mRefreshLayout.setColorSchemeColors(ArmsUtils.getColor(_mActivity, R.color.colorPrimary));
//         mRefreshLayout.setOnRefreshListener(() -> mPresenter.loadData(mPresenter.getIdx(true), true, false));
//     }
// 
//     @Override
//     public void setRecyclerAdapter(RecommendMultiItemAdapter adapter) {
//         GridLayoutManager gridLayoutManager = new GridLayoutManager(_mActivity, 2);
//         mRecyclerView.setLayoutManager(gridLayoutManager);
//         mRecyclerView.setAdapter(adapter);
//         gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
//             @Override
//             public int getSpanSize(int position) {
//                 // 上拉加载更多视图
//                 if (position == adapter.getData().size()) {
//                     return 2;
//                 }
//                 return adapter.getData().get(position).getSpanSize();
//             }
//         });
//     }
// 
//     @Override
//     public void recyclerScrollToPosition(int position) {
//         mRecyclerView.scrollToPosition(position);
//     }
// }


import com.jess.arms.di.component.AppComponent;
import com.jess.arms.di.scope.FragmentScope;
import com.lqr.biliblili.di.module.RecommendModule;
import com.lqr.biliblili.mvp.ui.fragment.main.home.RecommendFragment;
import dagger.Component;
package com.lqr.biliblili.di.component;



@FragmentScope
@Component(modules = RecommendModule.class, dependencies = AppComponent.class)
public interface RecommendComponent {
// Path: app/src/main/java/com/lqr/biliblili/di/module/RecommendModule.java
// @Module
// public class RecommendModule {
// 
//     private RecommendContract.View view;
// 
//     public RecommendModule(RecommendContract.View view) {
//         this.view = view;
//     }
// 
//     @FragmentScope
//     @Provides
//     public RecommendContract.View provideView() {
//         return view;
//     }
// 
//     @FragmentScope
//     @Provides
//     public RecommendContract.Model provideModel(RecommendModel model) {
//         return model;
//     }
// }
// 
// Path: app/src/main/java/com/lqr/biliblili/mvp/ui/fragment/main/home/RecommendFragment.java
// public class RecommendFragment extends MySupportFragment<RecommendPresenter> implements RecommendContract.View {
// 
//     private View mRootView;
// 
//     @BindView(R.id.refresh_layout)
//     SwipeRefreshLayout mRefreshLayout;
//     @BindView(R.id.recyclerview)
//     RecyclerView mRecyclerView;
// 
//     public static RecommendFragment newInstance() {
//         return new RecommendFragment();
//     }
// 
//     @Override
//     public void setupFragmentComponent(AppComponent appComponent) {
//         DaggerRecommendComponent
//                 .builder()
//                 .recommendModule(new RecommendModule(this))
//                 .appComponent(appComponent)
//                 .build()
//                 .inject(this);
//     }
// 
//     @Override
//     public View initView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//         if (mRootView == null)
//             mRootView = inflater.inflate(R.layout.fragment_recommend_main_home, container, false);
//         return mRootView;
//     }
// 
//     @Override
//     public void initData(Bundle savedInstanceState) {
//         initRefreshLayout();
//     }
// 
//     @Override
//     public void setData(Object data) {
// 
//     }
// 
//     @Override
//     public void onLazyInitView(@Nullable Bundle savedInstanceState) {
//         super.onLazyInitView(savedInstanceState);
//         mPresenter.loadData(0, false, true);
//     }
// 
//     @Override
//     public void showLoading() {
//         mRefreshLayout.setRefreshing(true);
//     }
// 
//     @Override
//     public void hideLoading() {
//         mRefreshLayout.setRefreshing(false);
//     }
// 
//     @Override
//     public void showMessage(String message) {
// 
//     }
// 
//     @Override
//     public void launchActivity(Intent intent) {
// 
//     }
// 
//     @Override
//     public void killMyself() {
// 
//     }
// 
//     private void initRefreshLayout() {
//         mRefreshLayout.setColorSchemeColors(ArmsUtils.getColor(_mActivity, R.color.colorPrimary));
//         mRefreshLayout.setOnRefreshListener(() -> mPresenter.loadData(mPresenter.getIdx(true), true, false));
//     }
// 
//     @Override
//     public void setRecyclerAdapter(RecommendMultiItemAdapter adapter) {
//         GridLayoutManager gridLayoutManager = new GridLayoutManager(_mActivity, 2);
//         mRecyclerView.setLayoutManager(gridLayoutManager);
//         mRecyclerView.setAdapter(adapter);
//         gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
//             @Override
//             public int getSpanSize(int position) {
//                 // 上拉加载更多视图
//                 if (position == adapter.getData().size()) {
//                     return 2;
//                 }
//                 return adapter.getData().get(position).getSpanSize();
//             }
//         });
//     }
// 
//     @Override
//     public void recyclerScrollToPosition(int position) {
//         mRecyclerView.scrollToPosition(position);
//     }
// }


// Path: app/src/main/java/com/lqr/biliblili/di/component/RecommendComponent.java
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.di.scope.FragmentScope;
import com.lqr.biliblili.di.module.RecommendModule;
import com.lqr.biliblili.mvp.ui.fragment.main.home.RecommendFragment;
import dagger.Component;

package com.lqr.biliblili.di.component;



@FragmentScope
@Component(modules = RecommendModule.class, dependencies = AppComponent.class)
public interface RecommendComponent {
    void inject(RecommendFragment fragment);