package com.brady.jlulife.Fragments; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.brady.jlulife.Models.Listener.LoginListener; import com.brady.jlulife.Models.UIMSModel; import com.brady.jlulife.R; import com.brady.jlulife.Utils.ConstValue; import com.loopj.android.http.AsyncHttpClient; public abstract class UIMSAuthFragment extends BaseFragment { private EditText metuname; private EditText metpwd; private CheckBox mcboxRemember; private CheckBox mcboxAutoLogin; protected CheckBox mLoginOutside; private Button btnLogin; private TextView tvHelpInfo; AsyncHttpClient client; UIMSModel uimsModel; Context mContext; private boolean isFirstShown; private SharedPreferences sf; private static final String SAVED_NAME = "saved_name"; private static final String SAVED_PWD = "saved_password"; private static final String IS_AUTO_LOGIN = "is_auto_login"; private static final String IS_SAVE_PWD = "is_saved_pwd"; private static final String IS_LOGIN_OUTSIDE = "is_login_outside"; @Override public void onAttach(Context context) { super.onAttach(context); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mContext = getActivity().getApplicationContext(); initComponents(view); btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { saveInfo(); String uname = metuname.getText().toString(); String pwd = metpwd.getText().toString(); loginOauth(uname, pwd); Log.e(getClass().getSimpleName(), "point 4"); } }); Loadinfo(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); isFirstShown = true; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setTitle("教务登陆"); return inflater.inflate(R.layout.fragment_uims_oauth, container, false); } void initComponents(View view){ tvHelpInfo = (TextView) view.findViewById(R.id.tv_login_info); tvHelpInfo.setText(getResources().getString(R.string.tv_help_uims_login)); metuname = (EditText) view.findViewById(R.id.uims_uname); metpwd = (EditText) view.findViewById(R.id.uims_pwd); mcboxAutoLogin = (CheckBox) view.findViewById(R.id.uims_auto_login); mcboxRemember = (CheckBox) view.findViewById(R.id.uims_remember_pwd); btnLogin = (Button) view.findViewById(R.id.btn_uims_login); client = new AsyncHttpClient(); uimsModel = UIMSModel.getInstance(mContext); mLoginOutside = (CheckBox) view.findViewById(R.id.uims_outside); sf = getActivity().getSharedPreferences(ConstValue.SHARED_UIMS_INFO, Activity.MODE_PRIVATE); } public void loginOauth(String uname,String pwd){ showDialog(); if(uimsModel!=null) { if(mLoginOutside.isChecked()){ uimsModel.login(UIMSModel.LOGIN_CJCX_MODE, uname, pwd, new LoginListener() { @Override public void onLoginSuccess() { hideDialog(); showNextPage(); } @Override public void onLoginFailure(String failReason) { hideDialog(); Toast.makeText(mContext, failReason, Toast.LENGTH_SHORT).show(); } }); }else { uimsModel.login(UIMSModel.LOGIN_NORMAL_MODE, uname, pwd, new LoginListener() { @Override public void onLoginSuccess() { hideDialog(); showNextPage(); } @Override public void onLoginFailure(String failReason) { hideDialog(); Toast.makeText(mContext, failReason, Toast.LENGTH_SHORT).show(); } }); } }else { } } private void saveInfo() { SharedPreferences.Editor editor = sf.edit(); editor.putString(SAVED_NAME, metuname.getText().toString()); if (mcboxRemember.isChecked()) { editor.putString(SAVED_PWD, metpwd.getText().toString()); } editor.putBoolean(IS_AUTO_LOGIN, mcboxAutoLogin.isChecked()); editor.putBoolean(IS_SAVE_PWD, mcboxRemember.isChecked()); if(mLoginOutside.getVisibility()==View.VISIBLE){ editor.putBoolean(IS_LOGIN_OUTSIDE,mLoginOutside.isChecked()); } editor.commit(); } private void Loadinfo(){ Boolean isAutoLogin = sf.getBoolean(IS_AUTO_LOGIN,false); Boolean isSavedPwd = sf.getBoolean(IS_SAVE_PWD,false); Boolean isLoginOutside = sf.getBoolean(IS_LOGIN_OUTSIDE,false); String uName = sf.getString(SAVED_NAME,""); String pwd = sf.getString(SAVED_PWD,""); metuname.setText(uName); metpwd.setText(pwd); mcboxAutoLogin.setChecked(isAutoLogin); mcboxRemember.setChecked(isSavedPwd); if(mLoginOutside.getVisibility()==View.VISIBLE){ mLoginOutside.setChecked(isLoginOutside); } String action = getActivity().getIntent().getAction(); if(TextUtils.isEmpty(action)&&isAutoLogin){ btnLogin.performClick(); } } public abstract void showNextPage(); }