// Path: app/src/main/java/com/team/zhuoke/masterhelper/base/BaseActivity.java
// public abstract class BaseActivity<M extends  BaseModel , P extends BasePresenter> extends RxAppCompatActivity  {
// 
// //    定义Presenter
//     protected  P mPresenter;
// 
// //    获取布局资源文件
//     protected  abstract  int getLayoutId();
// 
// //    初始化数据
// 
//     protected  abstract void onInitView(Bundle bundle);
// 
// //    初始化事件Event
// 
//     protected  abstract  void onEvent();
// 
//     //   获取抽取View对象
//     protected   abstract BaseView getView();
//     //    获得抽取接口Model对象
//     protected   Class getModelClazz()  {
//         return (Class<M>)ContractProxy.getModelClazz(getClass(), 0);
//     }
//     //    获得抽取接口Presenter对象
//     protected    Class getPresenterClazz()  {
//         return (Class<P>)ContractProxy.getPresnterClazz(getClass(), 1);
//     }
//     @Override
//     protected void onCreate(@Nullable Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         if(getLayoutId()!=0)
//         {
// //            设置布局资源文件
//              setContentView(getLayoutId());
//             bindMVP();
//             //        注解绑定
//             ButterKnife.bind(this);
//             onInitView(savedInstanceState);
//             onEvent();
//         }
//     }
// 
//     /**
//      *  获取presenter 实例
//      */
//     private  void bindMVP()
//     {
//           if(getPresenterClazz()!=null)
//           {
//                mPresenter=getPresenterImpl();
//                mPresenter.mContext=this;
//                bindVM();
//           }
//     }
//     private <T> T getPresenterImpl()
//     {
//         return ContractProxy.getInstance().presenter(getPresenterClazz());
//     }
//     @Override
//     protected void onStart() {
//         if(mPresenter==null)
//         {
//             bindMVP();
//         }
//         super.onStart();
//     }
//     private  void bindVM()
//     {
//         if(mPresenter!=null&&!mPresenter.isViewBind()&&getModelClazz()!=null&&getView()!=null)
//         {
//             ContractProxy.getInstance().bindModel(getModelClazz(),mPresenter);
//             ContractProxy.getInstance().bindView(getView(),mPresenter);
//             mPresenter.mContext=this;
//         }
//     }
// 
//     /**
//      *  activity摧毁
//      */
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//         if(mPresenter!=null)
//         {
//             ContractProxy.getInstance().unbindView(getView(),mPresenter);
//             ContractProxy.getInstance().unbindModel(getModelClazz(),mPresenter);
//         }
//     }
// }
// 
// Path: app/src/main/java/com/team/zhuoke/masterhelper/base/BaseView.java
// public interface BaseView<P> {
// 
// }
// 
// Path: app/src/main/java/com/team/zhuoke/masterhelper/model/test/TestModel.java
// public class TestModel implements TestContract.Model {
// 
//     @Override
//     public Observable<List<TestList>> testList(Context context) {
// 
//         return HttpUtils.getInstance(context)
//                 .getRetofitClinet()
//                 .builder(TestAPI2.class)
//                 .getTestList()
//                 .compose(new DefaultTransformer<>());
//     }
// 
// }
// 
// Path: app/src/main/java/com/team/zhuoke/masterhelper/model/test/TestView.java
// public interface TestView extends TestContract.View {
// 
// }
// 
// Path: app/src/main/java/com/team/zhuoke/masterhelper/presenter/test/imp/TestPresenter.java
// public class TestPresenter extends TestContract.Presenter {
// 
//     @Override
//     public void getTestList() {
//         addSubscribe(mModel.testList(mContext).subscribe(new RxSubscriber<List<TestList>>() {
//             @Override
//             public void onSuccess(List<TestList> testLists) {
//                 mView.setData(testLists.toString());
//             }
// 
//             @Override
//             protected void onError(ResponeThrowable ex) {
//                 super.onError(ex);
//                 mView.setErrorInfo(ex.message);
//             }
//         }));
//     }
// }


import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import com.team.zhuoke.masterhelper.R;
import com.team.zhuoke.masterhelper.base.BaseActivity;
import com.team.zhuoke.masterhelper.base.BaseView;
import com.team.zhuoke.masterhelper.model.test.TestModel;
import com.team.zhuoke.masterhelper.model.test.TestView;
import com.team.zhuoke.masterhelper.presenter.test.imp.TestPresenter;
import butterknife.BindView;
import butterknife.OnClick;
package com.team.zhuoke.masterhelper.view.test.activity;




/**
 * Created by WangQing on 2016/12/7.
 */

public class TestActivity2 extends BaseActivity<TestModel,TestPresenter> implements TestView {


    @BindView(R.id.edit_text)
    EditText editText;
    @BindView(R.id.btn_home)
    Button btnHome;

    @Override
    protected int getLayoutId() {
        return R.layout.activity_test2;
    }

    @Override
    protected void onInitView(Bundle bundle) {

    }

    @Override
    protected void onEvent() {

    }

    @Override
// Path: app/src/main/java/com/team/zhuoke/masterhelper/base/BaseActivity.java
// public abstract class BaseActivity<M extends  BaseModel , P extends BasePresenter> extends RxAppCompatActivity  {
// 
// //    定义Presenter
//     protected  P mPresenter;
// 
// //    获取布局资源文件
//     protected  abstract  int getLayoutId();
// 
// //    初始化数据
// 
//     protected  abstract void onInitView(Bundle bundle);
// 
// //    初始化事件Event
// 
//     protected  abstract  void onEvent();
// 
//     //   获取抽取View对象
//     protected   abstract BaseView getView();
//     //    获得抽取接口Model对象
//     protected   Class getModelClazz()  {
//         return (Class<M>)ContractProxy.getModelClazz(getClass(), 0);
//     }
//     //    获得抽取接口Presenter对象
//     protected    Class getPresenterClazz()  {
//         return (Class<P>)ContractProxy.getPresnterClazz(getClass(), 1);
//     }
//     @Override
//     protected void onCreate(@Nullable Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         if(getLayoutId()!=0)
//         {
// //            设置布局资源文件
//              setContentView(getLayoutId());
//             bindMVP();
//             //        注解绑定
//             ButterKnife.bind(this);
//             onInitView(savedInstanceState);
//             onEvent();
//         }
//     }
// 
//     /**
//      *  获取presenter 实例
//      */
//     private  void bindMVP()
//     {
//           if(getPresenterClazz()!=null)
//           {
//                mPresenter=getPresenterImpl();
//                mPresenter.mContext=this;
//                bindVM();
//           }
//     }
//     private <T> T getPresenterImpl()
//     {
//         return ContractProxy.getInstance().presenter(getPresenterClazz());
//     }
//     @Override
//     protected void onStart() {
//         if(mPresenter==null)
//         {
//             bindMVP();
//         }
//         super.onStart();
//     }
//     private  void bindVM()
//     {
//         if(mPresenter!=null&&!mPresenter.isViewBind()&&getModelClazz()!=null&&getView()!=null)
//         {
//             ContractProxy.getInstance().bindModel(getModelClazz(),mPresenter);
//             ContractProxy.getInstance().bindView(getView(),mPresenter);
//             mPresenter.mContext=this;
//         }
//     }
// 
//     /**
//      *  activity摧毁
//      */
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//         if(mPresenter!=null)
//         {
//             ContractProxy.getInstance().unbindView(getView(),mPresenter);
//             ContractProxy.getInstance().unbindModel(getModelClazz(),mPresenter);
//         }
//     }
// }
// 
// Path: app/src/main/java/com/team/zhuoke/masterhelper/base/BaseView.java
// public interface BaseView<P> {
// 
// }
// 
// Path: app/src/main/java/com/team/zhuoke/masterhelper/model/test/TestModel.java
// public class TestModel implements TestContract.Model {
// 
//     @Override
//     public Observable<List<TestList>> testList(Context context) {
// 
//         return HttpUtils.getInstance(context)
//                 .getRetofitClinet()
//                 .builder(TestAPI2.class)
//                 .getTestList()
//                 .compose(new DefaultTransformer<>());
//     }
// 
// }
// 
// Path: app/src/main/java/com/team/zhuoke/masterhelper/model/test/TestView.java
// public interface TestView extends TestContract.View {
// 
// }
// 
// Path: app/src/main/java/com/team/zhuoke/masterhelper/presenter/test/imp/TestPresenter.java
// public class TestPresenter extends TestContract.Presenter {
// 
//     @Override
//     public void getTestList() {
//         addSubscribe(mModel.testList(mContext).subscribe(new RxSubscriber<List<TestList>>() {
//             @Override
//             public void onSuccess(List<TestList> testLists) {
//                 mView.setData(testLists.toString());
//             }
// 
//             @Override
//             protected void onError(ResponeThrowable ex) {
//                 super.onError(ex);
//                 mView.setErrorInfo(ex.message);
//             }
//         }));
//     }
// }


// Path: app/src/main/java/com/team/zhuoke/masterhelper/view/test/activity/TestActivity2.java
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import com.team.zhuoke.masterhelper.R;
import com.team.zhuoke.masterhelper.base.BaseActivity;
import com.team.zhuoke.masterhelper.base.BaseView;
import com.team.zhuoke.masterhelper.model.test.TestModel;
import com.team.zhuoke.masterhelper.model.test.TestView;
import com.team.zhuoke.masterhelper.presenter.test.imp.TestPresenter;
import butterknife.BindView;
import butterknife.OnClick;

package com.team.zhuoke.masterhelper.view.test.activity;




/**
 * Created by WangQing on 2016/12/7.
 */

public class TestActivity2 extends BaseActivity<TestModel,TestPresenter> implements TestView {


    @BindView(R.id.edit_text)
    EditText editText;
    @BindView(R.id.btn_home)
    Button btnHome;

    @Override
    protected int getLayoutId() {
        return R.layout.activity_test2;
    }

    @Override
    protected void onInitView(Bundle bundle) {

    }

    @Override
    protected void onEvent() {

    }

    @Override
    protected BaseView getView() {