InputConfirmCodeActivity.java 4.34 KB
package com.dinhcv.lifelogpedometer.activity;

import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;

import com.dinhcv.lifelogpedometer.R;
import com.dinhcv.lifelogpedometer.interfaces.LLAPIManagerListener;
import com.dinhcv.lifelogpedometer.model.Shareprefer.Setting;
import com.dinhcv.lifelogpedometer.portal.LLAPIManager;
import com.dinhcv.lifelogpedometer.utils.Const;
import com.dinhcv.lifelogpedometer.utils.Debug;

import org.json.JSONObject;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class InputConfirmCodeActivity extends ActivityBase {

    @BindView(R.id.edt_confirmCode)
    TextView edtConfirmCode;
    @BindView(R.id.btn_confirm)
    Button btnConfirm;

    private ProgressDialog progressDialog;
    private String mEmail;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_input_confirm_code);
        ButterKnife.bind(this);
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
        Intent intent = getIntent();
        if (intent != null) {
            mEmail = intent.getStringExtra(Const.EMAIL);
            Debug.normal("Email request: "+mEmail);
            if(mEmail == null){
                Debug.error("Email is null");
                return;
            }
        }else {
            Debug.error("Email is null");
            return;
        }

    }

    private void handleGetNewPass(String code){
        progressDialog = new ProgressDialog(InputConfirmCodeActivity.this);
        progressDialog.setMessage(getResources().getString(R.string.waite_some_minute));
        progressDialog.setCancelable(false);
        progressDialog.show();

        LLAPIManager.forgetPassConfirm(mEmail, code, new LLAPIManagerListener() {
            @Override
            public void onError(Error error) {
                progressDialog.dismiss();
                Debug.error("Send confirm JSON result: ERROR " + error);
                String err = getResources().getString(R.string.request_pass_error);
                notifyErr(err);
            }

            @Override
            public void onSuccess(String json) {
                Debug.warn("Send confirm JSON result: " + json.toString());
                progressDialog.dismiss();

                confirmDone();
            }

            @Override
            public void onSuccess(JSONObject object) {
                Debug.warn("Send confirm JSON object result: Success");
                progressDialog.dismiss();
            }
        });
    }

    private void confirmDone(){
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(InputConfirmCodeActivity.this);
        alertDialog.setMessage(getResources().getString(R.string.password_have_send));
        alertDialog.setCancelable(false);
        alertDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                finish();
            }
        });
        alertDialog.show();
    }

    private void notifyErr(String err) {
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(InputConfirmCodeActivity.this);
        alertDialog.setMessage(err);
        alertDialog.setCancelable(false);
        alertDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                finish();
            }
        });
        alertDialog.show();
    }

    @OnClick({R.id.btn_confirm})
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_confirm:
                // handle login
                String code = edtConfirmCode.getText().toString();
                if (code.isEmpty()){
                    showAlerDialog(InputConfirmCodeActivity.this, getResources().getString(R.string.please_input_confirm));
                    return;
                }

                handleGetNewPass(code);
                break;

            default:
                break;
        }
    }
}