|
package com.electric.chargingpile.activity;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.blankj.utilcode.util.LogUtils;
import com.electric.chargingpile.R;
import com.electric.chargingpile.application.MainApplication;
import com.electric.chargingpile.manager.ProfileManager;
import com.electric.chargingpile.util.ActivityManagerApplication;
import com.electric.chargingpile.util.BarColorUtil;
import com.electric.chargingpile.util.CheckMobileNum;
import com.electric.chargingpile.util.DES3;
import com.electric.chargingpile.util.JsonUtils;
import com.electric.chargingpile.util.NetUtil;
import com.electric.chargingpile.util.ToastUtil;
import com.electric.chargingpile.view.CustomProgressDialog;
import com.tencent.bugly.crashreport.CrashReport;
import com.umeng.analytics.MobclickAgent;
import com.zhy.autolayout.AutoLayout;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;
import java.net.URLEncoder;
import okhttp3.Call;
public class LoginActivity extends Activity implements View.OnClickListener {
private static final String TAG = "LoginActivity";
private EditText phone, password;
private TextView login, forgetPassword, newUser;
private ImageView back;
private Button btn_clear, username_clear;
InputMethodManager imm;
Toast toast = null;
private static String userid = "";
private static String usericon = "";
private static String nickname = "";
private static String username = "";
private static String usersex = "";
private static String hascar = "";
private static String nocar = "";
private CustomProgressDialog pd_info;
String encode_token;
Context mContext;
public static final int RESULT_SUCCESS = 0;
// private Bitmap download_bmp;
//
// private Handler handler = new Handler() {
// // 主线程通过这个方法处理消息
// @Override
// public void handleMessage(Message msg) {
// switch (msg.what) {
// case 1:
// try {
// JSONObject jsonObj = new JSONObject(msg.obj.toString());
// String status = jsonObj.getString("status");
// String info = jsonObj.getString("info");
// Log.e("成长模块测试", info);
// } catch (JSONException e) {
// e.printStackTrace();
// }
// break;
// case 2:
//
// try {
// JSONObject jsonObj = new JSONObject(msg.obj.toString());
// String rtnCode = jsonObj.getString("rtnCode");
//
//
//// String jifen = jsonObj.getString("jifen");
// if (rtnCode.equals("01")) {
// dismissDialog();
//// ProfileManager.getInstance().setPassword(this,password.getText().toString());
//// MainApplication.password = ProfileManager.getInstance().getPassword(mContext);
// String data = jsonObj.getString("data");
// try {
// Gson g = new Gson();
// User u = g.fromJson(data, User.class);
// Log.d("Nickname-----", u.getNickname());
// userid = u.getUserid().toString();
// if (!u.getUserpic().toString().equals("")) {
// usericon = "http://123.57.6.131/zhannew//uploadfile/" + u.getUserpic().toString();
// } else {
// usericon = "";
// }
// nickname = u.getNickname();
// username = u.getUsername();
// usersex = u.getSex();
// hascar = u.getChexing();
// nocar = u.getYichexing();
// if (nickname == null) {
// nickname = "";
// }
// Log.e("usericon", usericon);
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// SharedPreferences mySharedPreferences = getSharedPreferences("loginUserName",
// Activity.MODE_PRIVATE);
// SharedPreferences.Editor editor1 = mySharedPreferences.edit();
// editor1.putString("username", phone.getText().toString());
// editor1.commit();
//
//
// SharedPreferences mSharedPreferences = getSharedPreferences("userInfo",
// Activity.MODE_PRIVATE);
// SharedPreferences.Editor editor = mSharedPreferences.edit();
// editor.putString("nickname", nickname);
// editor.putString("username", username);
// editor.putString("sex", usersex);
// editor.putString("chexing", hascar);
// editor.putString("yichexing", nocar);
// editor.putString("password", password.getText().toString());
// editor.putString("yonghuming", phone.getText().toString());
//// editor.putString("usericon",usericon);
//
//
// editor.commit();
// CreditActivity.canFresh = true;
// MainApplication.ok = "1";
//
// MainApplication.userPhone = phone.getText().toString().trim();
// MainApplication.userPassword = password.getText().toString();
//
// ProfileManager.getInstance().setUsername(LoginActivity.this,
// phone.getText().toString().trim());
// ProfileManager.getInstance().setId(LoginActivity.this, phone.getText().toString().trim());
// ProfileManager.getInstance().setKeyUserpassword(LoginActivity.this, password.getText().toString().trim());
//
//// Toast.makeText(LoginActivity.this,MainApplication.userId,Toast.LENGTH_SHORT).show();
// ProfileManager.getInstance().setUserid(LoginActivity.this, userid);
// ProfileManager.getInstance().setUsericon(LoginActivity.this, usericon);
// ProfileManager.getInstance().setNickname(LoginActivity.this, nickname);
// ProfileManager.getInstance().setUsercar(LoginActivity.this, hascar);
// MobclickAgent.onProfileSignIn(MainApplication.userId);
//// startActivity(new Intent(LoginActivity.this, MainActicity.class));
//// Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
// showTextToast("登录成功");
//// MainFragment.showLogin();
//// startActivity(new Intent(LoginActivity.this,UserCenterActivity.class));
// setResult(RESULT_SUCCESS);
// ProfileManager.getInstance().setCount(getApplicationContext(), 0);
// MainApplication.count = 0;
// finish();
// } else if (rtnCode.equals("03")) {
// dismissDialog();
// String rtnMsg = jsonObj.getString("rtnMsg");
//// Toast.makeText(LoginActivity.this, "登录超时,请重新登录", Toast.LENGTH_SHORT).show();
// showTextToast("登录超时,请重新登录");
// } else if (rtnCode.equals("02")) {
// dismissDialog();
// String rtnMsg = jsonObj.getString("rtnMsg");
//// Toast.makeText(LoginActivity.this, "用户不存在", Toast.LENGTH_SHORT).show();
// showTextToast("用户不存在,请核对后重新填写");
// } else if (rtnCode.equals("04")) {
// dismissDialog();
// String rtnMsg = jsonObj.getString("rtnMsg");
//// Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show();
// showTextToast("密码错误,请重新输入");
// }
// return;
// } catch (Exception e) {
// e.printStackTrace();
// }
// break;
// case 3:
//// Toast.makeText(getApplication(), "服务器处理错误", Toast.LENGTH_SHORT).show();
// showTextToast("服务器处理错误");
// break;
// case 5:
//
// break;
// default:
//
// break;
// }
// }
// };
public void createDialog() {
if (pd_info == null) {
pd_info = CustomProgressDialog.createDialog(mContext);
pd_info.setMessage(mContext.getResources().getString(
R.string.version_updating));
pd_info.show();
}
}
public void dismissDialog() {
if (pd_info != null) {
pd_info.dismiss();
pd_info = null;
}
}
private void showTextToast(String msg) {
if (toast == null) {
toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT);
} else {
toast.setText(msg);
}
toast.show();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
AutoLayout.getInstance().auto(this);
BarColorUtil.initStatusBarColor(LoginActivity.this);
mContext = this;
initView();
}
private void initView() {
//输入手机号
phone = (EditText) findViewById(R.id.et_input_phone);
phone.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (password.hasFocus()) {
if (!phone.getText().toString().equals("") && phone.getText().toString() != null) {
username_clear.setVisibility(View.GONE);
} else {
username_clear.setVisibility(View.GONE);
}
} else {
if (!phone.getText().toString().equals("") && phone.getText().toString() != null) {
username_clear.setVisibility(View.VISIBLE);
} else {
username_clear.setVisibility(View.GONE);
}
}
if (password.getText().toString().equals("") || phone.getText().toString().equals("")) {
login.setEnabled(false);
login.setBackgroundResource(R.color.banlvse);
login.setTextColor(getResources().getColor(R.color.banzi));
}
if (!password.getText().toString().equals("") && !phone.getText().toString().equals("")) {
login.setEnabled(true);
login.setBackgroundResource(R.color.lvse);
login.setTextColor(getResources().getColor(R.color.white));
}
}
});
//输入密码
password = (EditText) findViewById(R.id.et_password);
password.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
// if (phone.hasFocus()){
// if (!password.getText().toString().equals("") && password.getText().toString() != null ){
// btn_clear.setVisibility(View.GONE);
// }else {
// btn_clear.setVisibility(View.GONE);
// }
// }else{
if (!password.getText().toString().equals("") && password.getText().toString() != null) {
btn_clear.setVisibility(View.VISIBLE);
} else {
btn_clear.setVisibility(View.GONE);
}
if (password.getText().toString().equals("") || phone.getText().toString().equals("")) {
login.setEnabled(false);
login.setBackgroundResource(R.color.banlvse);
login.setTextColor(getResources().getColor(R.color.banzi));
}
if (!password.getText().toString().equals("") && !phone.getText().toString().equals("")) {
login.setEnabled(true);
login.setBackgroundResource(R.color.lvse);
login.setTextColor(getResources().getColor(R.color.white));
}
}
// }
});
//登陆按钮
login = (TextView) findViewById(R.id.tv_userLogin);
login.setOnClickListener(this);
if (phone.getText().toString().equals("") || password.getText().toString().equals("")) {
login.setBackgroundResource(R.color.banlvse);
login.setTextColor(getResources().getColor(R.color.banzi));
login.setEnabled(false);
}
//忘记密码按钮
forgetPassword = (TextView) findViewById(R.id.tv_forgetPassword);
forgetPassword.setOnClickListener(this);
//新用户注册登陆
newUser = (TextView) findViewById(R.id.tv_newUser);
newUser.setOnClickListener(this);
//返回按钮
back = (ImageView) findViewById(R.id.iv_back);
back.setOnClickListener(this);
btn_clear = (Button) findViewById(R.id.btn_clear);
btn_clear.setOnClickListener(this);
username_clear = (Button) findViewById(R.id.username_clear);
username_clear.setOnClickListener(this);
imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
sp();
}
private void sp() {
String name = ProfileManager.getInstance().getPreviousUser(getApplicationContext());
phone.setText(name);
}
@Override
public void onClick(View view) {
// if (imm.isActive()) {
// View v = getWindow().peekDecorView();
// if (view != null) {
// imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
// }
// }
switch (view.getId()) {
case R.id.iv_back:
// startActivity(new Intent(LoginActivity.this,MainActicity.class));
finish();
break;
case R.id.tv_userLogin:
if (imm.isActive()) {
View v = getWindow().peekDecorView();
if (view != null) {
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
}
userLogin();
// userGrowUp();
break;
case R.id.tv_newUser:
startActivity(new Intent(this, RegisterActivity.class));
ActivityManagerApplication.addDestoryActivity(this, "login");
// startActivity(new Intent(this, UserInfoActivity.class));
// finish();
break;
case R.id.tv_forgetPassword:
ActivityManagerApplication.addDestoryActivity(LoginActivity.this, "LoginActivity");
startActivity(new Intent(this, ForgetPasswordActivity.class));
// finish();
break;
case R.id.btn_clear:
password.setText("");
break;
case R.id.username_clear:
phone.setText("");
break;
}
}
public void userLogin() {
if (!NetUtil.CheckNetwork(this)) {
Toast.makeText(this, "请检查网络", Toast.LENGTH_SHORT).show();
return;
} else if (!CheckMobileNum.isMobileNum(phone.getText().toString())) {
Toast.makeText(this, "手机号码错误,您输入的是一个无效手机号码", Toast.LENGTH_SHORT).show();
return;
} else {
createDialog();
getUserInfo();
}
}
private void getUserInfo() {
try {
long appTime1 = System.currentTimeMillis() / 1000;
long updatetime = appTime1 - MainMapActivity.cha - 3;
String token = String.valueOf(updatetime);
final String replace = URLEncoder.encode(DES3.encode(token));
String url = MainApplication.url + "/zhannew/basic/web/index.php/tpmember/login?phone="
+ phone.getText().toString() + "&password=" + URLEncoder.encode(password.getText().toString())
+ "&token=" + replace
+ "&imei=" + "android_" + MainApplication.imei + "®istration_id=" + MainApplication.push_id;
LogUtils.e(MainApplication.push_id);
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
ToastUtil.showToast(getApplicationContext(), "网络异常,请检查您的网络连接", Toast.LENGTH_SHORT);
CrashReport.postCatchedException(e);
}
@Override
public void onResponse(String response) {
LogUtils.e(response);
// Log.e(TAG, "onResponse: "+response );
dismissDialog();
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
if ("01".equals(rtnCode)) {
String data = JsonUtils.getKeyResult(response, "data");
saveUserInfo(data);
MobclickAgent.onProfileSignIn(MainApplication.userId);
showTextToast("登录成功");
setResult(RESULT_SUCCESS);
ProfileManager.getInstance().setCount(getApplicationContext(), 0);
MainApplication.count = 0;
finish();
} else if ("03".equals(rtnCode)) {
showTextToast("登录超时,请重新登录");
} else if ("02".equals(rtnCode)) {
showTextToast("用户不存在,请核对后重新填写");
} else if ("04".equals(rtnCode)) {
showTextToast("密码错误,请重新输入");
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
private void saveUserInfo(String info) {
// Log.e(TAG, "saveUserInfo: "+info );
String userid = JsonUtils.getKeyResult(info, "userid");
String nickname = JsonUtils.getKeyResult(info, "nickname");
String tel = JsonUtils.getKeyResult(info, "tel");
String userpic = JsonUtils.getKeyResult(info, "userpic");
String chexing = JsonUtils.getKeyResult(info, "chexing");
String myToken = JsonUtils.getKeyResult(info, "usertiken");
String userpassword = password.getText().toString();
//保存用户id
MainApplication.userId = userid;
ProfileManager.getInstance().setUserid(getApplicationContext(), userid);
//保存用户昵称
MainApplication.userNickname = nickname;
ProfileManager.getInstance().setNickname(getApplicationContext(), nickname);
//保存用户手机号
MainApplication.userPhone = tel;
ProfileManager.getInstance().setUsername(getApplicationContext(), tel);
//保存用户头像
MainApplication.userIcon = MainApplication.pic_url + userpic;
ProfileManager.getInstance().setUsericon(getApplicationContext(), MainApplication.userIcon);
//保存用户车型
MainApplication.userCar = chexing;
ProfileManager.getInstance().setUsercar(getApplicationContext(), chexing);
//保存用户密码
MainApplication.userPassword = userpassword;
ProfileManager.getInstance().setKeyUserpassword(getApplicationContext(), userpassword);
ProfileManager.getInstance().setPreviousUser(getApplicationContext(), tel);
//保存用户token
MainApplication.messageToken = myToken;
ProfileManager.getInstance().setMessageToken(getApplicationContext(), myToken);
}
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
}
|