|
@@ -1,11 +1,11 @@
|
|
|
package com.ynstkz.shitu.android.activity;
|
|
|
|
|
|
+import android.app.ProgressDialog;
|
|
|
import android.content.Intent;
|
|
|
import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
import android.support.annotation.Nullable;
|
|
|
import android.text.TextUtils;
|
|
|
-import android.util.Log;
|
|
|
import android.view.View;
|
|
|
import android.widget.Button;
|
|
|
import android.widget.EditText;
|
|
@@ -63,7 +63,7 @@ public class LoginActivity extends TitleBarActivity {
|
|
|
@Bind(R.id.rl_login_sina)
|
|
|
RelativeLayout rlLoginSina;
|
|
|
|
|
|
- private UmengLoginHelper mLogin;
|
|
|
+ private ProgressDialog progressDialog;
|
|
|
|
|
|
@Override
|
|
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
@@ -137,7 +137,7 @@ public class LoginActivity extends TitleBarActivity {
|
|
|
rlLoginWx.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
- threeLogin(UmengLoginHelper.WX);
|
|
|
+ threeAuthorization(UmengLoginHelper.WX);
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -147,7 +147,7 @@ public class LoginActivity extends TitleBarActivity {
|
|
|
rlLoginQq.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
- threeLogin(UmengLoginHelper.QQ);
|
|
|
+ threeAuthorization(UmengLoginHelper.QQ);
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -157,7 +157,7 @@ public class LoginActivity extends TitleBarActivity {
|
|
|
rlLoginSina.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
- threeLogin(UmengLoginHelper.SINA);
|
|
|
+ threeAuthorization(UmengLoginHelper.SINA);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
@@ -187,14 +187,7 @@ public class LoginActivity extends TitleBarActivity {
|
|
|
if (loginBean != null) {
|
|
|
if ("200".equals(loginBean.getCode())) {
|
|
|
if (loginBean.getData() != null) {
|
|
|
-
|
|
|
- SharedPreferencesUtils.setLogin(true);
|
|
|
- SharedPreferencesUtils.saveToken(loginBean.getData().getToken());
|
|
|
- SharedPreferencesUtils.saveUserId(loginBean.getData().getUserId());
|
|
|
-
|
|
|
- showToast(loginBean.getMsg());
|
|
|
- EventBus.getDefault().post(new LoginEvent());
|
|
|
- finish();
|
|
|
+ loginSuccess(loginBean);
|
|
|
}
|
|
|
} else {
|
|
|
showToast(loginBean.getMsg());
|
|
@@ -205,14 +198,24 @@ public class LoginActivity extends TitleBarActivity {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
+ *第三方登陆
|
|
|
*/
|
|
|
- private void threeLogin(String type){
|
|
|
+ private void threeAuthorization(final String type){
|
|
|
|
|
|
- mLogin = new UmengLoginHelper(LoginActivity.this, new UmengLoginHelper.Callback() {
|
|
|
+ progressDialog = new ProgressDialog(this);
|
|
|
+ progressDialog.setMessage("正在请求授权...");
|
|
|
+ progressDialog.show();
|
|
|
+
|
|
|
+ UmengLoginHelper mLogin = new UmengLoginHelper(LoginActivity.this, new UmengLoginHelper.Callback() {
|
|
|
@Override
|
|
|
public void onComplete(Map<String, String> data) {
|
|
|
- Log.d("login", data.toString());
|
|
|
+ if(type.equals(UmengLoginHelper.QQ)){
|
|
|
+ thirdLogin(data.get("uid"), "qq");
|
|
|
+ } else if (type.equals(UmengLoginHelper.WX)){
|
|
|
+ thirdLogin(data.get("uid"), "weixin");
|
|
|
+ } else if (type.equals(UmengLoginHelper.QQ)) {
|
|
|
+ thirdLogin(data.get("uid"), "weibo");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -229,6 +232,72 @@ public class LoginActivity extends TitleBarActivity {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 三方登陆
|
|
|
+ * @param thirdId
|
|
|
+ * @param thirdType
|
|
|
+ */
|
|
|
+ private void thirdLogin(final String thirdId, final String thirdType){
|
|
|
+
|
|
|
+ if(progressDialog != null){
|
|
|
+ progressDialog.setMessage("正在登录...");
|
|
|
+ }
|
|
|
+
|
|
|
+ RequestGroup.thirdLogin(thirdId, thirdType, new Callback() {
|
|
|
+ @Override
|
|
|
+ public Object parseNetworkResponse(Response response, int id) throws Exception {
|
|
|
+ return new Gson().fromJson(response.body().string(), LoginBean.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(Call call, Exception e, int id) {
|
|
|
+ if(progressDialog != null){
|
|
|
+ progressDialog.dismiss();
|
|
|
+ }
|
|
|
+ showToast(e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onResponse(Object response, int id) {
|
|
|
+ if(progressDialog != null){
|
|
|
+ progressDialog.dismiss();
|
|
|
+ }
|
|
|
+ LoginBean loginBean = (LoginBean)response;
|
|
|
+ if(loginBean != null){
|
|
|
+ if("200".equals(loginBean.getCode())){
|
|
|
+ if(loginBean.getData() != null){
|
|
|
+ boolean isBind = loginBean.getData().isIsBind();
|
|
|
+ if(isBind){
|
|
|
+ loginSuccess(loginBean);
|
|
|
+ } else {
|
|
|
+ Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
|
|
|
+ intent.putExtra("thirdId", thirdId);
|
|
|
+ intent.putExtra("thirdType", thirdType);
|
|
|
+ startActivity(intent);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ showToast(loginBean.getMsg());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 登陆成功
|
|
|
+ * @param loginBean
|
|
|
+ */
|
|
|
+ private void loginSuccess(LoginBean loginBean){
|
|
|
+ SharedPreferencesUtils.setLogin(true);
|
|
|
+ SharedPreferencesUtils.saveToken(loginBean.getData().getToken());
|
|
|
+ SharedPreferencesUtils.saveUserId(loginBean.getData().getUserId());
|
|
|
+
|
|
|
+ showToast(loginBean.getMsg());
|
|
|
+ EventBus.getDefault().post(new LoginEvent());
|
|
|
+ finish();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 校验数据
|
|
|
*
|
|
|
* @param userName
|
|
@@ -247,6 +316,8 @@ public class LoginActivity extends TitleBarActivity {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
|
public void onMessageEvent(RegisterSuccessEvent event) {
|
|
|
finish();
|