// Path: TigerVideo/src/main/java/cn/ittiger/video/fragment/BaseFragment.java
// public abstract class BaseFragment<CV extends View, M, V extends MvpLceView<M>, P extends MvpPresenter<V>>
//         extends MvpLceFragment<CV, M, V, P> implements NameFragment {
// 
//     protected Context mContext;
//     private boolean mIsInited = false;
// 
//     @Override
//     public void onAttach(Context context) {
// 
//         super.onAttach(context);
//         mContext = context;
//     }
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// 
//         ViewGroup view = (ViewGroup) inflater.inflate(R.layout.base_fragment_layout, container, false);
// 
//         view.addView(getContentView(inflater, savedInstanceState));
// 
//         return view;
//     }
// 
//     @Override
//     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
// 
//         super.onViewCreated(view, savedInstanceState);
//         showLoading(false);
//         if(isInitRefreshEnable() && isDelayRefreshEnable() == false) {
//             loadData(false);
//         }
//     }
// 
//     @Override
//     public void setUserVisibleHint(boolean isVisibleToUser) {
// 
//         super.setUserVisibleHint(isVisibleToUser);
//         if(isVisibleToUser && isInitRefreshEnable() == false && isDelayRefreshEnable() && mIsInited == false) {
//             mIsInited = true;
//             refreshData(false);
//         }
//     }
// 
//     private void refreshData(final boolean pullToRefresh) {
// 
//         if(presenter != null) {
//             loadData(pullToRefresh);
//         } else {
//             Observable.timer(50, TimeUnit.MILLISECONDS)
//                     .observeOn(AndroidSchedulers.mainThread())
//                     .subscribe(new Action1<Long>() {
//                         @Override
//                         public void call(Long aLong) {
//                             refreshData(pullToRefresh);
//                         }
//                     });
//         }
//     }
// 
//     /**
//      * Fragment数据视图
//      * @param inflater
//      * @param savedInstanceState
//      * @return
//      */
//     public abstract View getContentView(LayoutInflater inflater, @Nullable Bundle savedInstanceState);
// 
//     public boolean isInitRefreshEnable() {
// 
//         return true;
//     }
// 
//     public boolean isDelayRefreshEnable() {
// 
//         return false;
//     }
// 
//     @Override
//     protected String getErrorMessage(Throwable e, boolean pullToRefresh) {
// 
//         return getActivity().getString(R.string.load_failed);
//     }
// 
//     @Override
//     public void showLoading(boolean pullToRefresh) {
// 
//         super.showLoading(pullToRefresh);
//         if(!pullToRefresh) {
//             ((LoadingView)loadingView).start();
//         }
//     }
// 
//     @Override
//     public void showContent() {
// 
//         super.showContent();
//         ((LoadingView)loadingView).stop();
//     }
// 
//     @Override
//     public void showError(Throwable e, boolean pullToRefresh) {
// 
//         super.showError(e, pullToRefresh);
//         if(!pullToRefresh) {
//             ((LoadingView)loadingView).stop();
//         }
//     }
// 
//     @Override
//     public void onDestroyView() {
// 
//         super.onDestroyView();
//         presenter = null;
//         mIsInited = false;
//     }
// }
// 
// Path: TigerVideo/src/main/java/cn/ittiger/video/fragment/NetEasyVideoFragment.java
// public class NetEasyVideoFragment extends VideoFragment {
// 
//     @Override
//     public VideoPresenter createPresenter() {
// 
//         return new NetEasyVideoPresenter();
//     }
// 
//     @Override
//     public int getName() {
// 
//         return R.string.net_easy_video;
//     }
// }
// 
// Path: TigerVideo/src/main/java/cn/ittiger/video/fragment/TtKbVideoFragment.java
// public class TtKbVideoFragment extends VideoFragment {
// 
//     @Override
//     public VideoPresenter createPresenter() {
// 
//         return new TtKbVideoPresenter();
//     }
// 
//     @Override
//     public int getName() {
// 
//         return R.string.ttkb_video;
//     }
// }
// 
// Path: TigerVideo/src/main/java/cn/ittiger/video/http/DataType.java
// public enum DataType {
// 
//     NET_EASY(1),
//     WU5LI(2),
//     TTKB(3),
//     IFENG(4);
// 
//     int mValue;
// 
//     DataType(int value) {
// 
//         mValue = value;
//     }
// 
//     public int value() {
// 
//         return mValue;
//     }
// }


import cn.ittiger.video.fragment.BaseFragment;
import cn.ittiger.video.bean.VideoTabData;
import cn.ittiger.video.fragment.IFengTabFragment;
import cn.ittiger.video.fragment.IFengVideoFragment;
import cn.ittiger.video.fragment.NetEasyVideoFragment;
import cn.ittiger.video.fragment.TtKbVideoFragment;
import cn.ittiger.video.http.DataType;
import android.os.Bundle;
package cn.ittiger.video.factory;



/**
 * @author laohu
 * @site http://ittiger.cn
 */
public class FragmentFactory {
    public static final String KEY_BUNDLE_TAB_ID = "tab_id";

    public static final BaseFragment createMainFragment(DataType type) {

        BaseFragment fragment = null;
        switch (type) {
            case NET_EASY:
                fragment = new NetEasyVideoFragment();
                break;
            case TTKB:
                fragment = new TtKbVideoFragment();
                break;
            case IFENG:
                fragment = new IFengTabFragment();
                break;
        }
        return fragment;
    }

// Path: TigerVideo/src/main/java/cn/ittiger/video/fragment/BaseFragment.java
// public abstract class BaseFragment<CV extends View, M, V extends MvpLceView<M>, P extends MvpPresenter<V>>
//         extends MvpLceFragment<CV, M, V, P> implements NameFragment {
// 
//     protected Context mContext;
//     private boolean mIsInited = false;
// 
//     @Override
//     public void onAttach(Context context) {
// 
//         super.onAttach(context);
//         mContext = context;
//     }
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// 
//         ViewGroup view = (ViewGroup) inflater.inflate(R.layout.base_fragment_layout, container, false);
// 
//         view.addView(getContentView(inflater, savedInstanceState));
// 
//         return view;
//     }
// 
//     @Override
//     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
// 
//         super.onViewCreated(view, savedInstanceState);
//         showLoading(false);
//         if(isInitRefreshEnable() && isDelayRefreshEnable() == false) {
//             loadData(false);
//         }
//     }
// 
//     @Override
//     public void setUserVisibleHint(boolean isVisibleToUser) {
// 
//         super.setUserVisibleHint(isVisibleToUser);
//         if(isVisibleToUser && isInitRefreshEnable() == false && isDelayRefreshEnable() && mIsInited == false) {
//             mIsInited = true;
//             refreshData(false);
//         }
//     }
// 
//     private void refreshData(final boolean pullToRefresh) {
// 
//         if(presenter != null) {
//             loadData(pullToRefresh);
//         } else {
//             Observable.timer(50, TimeUnit.MILLISECONDS)
//                     .observeOn(AndroidSchedulers.mainThread())
//                     .subscribe(new Action1<Long>() {
//                         @Override
//                         public void call(Long aLong) {
//                             refreshData(pullToRefresh);
//                         }
//                     });
//         }
//     }
// 
//     /**
//      * Fragment数据视图
//      * @param inflater
//      * @param savedInstanceState
//      * @return
//      */
//     public abstract View getContentView(LayoutInflater inflater, @Nullable Bundle savedInstanceState);
// 
//     public boolean isInitRefreshEnable() {
// 
//         return true;
//     }
// 
//     public boolean isDelayRefreshEnable() {
// 
//         return false;
//     }
// 
//     @Override
//     protected String getErrorMessage(Throwable e, boolean pullToRefresh) {
// 
//         return getActivity().getString(R.string.load_failed);
//     }
// 
//     @Override
//     public void showLoading(boolean pullToRefresh) {
// 
//         super.showLoading(pullToRefresh);
//         if(!pullToRefresh) {
//             ((LoadingView)loadingView).start();
//         }
//     }
// 
//     @Override
//     public void showContent() {
// 
//         super.showContent();
//         ((LoadingView)loadingView).stop();
//     }
// 
//     @Override
//     public void showError(Throwable e, boolean pullToRefresh) {
// 
//         super.showError(e, pullToRefresh);
//         if(!pullToRefresh) {
//             ((LoadingView)loadingView).stop();
//         }
//     }
// 
//     @Override
//     public void onDestroyView() {
// 
//         super.onDestroyView();
//         presenter = null;
//         mIsInited = false;
//     }
// }
// 
// Path: TigerVideo/src/main/java/cn/ittiger/video/fragment/NetEasyVideoFragment.java
// public class NetEasyVideoFragment extends VideoFragment {
// 
//     @Override
//     public VideoPresenter createPresenter() {
// 
//         return new NetEasyVideoPresenter();
//     }
// 
//     @Override
//     public int getName() {
// 
//         return R.string.net_easy_video;
//     }
// }
// 
// Path: TigerVideo/src/main/java/cn/ittiger/video/fragment/TtKbVideoFragment.java
// public class TtKbVideoFragment extends VideoFragment {
// 
//     @Override
//     public VideoPresenter createPresenter() {
// 
//         return new TtKbVideoPresenter();
//     }
// 
//     @Override
//     public int getName() {
// 
//         return R.string.ttkb_video;
//     }
// }
// 
// Path: TigerVideo/src/main/java/cn/ittiger/video/http/DataType.java
// public enum DataType {
// 
//     NET_EASY(1),
//     WU5LI(2),
//     TTKB(3),
//     IFENG(4);
// 
//     int mValue;
// 
//     DataType(int value) {
// 
//         mValue = value;
//     }
// 
//     public int value() {
// 
//         return mValue;
//     }
// }


// Path: TigerVideo/src/main/java/cn/ittiger/video/factory/FragmentFactory.java
import cn.ittiger.video.fragment.BaseFragment;
import cn.ittiger.video.bean.VideoTabData;
import cn.ittiger.video.fragment.IFengTabFragment;
import cn.ittiger.video.fragment.IFengVideoFragment;
import cn.ittiger.video.fragment.NetEasyVideoFragment;
import cn.ittiger.video.fragment.TtKbVideoFragment;
import cn.ittiger.video.http.DataType;
import android.os.Bundle;

package cn.ittiger.video.factory;



/**
 * @author laohu
 * @site http://ittiger.cn
 */
public class FragmentFactory {
    public static final String KEY_BUNDLE_TAB_ID = "tab_id";

    public static final BaseFragment createMainFragment(DataType type) {

        BaseFragment fragment = null;
        switch (type) {
            case NET_EASY:
                fragment = new NetEasyVideoFragment();
                break;
            case TTKB:
                fragment = new TtKbVideoFragment();
                break;
            case IFENG:
                fragment = new IFengTabFragment();
                break;
        }
        return fragment;
    }

    public static final BaseFragment createTabItemFragment(DataType type, VideoTabData tabItem) {