LoginModel.java 1.85 KB
package com.huaheng.wms.model;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;

import com.huaheng.wms.R;
import com.huaheng.wms.contract.LoginContract;
import com.huaheng.wms.https.HttpInterface;
import com.huaheng.wms.https.Subscribers.ProgressSubscriber;
import com.huaheng.wms.https.Subscribers.SubscriberOnNextListener;
import com.huaheng.wms.work.login.UserBean;
import com.huaheng.wms.presenter.LoginPresenter;
import com.huaheng.wms.util.Constant;

import java.util.ArrayList;

public class LoginModel implements LoginContract.Model {

    private Context mContext;
    private LoginPresenter mLoginPresenter;
    @Override
    public void login(Context context, String userName, String password, LoginPresenter loginPresenter) {
        mContext = context;
        mLoginPresenter = loginPresenter;
        if (TextUtils.isEmpty(userName)) {
            loginPresenter.onError(mContext.getString(R.string.enter_username));
            loginPresenter.onCommon(Constant.USER_REQUEST_FOCUS);
            return;
        }

        if (TextUtils.isEmpty(password)) {
            loginPresenter.onError(mContext.getString(R.string.enter_password));
            loginPresenter.onCommon(Constant.PASSWORD_REQUEST_FOCUS);
            return;
        }
        HttpInterface.getInsstance().reset();
        HttpInterface.getInsstance().login(new ProgressSubscriber<ArrayList<UserBean>>(context, loginListener), userName, password);
    }

    SubscriberOnNextListener loginListener = new SubscriberOnNextListener<ArrayList<UserBean>>() {
        @Override
        public void onNext(ArrayList<UserBean> userBean) {
            mLoginPresenter.onSuccess(userBean);
        }

        @Override
        public void onError(String str) {
            mLoginPresenter.onCommon(Constant.CLEAR_PASSOWRD);
        }
    };

}