package com.brady.jlulife.Fragments;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import com.brady.jlulife.Activities.DrComLoginSuccessActivity;
import com.brady.jlulife.Utils.ConstValue;
import com.brady.jlulife.R;
import com.drcom.Android.DrCOMWS.Jni;
import com.drcom.Android.DrCOMWS.Tool.DrCOMWSManagement;
import com.drcom.Android.DrCOMWS.listener.OnclientLoginListener;
/**
* A placeholder fragment containing a simple view.
*/
public class DrcomLoginFragment extends BaseFragment {
private static final int LOGIN_SUCCESS = 24;
private static final int LOGIN_FAILURE = 392;
private static final String IS_SAVED_PASSWORD = "is_saved_password";
private static final String IS_AUTO_LOGIN = "is_auto_login";
private static final String SAVED_NAME = "saved_name";
private static final String SAVED_PWD = "saved_password";
EditText metUname;
EditText metUpwd;
CheckBox cbRememberPwd;
CheckBox cbautoLogin;
Button btnLogin;
// ProgressDialog mProgressDialog;
DrCOMWSManagement management;
static DrcomLoginFragment mfragment;
public DrcomLoginFragment() {
mfragment = this;
}
public static DrcomLoginFragment getInstance(){
if(mfragment==null)
mfragment = new DrcomLoginFragment();
return mfragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_drcom_login, container, false);
setTitle("校园网登陆");
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initComponents(view);
management = new DrCOMWSManagement(getActivity());
final SharedPreferences sharedPreferences = getActivity().getSharedPreferences(ConstValue.SHARED_DRCOM_INFO, Activity.MODE_PRIVATE);
Bundle arguments = getArguments();
Boolean islogout = false;
if(arguments!=null)
islogout = arguments.getBoolean("logout");
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// mProgressDialog = ProgressDialog.show(getContext(), "", "登陆中,请稍后");
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(SAVED_NAME, metUname.getText().toString());
editor.putBoolean(IS_SAVED_PASSWORD,cbRememberPwd.isChecked());
editor.putBoolean(IS_AUTO_LOGIN, cbautoLogin.isChecked());
if(cbRememberPwd.isChecked()){
editor.putString(SAVED_PWD,metUpwd.getText().toString());
}else {
editor.putString(SAVED_PWD,"");
}
editor.commit();
showDialog();
management.clientLogin(metUname.getText().toString(), metUpwd.getText().toString(), new OnclientLoginListener() {
@Override
public void clientLoginFail(int paramInt) {
if(getActivity()==null)
return;
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(management.getErrorStringByCode(paramInt));
builder.setPositiveButton(R.string.retry, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
btnLogin.performClick();
}
});
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
hideDialog();
}
@Override
public void clientLoginSuccess(boolean paramBoolean) {
startNewActivity(DrComLoginSuccessActivity.class);
hideDialog();
}
});
}
});
cbRememberPwd.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(!isChecked)
cbautoLogin.setChecked(false);
}
});
Button logout = (Button) getView().findViewById(R.id.btn_drcom_logout);
logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Jni authinfo = new Jni();
}
});
boolean isAutoLogin = sharedPreferences.getBoolean(IS_AUTO_LOGIN, false);
boolean isSavedPwd = sharedPreferences.getBoolean(IS_SAVED_PASSWORD, false);
String uName = sharedPreferences.getString(SAVED_NAME,"");
String pwd = sharedPreferences.getString(SAVED_PWD,"");
cbautoLogin.setChecked(isAutoLogin);
cbRememberPwd.setChecked(isSavedPwd);
metUname.setText(uName);
if(isSavedPwd){
metUpwd.setText(pwd);
}
if(isAutoLogin&&!islogout){
btnLogin.performClick();
}
}
public void initComponents(View view) {
metUname = (EditText) view.findViewById(R.id.et_drcom_uname);
metUpwd = (EditText) view.findViewById(R.id.et_drcom_pwd);
cbRememberPwd = (CheckBox) view.findViewById(R.id.checkbox_remember_pwd);
cbautoLogin = (CheckBox) view.findViewById(R.id.checkbox_auto_login);
btnLogin = (Button) view.findViewById(R.id.btn_drcom_login);
}
}