package cn.eoe.app.ui;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
import cn.eoe.app.R;
import cn.eoe.app.biz.UserDao;
import cn.eoe.app.https.HttpUtils;
import cn.eoe.app.https.NetWorkHelper;
import cn.eoe.app.ui.base.BaseActivity;
import cn.eoe.app.utils.IntentUtil;
import com.google.zxing.CaptureActivity;
public class UserLoginActivity extends BaseActivity implements OnClickListener {
private EditText editKey;
private ImageView imgTitleButton;
private LinearLayout goHome;
private Button mBtnAnother;
private Button mBtnBind;
private UserDao mUserDao;
private SharedPreferences share;
private Button mBtnScan;
static final private int GET_CODE = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.user_login_activity);
share = UserLoginActivity.this.getSharedPreferences(
UserLoginUidActivity.SharedName, Context.MODE_PRIVATE);
mUserDao = new UserDao(this);
initControl();
}
private void initControl() {
imgTitleButton = (ImageView) findViewById(R.id.imageview_user_title);
imgTitleButton.setOnClickListener(this);
goHome = (LinearLayout) findViewById(R.id.Linear_above_toHome);
goHome.setOnClickListener(this);
editKey = (EditText) findViewById(R.id.edittext_user_key);
editKey.setOnClickListener(this);
mBtnAnother = (Button) findViewById(R.id.login_button_another);
mBtnAnother.setOnClickListener(this);
mBtnBind = (Button) findViewById(R.id.user_login_bind);
mBtnBind.setOnClickListener(this);
mBtnScan = (Button) findViewById(R.id.scan_user_key);
mBtnScan.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.edittext_user_key:
break;
case R.id.imageview_user_title:
break;
case R.id.Linear_above_toHome:
if (share.contains(UserLoginUidActivity.KEY)
&& !share.getString(UserLoginUidActivity.KEY, "")
.equals("")) {
IntentUtil.start_activity(this, UserCenterActivity.class);
finish();
} else {
showLongToast(getResources().getString(
R.string.user_center_error));
}
break;
case R.id.login_button_another:
IntentUtil.start_activity(this, UserLoginUidActivity.class);
finish();
break;
case R.id.user_login_bind:
loginBind();
break;
case R.id.scan_user_key:
startActivityForResult(new Intent(this, CaptureActivity.class), GET_CODE);
break;
}
}
/**
* 绑定密钥登陆
* @author com360
*/
private void loginBind(){
String key = editKey.getText().toString().trim();
if (TextUtils.isEmpty(key)) {
Toast.makeText(this, R.string.user_login_enter_key, Toast.LENGTH_SHORT).show();
return;
}
if (!NetWorkHelper.checkNetState(this)){
showLongToast(getResources().getString(R.string.httpisNull));
return ;
}
new LoginAsyncTask().execute();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 当前只有一个返回值
if (resultCode == RESULT_OK && requestCode == GET_CODE) {
String result = data.getExtras().getString("result");
if (TextUtils.isEmpty(result)) {
showShortToast(R.string.scan_retry);
return;
}
editKey.setText(result);
//TODO 可以直接执行绑定
loginBind();
}
}
class LoginAsyncTask extends AsyncTask<String, Void, Boolean> {
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
showAlertDialog("温馨提示", "正在登录请稍等一下~");
}
@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
// if (!HttpUtils.isNetworkAvailable(UserLoginActivity.this)) {
// showLongToast(getResources().getString(R.string.httpisNull));
// return false;
// }
try {
return mUserDao.mapperJson(editKey.getText().toString()) != null ? true
: false;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
@Override
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
mAlertDialog.dismiss();
if (result) {
showLongToast("登录成功");
Editor edit = share.edit();
edit.putString(UserLoginUidActivity.KEY, editKey.getText()
.toString());
edit.commit();
IntentUtil.start_activity(UserLoginActivity.this,
UserCenterActivity.class);
finish();
} else {
showLongToast(getResources().getString(
R.string.user_loginKey_error));
}
}
}
}