From 399ac289f80b7a40aa4210341db6b447cacdcf14 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 09 八月 2022 17:42:33 +0800
Subject: [PATCH] 广告升级,隐私政策整改

---
 app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java |  345 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 291 insertions(+), 54 deletions(-)

diff --git a/app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java b/app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java
index 3e4dc49..c8051c2 100644
--- a/app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java
+++ b/app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java
@@ -1,46 +1,57 @@
 package com.tejia.lijin.app.ui.mine;
 
-import android.app.Activity;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.SharedPreferences;
-import android.graphics.Color;
 import android.os.Bundle;
 import android.text.Editable;
 import android.text.TextWatcher;
 import android.util.Log;
 import android.view.View;
-import android.widget.FrameLayout;
+import android.view.animation.AnimationUtils;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
 import com.androidquery.AQuery;
-import com.mobile.auth.gatewayauth.AuthUIConfig;
-import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper;
-import com.mobile.auth.gatewayauth.TokenResultListener;
-import com.tejia.lijin.app.util.user.AliyunSmsOneKeyLoginManager;
-import com.tencent.mm.opensdk.modelmsg.SendAuth;
-import com.umeng.analytics.MobclickAgent;
-import com.wpc.library.util.common.DimenUtils;
-import com.wpc.library.util.common.StringUtils;
-import com.wpc.library.widget.PhoneNumberClearEditText;
+import com.google.gson.Gson;
 import com.tejia.lijin.app.BasicTextHttpResponseHandler;
 import com.tejia.lijin.app.R;
 import com.tejia.lijin.app.ShoppingApi;
 import com.tejia.lijin.app.ShoppingApplication;
+import com.tejia.lijin.app.entity.UserInfo;
 import com.tejia.lijin.app.entity.eventbus.WXLoginEvent;
+import com.tejia.lijin.app.ui.BaseActivity;
 import com.tejia.lijin.app.ui.dialog.AddZFBInfoDialog;
 import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog;
 import com.tejia.lijin.app.ui.dialog.VerifyMobileDialog;
 import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
+import com.tejia.lijin.app.util.Constant;
 import com.tejia.lijin.app.util.KeFuUtil;
+import com.tejia.lijin.app.util.SystemParamsUtil;
 import com.tejia.lijin.app.util.TopStatusSettings;
+import com.tejia.lijin.app.util.ui.dialog.DialogUtil;
 import com.tejia.lijin.app.util.umengCustomEvent.UserCustomEvent;
+import com.tejia.lijin.app.util.user.AccountBindManager;
+import com.tejia.lijin.app.util.user.AliyunSmsOneKeyLoginManager;
+import com.tejia.lijin.app.util.user.LoginManager;
+import com.tejia.lijin.app.util.user.QQLoginManager;
 import com.tejia.lijin.app.util.user.UserUtil;
+import com.tejia.lijin.wxapi.WXEntryActivity;
+import com.tencent.connect.auth.QQToken;
+import com.tencent.mm.opensdk.modelmsg.SendAuth;
+import com.tencent.tauth.DefaultUiListener;
+import com.tencent.tauth.IUiListener;
+import com.tencent.tauth.Tencent;
+import com.tencent.tauth.UiError;
+import com.umeng.analytics.MobclickAgent;
+import com.wpc.library.util.SingleToast;
+import com.wpc.library.util.common.StringUtils;
+import com.wpc.library.widget.PhoneNumberClearEditText;
 
 import org.apache.http.Header;
+import org.json.JSONException;
 import org.json.JSONObject;
 
 import de.greenrobot.event.EventBus;
@@ -49,7 +60,7 @@
  * Created by weikou2015 on 2017/12/15.
  */
 
-public class LoginSelectActivity extends Activity implements View.OnClickListener {
+public class LoginSelectActivity extends BaseActivity implements View.OnClickListener {
 
     public final static int TYPE_LOGIN = 1;//鐧诲綍
     public final static int TYPE_BIND = 2;//缁戝畾
@@ -71,20 +82,23 @@
 
     private AliyunSmsOneKeyLoginManager aliyunSmsOneKeyLoginManager;
 
-    private boolean showOnkeyLoginToast = true;
+    private boolean showOnkeyLoginToast = false;
 
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_login_select);
+        setShowRecommend(false);
         mAquery = new AQuery(this);
         TopStatusSettings.setStatusViewAndDeepColorNoView(this);
         initData(getIntent());
         String from = getIntent().getStringExtra("from");
         UserCustomEvent.userLogin(this, StringUtils.isEmpty(from) ? "鍏跺畠" : from);
         EventBus.getDefault().register(this);
-        aliyunSmsOneKeyLoginManager = new AliyunSmsOneKeyLoginManager(this, null);
+
+        String secretInfo = "rb6R3o8sx4BVXzip2GLC27gDVtY8EWD3BHYM8dAuvCE1e7Ux/6jHkaZjgOStr/EGvyH0Q2XHZnM6u0tp7mXY3wsHv6+bJaB6hsgzYEu1up3UgmIIrGwNOkDInWe5n6QOnNN+XSc4oF3Od1AJtAgd6oun7JkrbdJCqDN5qTPXF7rS44sYGlh7apz+fJAU9Nn1/Jzt5qdqEWsjmqu07Z3Gasrl+cEeBC9li2+5yqAnnXB+PflFHd/kdN9iCHRuY99qBVUizej95oL/jRMzw4SQKgWDW2PF9llOcSyYWivRGeFAaDISQSmc4g==";
+        aliyunSmsOneKeyLoginManager = new AliyunSmsOneKeyLoginManager(this, secretInfo);
         aliyunSmsOneKeyLoginManager.init(new AliyunSmsOneKeyLoginManager.IOneKeyLoginListener() {
 
             @Override
@@ -97,7 +111,7 @@
 
             @Override
             public void onCancel() {
-                showOnkeyLoginToast = false;
+                showOnkeyLoginToast = true;
             }
 
             @Override
@@ -114,42 +128,130 @@
 
             @Override
             public void onToken(String token) {
-                //鑾峰彇鍒癟oken
+                aliyunSmsOneKeyLoginManager.quitLoginPage();
+                //鐧诲綍
+                if (type == TYPE_LOGIN) {
+                    LoginManager.loginByPhone(null, null, token, new LoginManager.LoginAndBindListener() {
+                        @Override
+                        public void onLoginStart() {
+                            DialogUtil.show(loadingDialog);
+                        }
+
+                        @Override
+                        public void onLoginFinish() {
+                            DialogUtil.dismiss(loadingDialog);
+                        }
+
+                        @Override
+                        public void onLoginSuccess(UserInfo user) {
+                            UserUtil.loginSuccess(getApplicationContext(), user);
+                            Toast.makeText(getApplicationContext(), "鎭枩浣狅紝鐧诲綍鎴愬姛", Toast.LENGTH_SHORT).show();
+                            finish();
+                        }
+
+                        @Override
+                        public void onLoginFail(int code, String msg) {
+                            Toast.makeText(LoginSelectActivity.this, msg, Toast.LENGTH_SHORT).show();
+                        }
+                    });
+                } else if (type == TYPE_BIND_WITHOUT_LOGINED) {
+                    LoginManager.loginWithPhone(null, null, token, key, new LoginManager.LoginAndBindListener() {
+                        @Override
+                        public void onBindStart() {
+                            DialogUtil.show(loadingDialog);
+                        }
+
+                        @Override
+                        public void onBindFinish() {
+                            DialogUtil.dismiss(loadingDialog);
+                        }
+
+                        @Override
+                        public void onBindSuccess(UserInfo user) {
+                            UserUtil.loginSuccess(getApplicationContext(), user);
+                            Toast.makeText(getApplicationContext(), "鎭枩浣狅紝鐧诲綍鎴愬姛", Toast.LENGTH_SHORT).show();
+                            finish();
+                        }
+
+                        @Override
+                        public void onBindFail(int code, String msg) {
+                            Toast.makeText(LoginSelectActivity.this, msg, Toast.LENGTH_SHORT).show();
+                        }
+                    });
+                } else {
+                    //鐢佃瘽鍙风爜缁戝畾
+                    AccountBindManager.bindPhone(getApplicationContext(), null, null, token, new LoginManager.LoginAndBindListener() {
+
+                        @Override
+                        public void onBindFail(int code, String msg) {
+                            super.onBindFail(code, msg);
+                            if (code == 2) {
+                                AddZFBInfoDialog.Builder builder = new AddZFBInfoDialog.Builder(LoginSelectActivity.this);
+                                builder.setTitle("鍙风爜宸插崰鐢ㄦ彁绀�").setMessage("寰堟姳姝夛紝璇ユ墜鏈哄彿宸茶鍏朵粬甯愬彿鍗犵敤锛�" +
+                                        "鑻ヨ缁х画瀹屾垚鏈笎鍙锋墜鏈哄彿鏇存崲锛岃鍘诲彇娑堝崰鐢ㄦ垨鏇存崲鍏朵粬鎵嬫満鍙凤紝璋㈣阿銆俓n")
+                                        .setPositiveButton("鐭ラ亾浜�", new DialogInterface.OnClickListener() {
+                                            @Override
+                                            public void onClick(DialogInterface dialog, int which) {
+                                                dialog.dismiss();
+                                            }
+                                        }).create().show();
+                                setResult(100);
+                            } else {
+                                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
+                            }
+                        }
+
+                        @Override
+                        public void onBindFinish() {
+                            super.onBindFinish();
+                        }
+
+                        @Override
+                        public void onBindStart() {
+                            super.onBindStart();
+                        }
+
+                        @Override
+                        public void onBindSuccess(UserInfo user) {
+                            super.onBindSuccess(user);
+                            UserUtil.loginSuccess(getApplicationContext(), user);
+                            Toast.makeText(getApplicationContext(), "缁戝畾鎴愬姛", Toast.LENGTH_SHORT).show();
+                            finish();
+                        }
+                    });
+                }
             }
+
         });
-        openOneKeyLogin(showOnkeyLoginToast);
+
+//        openOneKeyLogin(showOnkeyLoginToast);
+
     }
 
     private synchronized void openOneKeyLogin(final boolean notify) {
-        aliyunSmsOneKeyLoginManager.checkEnv();
+        ShoppingApi.allowOneKeyLogin(this, new BasicTextHttpResponseHandler() {
 
-        //TODO 涓�閿櫥褰曟潈闄愯姹�
+            @Override
+            public void onStart() {
+                DialogUtil.show(loadingDialog);
+            }
 
-//        ShoppingApi.allowOneKeyLogin(this, UserUtil.getLoginUid(this), new BasicTextHttpResponseHandler() {
-//
-//            @Override
-//            public void onStart() {
-//                DialogUtil.show(loadingDialog);
-//            }
-//
-//            @Override
-//            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
-//                if (jsonObject.optBoolean("IsPost")) {
-//                    aliyunSmsOneKeyLoginManager.checkEnv();
-//                } else {
-//                    if (notify) {
-//                        Toast.makeText(PhoneLoginActivity.this, jsonObject.optString("Error"), Toast.LENGTH_SHORT).show();
-//                    }
-//                }
-//            }
-//
-//            @Override
-//            public void onFinish() {
-//                DialogUtil.dismiss(loadingDialog);
-//            }
-//        });
+            @Override
+            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
+                if (jsonObject.optInt("code") == 0) {
+                    aliyunSmsOneKeyLoginManager.checkEnv();
+                } else {
+                    if (notify) {
+                        Toast.makeText(LoginSelectActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
+                    }
+                }
+            }
 
-
+            @Override
+            public void onFinish() {
+                DialogUtil.dismiss(loadingDialog);
+            }
+        });
     }
 
     private void initData(Intent intent) {
@@ -189,9 +291,28 @@
      *娣诲姞鐩戝惉
      */
     private void addListener() {
+        tv_login_gain_sms.setOnClickListener(this);
         tv_user_agreement.setOnClickListener(this);
         tv_other_login.setOnClickListener(this);
         tv_privacy_policies.setOnClickListener(this);
+        mAquery.id(R.id.tv_login_onekey).clicked(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                openOneKeyLogin(true);
+            }
+        });
+        mAquery.id(R.id.iv_close).clicked(this);
+        mAquery.id(R.id.tv_login_wx).clicked(this);
+        mAquery.id(R.id.tv_login_qq).clicked(this);
+        mAquery.id(R.id.tv_agree).clicked(this);
+        mAquery.id(R.id.tv_help).clicked(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                startActivity(new Intent(getApplicationContext(), ShareBrowserActivity.class).putExtra("url", SystemParamsUtil.getHelpUrl(getApplicationContext())));
+            }
+        });
+
+
         et_mobile_num.addTextChangedListener(new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
@@ -207,12 +328,21 @@
                         canSend = true;
                     }
                 }
+                if(canSend) {
+                    tv_login_gain_sms.setEnabled(canSend);
+                }
             }
 
             @Override
             public void afterTextChanged(Editable editable) {
-//                fl_login_gain_sms.setEnabled(editable.length() == 13 ? true : false);
-//                fl_login_gain_sms.setBackgroundResource(editable.length() == 13 ?
+                String text=editable !=null?editable.toString():"";
+                if(text.replace(" ","").length()==11){
+                    tv_login_gain_sms.setEnabled(true);
+                }else{
+                    tv_login_gain_sms.setEnabled(false);
+                }
+
+//                tv_login_gain_sms.setBackgroundResource(editable.length() == 13 ?
 //                        R.drawable.shape_mobile_login_light : R.drawable.shape_login_gain_sms);
             }
         });
@@ -222,7 +352,6 @@
     protected void onResume() {
         super.onResume();
         Log.i(TAG, "onResume");
-        MobclickAgent.onResume(this);
         boolean isLogin = UserUtil.isLogin(getApplicationContext());
         if (isLogin) {//鐢ㄦ埛宸茬粡鐧诲綍
             if (isWXLogin) {
@@ -252,6 +381,9 @@
                 mAquery.id(R.id.ll_other_login).visibility(View.GONE);
                 mAquery.id(R.id.tv_login_onekey).text("鏈満鍙风爜涓�閿粦瀹�");
                 mAquery.id(R.id.tv_mobile_hint).text(String.format("鏂扮殑鎵嬫満鍙峰繀椤绘病鏈夌粦瀹氳繃鍏朵粬%s甯愬彿", getResources().getString(R.string.app_name)));
+
+                mAquery.id(R.id.cb_agree).checked(false);
+
                 break;
         }
 
@@ -285,6 +417,9 @@
                 startActivity(intent1);
                 break;
             case R.id.tv_login_wx:
+                if (!isAgreed()) {
+                    return;
+                }
                 UserCustomEvent.userLoginWeixin(LoginSelectActivity.this);
                 if (ShoppingApplication.application.mWxApi.isWXAppInstalled()) {
                     isWXLogin = true;
@@ -297,10 +432,102 @@
                 }
                 break;
             case R.id.tv_login_qq:
-                //TODO QQ鐧诲綍
+                if (!isAgreed()) {
+                    return;
+                }
+                //QQ鐧诲綍寮�濮�
+                DialogUtil.show(loadingDialog);
+                QQLoginManager.getInstance(getApplicationContext()).startLogin(this, new QQLoginManager.QQLoginListener() {
+                    @Override
+                    public void onAuthCancel() {
+                        DialogUtil.dismiss(loadingDialog);
+                    }
+
+                    @Override
+                    public void onAuthSuccess(String openId) {
+                    }
+
+                    @Override
+                    public void onAuthFail(int code, String msg) {
+                        DialogUtil.dismiss(loadingDialog);
+                        SingleToast.showToast(getApplicationContext(), "QQ鎺堟潈澶辫触锛岃绋嶅悗鍐嶈瘯");
+                    }
+
+                    @Override
+                    public void onGetUserInfoSuccess(final QQLoginManager.QQUserInfo user) {
+                        Log.i(TAG, new Gson().toJson(user));
+                        runOnUiThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                DialogUtil.dismiss(loadingDialog);
+                                //TODO 鍋歈Q鐧诲綍
+                                LoginManager.loginByQQ(user, new LoginManager.LoginAndBindListener() {
+
+                                    @Override
+                                    public void onLoginStart() {
+                                        super.onLoginStart();
+                                        DialogUtil.show(loadingDialog);
+                                    }
+
+                                    @Override
+                                    public void onLoginFinish() {
+                                        super.onLoginFinish();
+                                        DialogUtil.dismiss(loadingDialog);
+                                    }
+
+                                    @Override
+                                    public void onLoginFail(int code, String msg) {
+                                        super.onLoginFail(code, msg);
+                                        Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
+                                    }
+
+                                    @Override
+                                    public void onLoginSuccess(UserInfo user) {
+                                        super.onLoginSuccess(user);
+                                        UserUtil.loginSuccess(getApplicationContext(), user);
+                                        Toast.makeText(getApplicationContext(), "鎭枩浣狅紝鐧诲綍鎴愬姛", Toast.LENGTH_SHORT).show();
+                                        finish();
+                                    }
+
+                                    @Override
+                                    public void bindPhone(String key) {
+                                        super.bindPhone(key);
+                                        Intent intent = new Intent(getApplicationContext(), LoginSelectActivity.class);
+                                        intent.putExtra("type", LoginSelectActivity.TYPE_BIND_WITHOUT_LOGINED);
+                                        intent.putExtra("key", key);
+                                        startActivity(intent);
+//                                        finish();
+                                    }
+
+
+                                });
+
+
+                            }
+                        });
+
+
+                    }
+
+                    @Override
+                    public void onGetUserInfoFail(int code, String msg) {
+                        runOnUiThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                SingleToast.showToast(getApplicationContext(), "鐢ㄦ埛淇℃伅鑾峰彇澶辫触锛岃绋嶅悗鍐嶈瘯");
+                                DialogUtil.dismiss(loadingDialog);
+                            }
+                        });
+
+                    }
+                });
+
 
                 break;
             case R.id.tv_login_gain_sms:
+                if (!isAgreed() && (type == TYPE_LOGIN || type == TYPE_BIND_WITHOUT_LOGINED)) {
+                    return;
+                }
                 tv_login_gain_sms.setEnabled(false);
                 UserCustomEvent.userLoginSms(LoginSelectActivity.this);
                 isWXLogin = false;
@@ -311,11 +538,20 @@
                 }
                 break;
 
-            case R.id.tv_login_onekey:
-                //TODO 涓�閿櫥褰�
-                openOneKeyLogin(true)
+            case R.id.tv_agree:
+                mAquery.id(R.id.cb_agree).checked(!mAquery.id(R.id.cb_agree).isChecked());
                 break;
         }
+    }
+
+    private boolean isAgreed() {
+        if (!mAquery.id(R.id.cb_agree).isChecked()) {
+            LinearLayout ll_user_agreement = (LinearLayout) mAquery.id(R.id.ll_user_agreement).getView();
+            ll_user_agreement.startAnimation(AnimationUtils.loadAnimation(this, R.anim.user_agreement));
+            SingleToast.showToast(getApplicationContext(), "璇峰悓鎰忕敤鎴峰崗璁笌闅愮鏀跨瓥");
+            return false;
+        }
+        return true;
     }
 
     private boolean isIntent = false;
@@ -323,7 +559,6 @@
     @Override
     protected void onPause() {
         super.onPause();
-        MobclickAgent.onPause(this);
         if (isIntent) {
             finish();
         }
@@ -490,10 +725,11 @@
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
         if (requestCode == 99 && resultCode == 100) {
             finish();
         }
+        QQLoginManager.getInstance(getApplicationContext()).onActivityResult(requestCode, resultCode, data);
+        super.onActivityResult(requestCode, resultCode, data);
     }
 
     public void onEventMainThread(WXLoginEvent event) {
@@ -508,7 +744,8 @@
 
     @Override
     protected void onDestroy() {
-        super.onDestroy();
+        aliyunSmsOneKeyLoginManager.quitLoginPage();
         EventBus.getDefault().unregister(this);
+        super.onDestroy();
     }
 }

--
Gitblit v1.8.0