Commit e0d3df4d by YKai

Merge remote-tracking branch 'origin/4.1.64' into 4.1.64

parents 42f451b3 751a3eb5
...@@ -33,7 +33,7 @@ ext { ...@@ -33,7 +33,7 @@ ext {
//-------------- 功能组件 -------------- //-------------- 功能组件 --------------
//第一步 //第一步
"ydl-platform" : "0.0.39.63", "ydl-platform" : "0.0.39.65",
//第二步 若干 //第二步 若干
"ydl-webview" : "0.0.38.33", "ydl-webview" : "0.0.38.33",
...@@ -114,7 +114,7 @@ ext { ...@@ -114,7 +114,7 @@ ext {
//-------------- 功能组件 -------------- //-------------- 功能组件 --------------
//第一步 //第一步
"ydl-platform" : "0.0.39.61", "ydl-platform" : "0.0.39.65",
//第二步 若干 //第二步 若干
"ydl-webview" : "0.0.38.32", "ydl-webview" : "0.0.38.32",
...@@ -137,7 +137,7 @@ ext { ...@@ -137,7 +137,7 @@ ext {
"cardview-v7" : "com.android.support:cardview-v7:${version["androidSupportSdkVersion"]}", "cardview-v7" : "com.android.support:cardview-v7:${version["androidSupportSdkVersion"]}",
"annotations" : "com.android.support:support-annotations:${version["androidSupportSdkVersion"]}", "annotations" : "com.android.support:support-annotations:${version["androidSupportSdkVersion"]}",
"recyclerview-v7" : "com.android.support:recyclerview-v7:${version["androidSupportSdkVersion"]}", "recyclerview-v7" : "com.android.support:recyclerview-v7:${version["androidSupportSdkVersion"]}",
"constraint-layout" : "com.android.support.constraint:constraint-layout:1.0.2", "constraint-layout" : "com.android.support.constraint:constraint-layout:1.1.3",
//network //network
"retrofit" : "com.squareup.retrofit2:retrofit:${version["retrofitSdkVersion"]}", "retrofit" : "com.squareup.retrofit2:retrofit:${version["retrofitSdkVersion"]}",
......
...@@ -3,13 +3,18 @@ package com.yidianling.user.ui.login ...@@ -3,13 +3,18 @@ package com.yidianling.user.ui.login
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.support.v4.content.ContextCompat
import android.text.Editable
import android.text.TextUtils import android.text.TextUtils
import android.text.TextWatcher
import android.text.method.HideReturnsTransformationMethod import android.text.method.HideReturnsTransformationMethod
import android.text.method.PasswordTransformationMethod import android.text.method.PasswordTransformationMethod
import android.view.View import android.view.View
import android.view.animation.AnimationUtils import android.view.animation.AnimationUtils
import com.umeng.socialize.UMShareAPI
import com.umeng.socialize.UMShareConfig
import com.umeng.socialize.bean.SHARE_MEDIA
import com.ydl.ydlcommon.base.BaseMvpActivity import com.ydl.ydlcommon.base.BaseMvpActivity
import com.ydl.ydlcommon.bean.StatusBarOptions
import com.ydl.ydlcommon.utils.ActivityManager import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.StatusBarUtils import com.ydl.ydlcommon.utils.StatusBarUtils
...@@ -20,13 +25,17 @@ import com.yidianling.common.tools.ToastUtil ...@@ -20,13 +25,17 @@ import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.LoginUtils import com.yidianling.user.LoginUtils
import com.yidianling.user.R import com.yidianling.user.R
import com.yidianling.user.constants.UserBIConstants import com.yidianling.user.constants.UserBIConstants
import com.yidianling.user.route.UserIn
import com.yidianling.user.safePrivate.FingerPrintCheckActivity
import com.yidianling.user.safePrivate.FingerPrintUtil
import com.yidianling.user.safePrivate.HandUnlockCheckActivity
import com.yidianling.user.ui.login.contract.IInputPassWordContract import com.yidianling.user.ui.login.contract.IInputPassWordContract
import com.yidianling.user.ui.login.presenter.InputPassWordPresenterImpl import com.yidianling.user.ui.login.presenter.InputPassWordPresenterImpl
import kotlinx.android.synthetic.main.user_activity_input_password.* import kotlinx.android.synthetic.main.user_activity_input_password_new.*
import kotlinx.android.synthetic.main.user_activity_input_password_new.et_input_password
import kotlinx.android.synthetic.main.user_activity_input_password_new.img_reg_back
import kotlinx.android.synthetic.main.user_activity_input_password_new.iv_visibility
import kotlinx.android.synthetic.main.user_activity_input_password_new.tv_forget
import kotlinx.android.synthetic.main.user_activity_input_password_new.tv_msm_login
import kotlinx.android.synthetic.main.user_activity_input_password_new.view_lin
import kotlinx.android.synthetic.main.user_activity_register_and_login_bottom.*
import kotlinx.android.synthetic.main.user_activity_register_and_login_new.*
/** /**
* @author jiucheng * @author jiucheng
...@@ -82,7 +91,7 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput ...@@ -82,7 +91,7 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
} }
override fun layoutResId(): Int { override fun layoutResId(): Int {
return R.layout.user_activity_input_password return R.layout.user_activity_input_password_new
} }
override fun initDataAndEvent() { override fun initDataAndEvent() {
...@@ -101,7 +110,8 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput ...@@ -101,7 +110,8 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
} }
private fun setWindowStatusBarColor() { private fun setWindowStatusBarColor() {
StatusBarUtils.setWindowStatusBarColor(this, R.color.platform_color_075b66) StatusBarUtils.Companion.setWindowStatusBarColor(this, R.color.white)
StatusBarUtils.Companion.setStatusBarLightMode(this,true)
} }
private fun initView() { private fun initView() {
...@@ -115,20 +125,22 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput ...@@ -115,20 +125,22 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
val sb = StringBuffer(userPhoneNumber) val sb = StringBuffer(userPhoneNumber)
sb.insert(3, " ") sb.insert(3, " ")
sb.insert(8, " ") sb.insert(8, " ")
tv_user_phone.text = sb.toString() // tv_user_phone.text = sb.toString()
} else { } else {
tv_user_phone.text = userPhoneNumber // tv_user_phone.text = userPhoneNumber
} }
} }
STATUS_SET_PWD -> {//设置密码 STATUS_SET_PWD -> {//设置密码
//设置新密码
tv_forget.visibility = View.GONE tv_forget.visibility = View.GONE
tv_msm_login.visibility = View.GONE tv_msm_login.visibility = View.GONE
tv_setPass2.visibility = View.VISIBLE // tv_setPass2.visibility = View.VISIBLE
input_password.text = "设置新密码" tv_password_orSet_title.text = "设置新密码"
tv_phone_num.text = "密码为6-16个字符,数字或英文字母组合" et_input_password.hint="输入新密码"
forget_password_hint.visibility=View.VISIBLE
//设置密码时默认密码明文显示 //设置密码时默认密码明文显示
iv_visibility.isSelected = true iv_visibility.isSelected = true
login_password.text="完成"
switchPwdShowType() switchPwdShowType()
} }
} }
...@@ -144,7 +156,25 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput ...@@ -144,7 +156,25 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
private fun setClickEvent() { private fun setClickEvent() {
input_img_back.setOnClickListener { et_input_password.addTextChangedListener(object:TextWatcher{
override fun afterTextChanged(s: Editable?) {
if (s.toString().isNotEmpty()){
login_password.isEnabled=true
login_password.background= ContextCompat.getDrawable(this@InputPassWordActivity,R.drawable.bg_one_click_login)
}else{
login_password.isEnabled=false
login_password.background=ContextCompat.getDrawable(this@InputPassWordActivity,R.drawable.login_password_unable_bg_24dp)
}
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
})
img_reg_back.setOnClickListener {
if (ActivityManager.getInstance().getSecondTaskActivity() == null) { if (ActivityManager.getInstance().getSecondTaskActivity() == null) {
closeAnim(true) closeAnim(true)
} else { } else {
...@@ -155,7 +185,7 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput ...@@ -155,7 +185,7 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
} }
} }
} }
input_iv_next.setOnClickListener { login_password.setOnClickListener {
//下一步 //下一步
if (STATUS_INPUT_PWD == codeStatus) { if (STATUS_INPUT_PWD == codeStatus) {
...@@ -170,9 +200,9 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput ...@@ -170,9 +200,9 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
} }
} }
input_iv_del.setOnClickListener { /* input_iv_del.setOnClickListener {
et_input_password.setText("") et_input_password.setText("")
} }*/
iv_visibility.setOnClickListener { iv_visibility.setOnClickListener {
iv_visibility.isSelected = !iv_visibility.isSelected iv_visibility.isSelected = !iv_visibility.isSelected
...@@ -234,12 +264,17 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput ...@@ -234,12 +264,17 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
*菊花框 *菊花框
*/ */
override fun showLoading(state: Boolean) { override fun showLoading(state: Boolean) {
if (state) { /*if (state) {
input_iv_next.visibility = View.GONE input_iv_next.visibility = View.GONE
input_progressBarNormal.visibility = View.VISIBLE input_progressBarNormal.visibility = View.VISIBLE
} else { } else {
input_iv_next.visibility = View.VISIBLE input_iv_next.visibility = View.VISIBLE
input_progressBarNormal.visibility = View.GONE input_progressBarNormal.visibility = View.GONE
}*/
if (state){
showProgressDialog()
}else{
dismissProgressDialog()
} }
} }
...@@ -265,8 +300,8 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput ...@@ -265,8 +300,8 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
override fun startAnim() { override fun startAnim() {
val shake = AnimationUtils.loadAnimation(this, R.anim.user_shake_input)//加载动画资源文件  val shake = AnimationUtils.loadAnimation(this, R.anim.user_shake_input)//加载动画资源文件 
et_input_password.startAnimation(shake) et_input_password.startAnimation(shake)
view_input_lin.startAnimation(shake) view_lin.startAnimation(shake)
view_input_lin.setBackgroundColor(Color.parseColor("#FB6761")) view_lin.setBackgroundColor(Color.parseColor("#FB6761"))
} }
override fun showNormalDialog() { override fun showNormalDialog() {
......
...@@ -254,7 +254,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont ...@@ -254,7 +254,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
requestFocus() requestFocus()
if (isUmengLoginState) { if (isUmengLoginState) {
// tv_skip.visibility = View.VISIBLE skip_bind.visibility = View.VISIBLE
// tv_des.text = "首次绑定即送大礼包" // tv_des.text = "首次绑定即送大礼包"
// tv_des.visibility = View.GONE//"同意" // tv_des.visibility = View.GONE//"同意"
iv_select_protocol.visibility = View.GONE iv_select_protocol.visibility = View.GONE
...@@ -262,6 +262,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont ...@@ -262,6 +262,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
login_wechat.visibility = View.GONE login_wechat.visibility = View.GONE
login_qq.visibility = View.GONE login_qq.visibility = View.GONE
tv_login_title.text = "手机号绑定" tv_login_title.text = "手机号绑定"
ll_next.text="发送验证码"
tv_protocol.visibility = View.GONE tv_protocol.visibility = View.GONE
} }
...@@ -285,7 +286,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont ...@@ -285,7 +286,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
if (isFromGuide) { if (isFromGuide) {
img_reg_back.visibility = View.INVISIBLE img_reg_back.visibility = View.INVISIBLE
img_reg_back.isEnabled = false img_reg_back.isEnabled = false
// tv_skip.visibility = View.VISIBLE // skip_bind.visibility = View.VISIBLE
// tv_skip.text = "随便逛逛" // tv_skip.text = "随便逛逛"
} }
//根据来源不同为当前页面埋点 //根据来源不同为当前页面埋点
...@@ -329,11 +330,11 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont ...@@ -329,11 +330,11 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
* 设置点击事件 * 设置点击事件
*/ */
private fun setClickEvent() { private fun setClickEvent() {
// tv_skip.setOnClickListener { skip_bind.setOnClickListener {
// ActionCountUtils.count(uid = "", partId = UserBIConstants.PART_ID_LOGIN_MAIN, position = UserBIConstants.POSITION_LOOK_AROUND_CLICK, url = "无url",api = "无api", sign1 = "") ActionCountUtils.count(uid = "", partId = UserBIConstants.PART_ID_LOGIN_MAIN, position = UserBIConstants.POSITION_LOOK_AROUND_CLICK, url = "无url",api = "无api", sign1 = "")
// RxKeyboardTool.hideSoftInput(this) RxKeyboardTool.hideSoftInput(this)
// onBackPressed() onBackPressed()
// } }
img_reg_back.setOnClickListener { img_reg_back.setOnClickListener {
RxKeyboardTool.hideSoftInput(this) RxKeyboardTool.hideSoftInput(this)
onBackPressed() onBackPressed()
...@@ -474,14 +475,15 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont ...@@ -474,14 +475,15 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
if (bindPhone != 1) { if (bindPhone != 1) {
countryCode = userInfo.country_code countryCode = userInfo.country_code
isUmengLoginState = true isUmengLoginState = true
// tv_skip.visibility = View.VISIBLE skip_bind.visibility = View.VISIBLE
// tv_des.text = "首次绑定即送大礼包" // tv_des.text = "首次绑定即送大礼包"
// tv_des.visibility = View.GONE // tv_des.visibility = View.GONE
iv_select_protocol.visibility = View.GONE iv_select_protocol.visibility = View.GONE
// tv_des_first.visibility = View.VISIBLE // tv_des_first.visibility = View.VISIBLE
bind_phone_hint.visibility=View.VISIBLE
login_wechat.visibility = View.GONE login_wechat.visibility = View.GONE
login_qq.visibility = View.GONE login_qq.visibility = View.GONE
tv_login_title.text = "手机号绑定" tv_login_title.text = "绑定手机号"
tv_protocol.visibility = View.GONE tv_protocol.visibility = View.GONE
} else { } else {
LoginUtils.LoginSuccessOperate(this) LoginUtils.LoginSuccessOperate(this)
......
...@@ -2,18 +2,22 @@ package com.yidianling.user.ui.login ...@@ -2,18 +2,22 @@ package com.yidianling.user.ui.login
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Handler import android.os.Handler
import android.support.v4.content.ContextCompat import android.support.v4.content.ContextCompat
import android.text.TextUtils import android.text.TextUtils
import android.view.View import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import com.ydl.ydlcommon.base.BaseMvpActivity import com.ydl.ydlcommon.base.BaseMvpActivity
import com.ydl.ydlcommon.bean.StatusBarOptions
import com.ydl.ydlcommon.utils.ActivityManager import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.DeviceTool
import com.ydl.ydlcommon.utils.StatusBarUtils import com.ydl.ydlcommon.utils.StatusBarUtils
import com.ydl.ydlcommon.utils.YDLCacheUtils import com.ydl.ydlcommon.utils.YDLCacheUtils
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.yidianling.common.tools.LogUtil
import com.yidianling.common.tools.RxKeyboardTool import com.yidianling.common.tools.RxKeyboardTool
import com.yidianling.common.tools.ToastUtil import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.LoginUtils import com.yidianling.user.LoginUtils
...@@ -21,17 +25,16 @@ import com.yidianling.user.R ...@@ -21,17 +25,16 @@ import com.yidianling.user.R
import com.yidianling.user.UserHelper import com.yidianling.user.UserHelper
import com.yidianling.user.constants.UserBIConstants import com.yidianling.user.constants.UserBIConstants
import com.yidianling.user.http.request.BindPhoneJavaParam import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.route.UserIn
import com.yidianling.user.safePrivate.FingerPrintCheckActivity
import com.yidianling.user.safePrivate.FingerPrintUtil
import com.yidianling.user.safePrivate.HandUnlockCheckActivity
import com.yidianling.user.ui.login.contract.IVerificationCodeContract import com.yidianling.user.ui.login.contract.IVerificationCodeContract
import com.yidianling.user.ui.login.presenter.VerificationCodePresenterImpl import com.yidianling.user.ui.login.presenter.VerificationCodePresenterImpl
import com.yidianling.user.widget.PinField.HighlightType
import com.yidianling.user.widget.PinField.PinField
import com.yidianling.user.widget.ZDialog
import io.reactivex.Observable import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.user_activity_verification_code.* import kotlinx.android.synthetic.main.user_activity_verification_code_new.*
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
/** /**
...@@ -43,7 +46,7 @@ import java.util.concurrent.TimeUnit ...@@ -43,7 +46,7 @@ import java.util.concurrent.TimeUnit
*/ */
class VerificationCodeActivity : class VerificationCodeActivity :
BaseMvpActivity<IVerificationCodeContract.View, IVerificationCodeContract.Presenter>(), BaseMvpActivity<IVerificationCodeContract.View, IVerificationCodeContract.Presenter>(),
IVerificationCodeContract.View { IVerificationCodeContract.View, View.OnClickListener {
private var codeType = STATUS_LOGIN_BY_CODE//页面状态: 1 忘记密码界面 2验证码登录界面 private var codeType = STATUS_LOGIN_BY_CODE//页面状态: 1 忘记密码界面 2验证码登录界面
private var userPhoneNumber: String? = null private var userPhoneNumber: String? = null
...@@ -51,7 +54,7 @@ class VerificationCodeActivity : ...@@ -51,7 +54,7 @@ class VerificationCodeActivity :
private var hasPassword = false private var hasPassword = false
private var countryCode: String? = null private var countryCode: String? = null
private var msgCodeDispoable: Disposable? = null private var msgCodeDispoable: Disposable? = null
private var mKeFuDialog: ZDialog? = null
companion object { companion object {
var STATUS_FORGET_PWD = 1//忘记密码界面 var STATUS_FORGET_PWD = 1//忘记密码界面
var STATUS_LOGIN_BY_CODE = 2//验证码登录界面 var STATUS_LOGIN_BY_CODE = 2//验证码登录界面
...@@ -119,7 +122,7 @@ class VerificationCodeActivity : ...@@ -119,7 +122,7 @@ class VerificationCodeActivity :
} }
override fun layoutResId(): Int { override fun layoutResId(): Int {
return R.layout.user_activity_verification_code return R.layout.user_activity_verification_code_new
} }
override fun initDataAndEvent() { override fun initDataAndEvent() {
...@@ -128,11 +131,14 @@ class VerificationCodeActivity : ...@@ -128,11 +131,14 @@ class VerificationCodeActivity :
initView() initView()
setClickEvent() setClickEvent()
sendMsgCode() sendMsgCode()
showSoftKeyBord() verify_code.postDelayed({
showSoftKeyboardNew(verify_code)
},350)
} }
private fun setWindowStatusBarColor() { private fun setWindowStatusBarColor() {
StatusBarUtils.setWindowStatusBarColor(this, R.color.platform_color_075b66) StatusBarUtils.Companion.setWindowStatusBarColor(this, R.color.white)
StatusBarUtils.Companion.setStatusBarLightMode(this,true)
} }
private fun getIntentData() { private fun getIntentData() {
...@@ -144,44 +150,57 @@ class VerificationCodeActivity : ...@@ -144,44 +150,57 @@ class VerificationCodeActivity :
} }
private fun initView() { private fun initView() {
/*
* 注册登录改版优化,忘记密码界面和验证码登录界面没有UI区分
*
* */
when (codeType) { when (codeType) {
STATUS_FORGET_PWD -> {//忘记密码界面 STATUS_FORGET_PWD -> {//忘记密码界面
tv_title.text = "身份认证" // tv_title.text = "身份认证"
tv_first.visibility = View.VISIBLE // tv_first.visibility = View.VISIBLE
tv_passWord.visibility = View.GONE // tv_passWord.visibility = View.GONE
} }
STATUS_LOGIN_BY_CODE -> {//验证码登录界面 STATUS_LOGIN_BY_CODE -> {//验证码登录界面
if (hasPassword) { if (hasPassword) {
tv_passWord.visibility = View.VISIBLE login_password.visibility = View.VISIBLE
} else { } else {
tv_passWord.visibility = View.GONE login_password.visibility = View.GONE
} }
} }
} }
if (!TextUtils.isEmpty(userPhoneNumber) && userPhoneNumber!!.length == 11) { if (!TextUtils.isEmpty(userPhoneNumber) && userPhoneNumber!!.length == 11) {
val sb = StringBuffer(userPhoneNumber) val sb = StringBuffer(userPhoneNumber)
sb.insert(3, " ") sb.insert(3, " ")
sb.insert(8, " ") sb.insert(8, " ")
tv_phone.text = sb.toString() tv_phone.text = "已发送至 +"+sb.toString()
} else { } else {
tv_phone.text = userPhoneNumber tv_phone.text = userPhoneNumber
} }
if (codeType == STATUS_FORGET_PWD) {//忘记密码界面 if (codeType == STATUS_FORGET_PWD) {//忘记密码界面
tv_title.text = "身份认证" // tv_title.text = "身份认证"
tv_first.visibility = View.VISIBLE // tv_first.visibility = View.VISIBLE
tv_passWord.visibility = View.GONE // tv_passWord.visibility = View.GONE
}
}
fun showSoftKeyboardNew(editText: EditText?) {
editText?.let {
it.requestFocus()
val inputManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputManager.showSoftInput(editText, 0)
} }
} }
private fun setClickEvent() { private fun setClickEvent() {
pc_1.setOnMsgCodeInputCompleteListener { verify_code.onTextCompleteListener=object :PinField.OnTextCompleteListener{
override fun onTextComplete(enteredText: String): Boolean {
login() login()
return true
}
} }
img_goback.setOnClickListener { not_get_code.setOnClickListener(this)
img_reg_back.setOnClickListener {
if (ActivityManager.getInstance().getSecondTaskActivity() == null) { if (ActivityManager.getInstance().getSecondTaskActivity() == null) {
closeAnim(true) closeAnim(true)
} else { } else {
...@@ -194,7 +213,7 @@ class VerificationCodeActivity : ...@@ -194,7 +213,7 @@ class VerificationCodeActivity :
} }
} }
} }
//下一步 /*//下一步
ver_iv_next.setOnClickListener { ver_iv_next.setOnClickListener {
if (TextUtils.isEmpty(pc_1.phoneCode) || pc_1.phoneCode.length != 4) { if (TextUtils.isEmpty(pc_1.phoneCode) || pc_1.phoneCode.length != 4) {
...@@ -202,16 +221,14 @@ class VerificationCodeActivity : ...@@ -202,16 +221,14 @@ class VerificationCodeActivity :
return@setOnClickListener return@setOnClickListener
} }
login() login()
} }*/
//重新发送验证码 //重新发送验证码
tv_countdown_time.setOnClickListener { tv_countdown_time.setOnClickListener {
sendMsgCode() sendMsgCode()
} }
tv_passWord.setOnClickListener { login_password.setOnClickListener {
if (ActivityManager.getInstance().getSecondTaskActivity() == null) { if (ActivityManager.getInstance().getSecondTaskActivity() == null) {
closeAnim(true) closeAnim(true)
} else { } else {
...@@ -226,18 +243,13 @@ class VerificationCodeActivity : ...@@ -226,18 +243,13 @@ class VerificationCodeActivity :
} }
} }
private fun showSoftKeyBord() {
Handler().postDelayed({
RxKeyboardTool.showKeyboard(this, true)
}, 300)
}
/** /**
* 登录 * 登录
*/ */
fun login() { fun login() {
val msgCode = pc_1.phoneCode val msgCode = verify_code.text.toString()
if (codeType == STATUS_LOGIN_BY_CODE) {//验证码登录界面 if (codeType == STATUS_LOGIN_BY_CODE) {//验证码登录界面
if (isBindPhone) { if (isBindPhone) {
var param = BindPhoneJavaParam( var param = BindPhoneJavaParam(
...@@ -265,6 +277,14 @@ class VerificationCodeActivity : ...@@ -265,6 +277,14 @@ class VerificationCodeActivity :
) )
} }
override fun verificationErrorCode() {
//验证码异常回调
verify_code.highlightSingleFieldType= HighlightType.ALL_FIELDS
verify_code.highlightPaintColor=getColor(R.color.user_bgcolorred)
verify_code.invalidate()
dismissProgressDialog()
}
/** /**
*发送验证码 *发送验证码
*/ */
...@@ -313,7 +333,7 @@ class VerificationCodeActivity : ...@@ -313,7 +333,7 @@ class VerificationCodeActivity :
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
override fun startCountdown(remainTime: Int) { override fun startCountdown(remainTime: Int) {
tv_countdown_time.isEnabled = false tv_countdown_time.isEnabled = false
tv_countdown_time.setTextColor(ContextCompat.getColor(this, R.color.platform_white)) tv_countdown_time.setTextColor(ContextCompat.getColor(this, R.color.platform_color_999999))
msgCodeDispoable = Observable.interval(0, 1, TimeUnit.SECONDS) msgCodeDispoable = Observable.interval(0, 1, TimeUnit.SECONDS)
.subscribeOn(Schedulers.computation()) .subscribeOn(Schedulers.computation())
...@@ -356,12 +376,17 @@ class VerificationCodeActivity : ...@@ -356,12 +376,17 @@ class VerificationCodeActivity :
*菊花框 *菊花框
*/ */
override fun showLoading(state: Boolean) { override fun showLoading(state: Boolean) {
if (state) { /*if (state) {
ver_iv_next.visibility = View.GONE ver_iv_next.visibility = View.GONE
pb_load.visibility = View.VISIBLE pb_load.visibility = View.VISIBLE
} else { } else {
ver_iv_next.visibility = View.VISIBLE ver_iv_next.visibility = View.VISIBLE
pb_load.visibility = View.GONE pb_load.visibility = View.GONE
}*/
if (state){
showProgressDialog()
}else{
dismissProgressDialog()
} }
} }
...@@ -379,7 +404,11 @@ class VerificationCodeActivity : ...@@ -379,7 +404,11 @@ class VerificationCodeActivity :
// val shake = AnimationUtils.loadAnimation(this, R.anim.user_shake_input)//加载动画资源文件  // val shake = AnimationUtils.loadAnimation(this, R.anim.user_shake_input)//加载动画资源文件 
// pc_1.startAnimation(shake) // pc_1.startAnimation(shake)
//设置红色边框 //设置红色边框
pc_1.setErrorColor() // verify_code.setErrorColor()
//验证码设置红色边框,验证码错误&验证码过期
} }
private fun closeAnim(hasAnim: Boolean) { private fun closeAnim(hasAnim: Boolean) {
...@@ -390,4 +419,33 @@ class VerificationCodeActivity : ...@@ -390,4 +419,33 @@ class VerificationCodeActivity :
overridePendingTransition(0, 0) overridePendingTransition(0, 0)
} }
} }
override fun onClick(v: View?) {
when(v?.id){
R.id.not_get_code->{
showKeFuDialog()
}
}
}
private fun showKeFuDialog() {
if (mKeFuDialog == null) {
mKeFuDialog = ZDialog.Builder(this)
.setContentView(R.layout.user_kefu_tipdialog)
.setOnClickListener(R.id.cancel_dialog) {
mKeFuDialog?.dismiss()
}
.setAnimation(0)//取消动画
.setOnClickListener(R.id.dial_right_now) {
val dialIntent =
Intent(
Intent.ACTION_DIAL,
Uri.parse(String.format("tel:" + "400-765-1010"))
)
startActivity(dialIntent)
}
.show()
}
}
} }
...@@ -52,6 +52,11 @@ interface IVerificationCodeContract { ...@@ -52,6 +52,11 @@ interface IVerificationCodeContract {
* 百度监测埋点 * 百度监测埋点
*/ */
fun baiduActionBury() fun baiduActionBury()
/*
* 验证码错误&异常超时等回调
* */
fun verificationErrorCode()
} }
interface Presenter : IPresenter< View> { interface Presenter : IPresenter< View> {
......
package com.yidianling.user.ui.login.presenter package com.yidianling.user.ui.login.presenter
import android.annotation.SuppressLint
import android.text.TextUtils import android.text.TextUtils
import com.ydl.ydlcommon.modular.ModularServiceManager import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.mvp.base.BasePresenter import com.ydl.ydlcommon.mvp.base.BasePresenter
...@@ -129,6 +130,7 @@ class VerificationCodePresenterImpl(view: IVerificationCodeContract.View) : Base ...@@ -129,6 +130,7 @@ class VerificationCodePresenterImpl(view: IVerificationCodeContract.View) : Base
/** /**
* 验证码验证码登录 * 验证码验证码登录
*/ */
@SuppressLint("CheckResult")
override fun loginByMsgCode(phone: String, phoneCountryCode: String, msgCode: String) { override fun loginByMsgCode(phone: String, phoneCountryCode: String, msgCode: String) {
ActionCountUtils.count(UserBIConstants.POSITION_LOGIN_CLICK,UserBIConstants.ACTION_TYPE_CODE_LOGIN) ActionCountUtils.count(UserBIConstants.POSITION_LOGIN_CLICK,UserBIConstants.ACTION_TYPE_CODE_LOGIN)
var param = PhoneLoginCodeParam(msgCode, phoneCountryCode, phone) var param = PhoneLoginCodeParam(msgCode, phoneCountryCode, phone)
...@@ -152,7 +154,9 @@ class VerificationCodePresenterImpl(view: IVerificationCodeContract.View) : Base ...@@ -152,7 +154,9 @@ class VerificationCodePresenterImpl(view: IVerificationCodeContract.View) : Base
} }
mView.closeActivity() mView.closeActivity()
} else { } else {
mView.startAnim() ToastUtil.toastShort(it.msg)//服务端返回{验证码错误&异常}信息
// mView.startAnim()
mView.verificationErrorCode()
} }
}, { }, {
mView.startAnim() mView.startAnim()
......
...@@ -82,7 +82,7 @@ open class PinField : AppCompatEditText { ...@@ -82,7 +82,7 @@ open class PinField : AppCompatEditText {
protected var yPadding = dp2px(10f) protected var yPadding = dp2px(10f)
protected var highlightSingleFieldType = public var highlightSingleFieldType =
HighlightType.ALL_FIELDS HighlightType.ALL_FIELDS
private var lastCursorChangeState: Long = -1 private var lastCursorChangeState: Long = -1
...@@ -90,7 +90,7 @@ open class PinField : AppCompatEditText { ...@@ -90,7 +90,7 @@ open class PinField : AppCompatEditText {
private var cursorCurrentVisible = true private var cursorCurrentVisible = true
private val cursorTimeout = 500L private val cursorTimeout = 500L
// public var fieldBgColor=0
var isCustomBackground = false var isCustomBackground = false
set(value) { set(value) {
if (!value) { if (!value) {
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
android:text="设置新密码2/2" android:text="设置新密码2/2"
android:textColor="#2EB0FF" android:textColor="#2EB0FF"
android:textSize="11dp" android:textSize="11dp"
android:visibility="invisible" /> android:visibility="visible" />
<TextView <TextView
android:id="@+id/input_password" android:id="@+id/input_password"
......
...@@ -2,19 +2,21 @@ ...@@ -2,19 +2,21 @@
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/white"
>
<ImageView <ImageView
android:id="@+id/img_reg_back" android:id="@+id/img_reg_back"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/platform_dp_16" android:layout_marginStart="@dimen/platform_dp_16"
android:layout_marginTop="@dimen/platform_dp_20" android:layout_marginTop="@dimen/platform_dp_30"
android:src="@drawable/user_ic_back_black" android:src="@drawable/user_ic_back_black"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
/> />
<TextView <TextView
android:id="@+id/tv_login_title" android:id="@+id/tv_password_orSet_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/platform_dp_40" android:layout_marginTop="@dimen/platform_dp_40"
...@@ -29,9 +31,9 @@ ...@@ -29,9 +31,9 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
app:layout_constraintTop_toBottomOf="@id/tv_login_title" app:layout_constraintTop_toBottomOf="@id/tv_password_orSet_title"
android:layout_marginTop="100dp" android:layout_marginTop="100dp"
app:layout_constraintLeft_toLeftOf="@id/tv_login_title" app:layout_constraintLeft_toLeftOf="@id/tv_password_orSet_title"
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:background="@null"
android:digits="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" android:digits="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
...@@ -48,7 +50,7 @@ ...@@ -48,7 +50,7 @@
android:layout_marginEnd="@dimen/platform_dp_40" android:layout_marginEnd="@dimen/platform_dp_40"
android:background="@color/platform_color_EBEBEB" android:background="@color/platform_color_EBEBEB"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_login_title" app:layout_constraintStart_toStartOf="@id/tv_password_orSet_title"
app:layout_constraintTop_toBottomOf="@id/et_input_password" app:layout_constraintTop_toBottomOf="@id/et_input_password"
/> />
<ImageView <ImageView
...@@ -71,6 +73,7 @@ ...@@ -71,6 +73,7 @@
app:layout_constraintEnd_toEndOf="@id/view_lin" app:layout_constraintEnd_toEndOf="@id/view_lin"
android:layout_marginEnd="@dimen/platform_dp_27" android:layout_marginEnd="@dimen/platform_dp_27"
android:id="@+id/forget_password_hint" android:id="@+id/forget_password_hint"
android:visibility="gone"
> >
</TextView> </TextView>
<TextView <TextView
...@@ -133,7 +136,6 @@ ...@@ -133,7 +136,6 @@
app:layout_constraintStart_toStartOf="@id/tv_msm_login" app:layout_constraintStart_toStartOf="@id/tv_msm_login"
app:layout_constraintEnd_toEndOf="@id/tv_forget" app:layout_constraintEnd_toEndOf="@id/tv_forget"
android:layout_marginTop="@dimen/platform_dp_40" android:layout_marginTop="@dimen/platform_dp_40"
app:layout_goneMarginTop="@dimen/platform_dp_40"
/> />
<include layout="@layout/user_activity_register_and_login_bottom" />
</android.support.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout>
\ No newline at end of file
...@@ -64,7 +64,31 @@ ...@@ -64,7 +64,31 @@
android:textSize="22sp" android:textSize="22sp"
app:layout_constraintLeft_toRightOf="@id/img_reg_back" app:layout_constraintLeft_toRightOf="@id/img_reg_back"
app:layout_constraintTop_toBottomOf="@id/img_reg_back" /> app:layout_constraintTop_toBottomOf="@id/img_reg_back" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tv_login_title"
app:layout_constraintStart_toStartOf="@id/tv_login_title"
android:text="请输入您的常用手机号"
android:textColor="@color/platform_color_242424"
android:textSize="13sp"
android:layout_marginTop="@dimen/platform_dp_5"
android:id="@+id/bind_phone_hint"
android:visibility="gone"
>
</TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳过"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/img_reg_back"
app:layout_constraintBottom_toBottomOf="@id/img_reg_back"
android:layout_marginEnd="@dimen/platform_dp_16"
android:id="@+id/skip_bind"
android:visibility="gone"
>
</TextView>
<TextView <TextView
android:id="@+id/country_code" android:id="@+id/country_code"
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
...@@ -3,14 +3,15 @@ ...@@ -3,14 +3,15 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:background="@color/white"
>
<ImageView <ImageView
android:id="@+id/img_reg_back" android:id="@+id/img_reg_back"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/platform_dp_16" android:layout_marginStart="@dimen/platform_dp_16"
android:layout_marginTop="@dimen/platform_dp_20" android:layout_marginTop="@dimen/platform_dp_30"
android:src="@drawable/user_ic_back_black" android:src="@drawable/user_ic_back_black"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
...@@ -20,7 +21,7 @@ ...@@ -20,7 +21,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/platform_dp_40" android:layout_marginTop="@dimen/platform_dp_40"
android:text="输入短信验证码" android:text="输入验证码"
android:textColor="@color/pay_color_242424" android:textColor="@color/pay_color_242424"
android:textSize="22sp" android:textSize="22sp"
app:layout_constraintLeft_toRightOf="@id/img_reg_back" app:layout_constraintLeft_toRightOf="@id/img_reg_back"
...@@ -85,6 +86,7 @@ ...@@ -85,6 +86,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="收不到验证码?" android:text="收不到验证码?"
android:textSize="13sp" android:textSize="13sp"
android:id="@+id/not_get_code"
android:textColor="@color/platform_color_666666" android:textColor="@color/platform_color_666666"
app:layout_constraintRight_toRightOf="@id/verify_code" app:layout_constraintRight_toRightOf="@id/verify_code"
app:layout_constraintTop_toTopOf="@id/login_password" app:layout_constraintTop_toTopOf="@id/login_password"
......
...@@ -25,4 +25,5 @@ ...@@ -25,4 +25,5 @@
<color name="user_pinFieldLibraryAccent">#1da1f2</color> <color name="user_pinFieldLibraryAccent">#1da1f2</color>
<color name="user_inactivePinFieldColor">#ebebeb</color> <color name="user_inactivePinFieldColor">#ebebeb</color>
<color name="user_pinFieldLibraryTransparent">#00000000</color> <color name="user_pinFieldLibraryTransparent">#00000000</color>
<color name="user_bgcolorred">#990000</color>
</resources> </resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment