// Path: app/src/main/java/com/thoughtworks/startup/data/model/SignInResponse.java
// public class SignInResponse {
// 
//     private Integer code;
//     private String msg;
// 
//     public Integer getCode() {
//         return code;
//     }
// 
//     public void setCode(Integer code) {
//         this.code = code;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public void setMsg(String msg) {
//         this.msg = msg;
//     }
// 
// }
// 
// Path: app/src/main/java/com/thoughtworks/startup/data/remote/SignInService.java
// public interface SignInService {
//     
//     String ENDPOINT = "http://10.29.2.74:3000"; // 10.29.2.74
// 
//     int SUCCESS_CODE = 0;
// 
//     @FormUrlEncoded
//     @POST("/login")
//     Observable<SignInResponse> signIn(@Field("email") String email, @Field("password") String password);
// 
//     class Creator {
// 
//         public static SignInService newSignInService() {
//             Retrofit retrofit = new Retrofit.Builder()
//                     .baseUrl(ENDPOINT)
//                     .addConverterFactory(GsonConverterFactory.create())
//                     .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//                     .build();
//             return retrofit.create(SignInService.class);
//         }
//     }
// }


import com.thoughtworks.startup.data.model.SignInResponse;
import com.thoughtworks.startup.data.remote.SignInService;
import javax.inject.Inject;
import rx.Subscriber;
import static rx.android.schedulers.AndroidSchedulers.mainThread;
import static rx.schedulers.Schedulers.io;
package com.thoughtworks.startup.ui.signin;





public class SignInInteractor {

    private SignInService signInService;

    public interface Callback {
        void onSignInSuccessful();

        void onSignInFailed(String error);
    }

    @Inject
// Path: app/src/main/java/com/thoughtworks/startup/data/model/SignInResponse.java
// public class SignInResponse {
// 
//     private Integer code;
//     private String msg;
// 
//     public Integer getCode() {
//         return code;
//     }
// 
//     public void setCode(Integer code) {
//         this.code = code;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public void setMsg(String msg) {
//         this.msg = msg;
//     }
// 
// }
// 
// Path: app/src/main/java/com/thoughtworks/startup/data/remote/SignInService.java
// public interface SignInService {
//     
//     String ENDPOINT = "http://10.29.2.74:3000"; // 10.29.2.74
// 
//     int SUCCESS_CODE = 0;
// 
//     @FormUrlEncoded
//     @POST("/login")
//     Observable<SignInResponse> signIn(@Field("email") String email, @Field("password") String password);
// 
//     class Creator {
// 
//         public static SignInService newSignInService() {
//             Retrofit retrofit = new Retrofit.Builder()
//                     .baseUrl(ENDPOINT)
//                     .addConverterFactory(GsonConverterFactory.create())
//                     .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//                     .build();
//             return retrofit.create(SignInService.class);
//         }
//     }
// }


// Path: app/src/main/java/com/thoughtworks/startup/ui/signin/SignInInteractor.java
import com.thoughtworks.startup.data.model.SignInResponse;
import com.thoughtworks.startup.data.remote.SignInService;
import javax.inject.Inject;
import rx.Subscriber;
import static rx.android.schedulers.AndroidSchedulers.mainThread;
import static rx.schedulers.Schedulers.io;

package com.thoughtworks.startup.ui.signin;





public class SignInInteractor {

    private SignInService signInService;

    public interface Callback {
        void onSignInSuccessful();

        void onSignInFailed(String error);
    }

    @Inject
    public SignInInteractor(SignInService signInService) {