nl-6 ol-6">
* Created by chengzhenyu on 2016/8/11.
*/
-public class LoginPresenter implements LoginContract.Presenter {
+public class LoginPresenter implements LoginContract.Presenter,BaseInteractor.InteractorListener<String> {
private LoginContract.View view;
+ private LoginInteractor interactor;
public LoginPresenter(LoginContract.View view){
this.view = view;
@@ -14,7 +17,8 @@ public class LoginPresenter implements LoginContract.Presenter {
@Override
public void login(String userName, String pwd) {
view.showProgressView();
-
+ interactor = new LoginInteractor(userName,pwd,this);
+ interactor.startJob();
}
@Override
@@ -24,7 +28,20 @@ public class LoginPresenter implements LoginContract.Presenter {
@Override
public void stop() {
+ if(interactor!=null){
+ interactor.cancelJob();
+ }
+ }
+
+ @Override
+ public void onInteractSuccess(String result) {
+ view.hideProgressView();
}
+ @Override
+ public void onInteractFail(String errorMsg) {
+ view.hideProgressView();
+ view.showLoginHint(errorMsg);
+ }
}
@@ -0,0 +1,53 @@ |
||
| 1 |
+package ai.pai.lensman.utils; |
|
| 2 |
+ |
|
| 3 |
+import android.os.AsyncTask; |
|
| 4 |
+ |
|
| 5 |
+import com.android.common.http.HttpUtils; |
|
| 6 |
+ |
|
| 7 |
+import java.util.HashMap; |
|
| 8 |
+ |
|
| 9 |
+import ai.pai.lensman.BuildConfig; |
|
| 10 |
+ |
|
| 11 |
+ |
|
| 12 |
+public class HttpPostTask extends AsyncTask<String,Integer,Boolean> {
|
|
| 13 |
+ |
|
| 14 |
+ |
|
| 15 |
+ private HashMap<String,String> httpParams; |
|
| 16 |
+ |
|
| 17 |
+ public HttpPostTask(HashMap<String,String> httpParams){
|
|
| 18 |
+ this.httpParams = httpParams; |
|
| 19 |
+ } |
|
| 20 |
+ |
|
| 21 |
+ @Override |
|
| 22 |
+ protected Boolean doInBackground(String... params) {
|
|
| 23 |
+ String rootUrl = params[0]; |
|
| 24 |
+ if(rootUrl.contains("?")){
|
|
| 25 |
+ rootUrl+="&platform=android"; |
|
| 26 |
+ }else{
|
|
| 27 |
+ rootUrl+="?platform=android"; |
|
| 28 |
+ } |
|
| 29 |
+ rootUrl+="&version="+ BuildConfig.VERSION_NAME; |
|
| 30 |
+ rootUrl+="&channel="+"guanwang"; |
|
| 31 |
+ String response= HttpUtils.doHttpPost(rootUrl,httpParams); |
|
| 32 |
+ return parseResponse(response); |
|
| 33 |
+ } |
|
| 34 |
+ |
|
| 35 |
+ @Override |
|
| 36 |
+ protected void onPostExecute(Boolean result) {
|
|
| 37 |
+ super.onPostExecute(result); |
|
| 38 |
+ if(result){
|
|
| 39 |
+ onPostSuccess(); |
|
| 40 |
+ }else{
|
|
| 41 |
+ onPostFail(); |
|
| 42 |
+ } |
|
| 43 |
+ } |
|
| 44 |
+ |
|
| 45 |
+ protected boolean parseResponse(String response){return true;}
|
|
| 46 |
+ |
|
| 47 |
+ protected void onPostFail(){ }
|
|
| 48 |
+ |
|
| 49 |
+ protected void onPostSuccess(){ }
|
|
| 50 |
+ |
|
| 51 |
+ |
|
| 52 |
+ |
|
| 53 |
+} |