Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
f651a61a
Commit
f651a61a
authored
Jun 21, 2022
by
霍志良
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feat/zl/registerdialog' into 'release'
未勾选协议时弹窗自动勾选 See merge request app_android_lib/YDL-Component!170
parents
f35d39b7
646a36ed
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
201 additions
and
5 deletions
+201
-5
RegisterAndLoginActivity.kt
m-user/src/main/java/com/yidianling/user/ui/login/RegisterAndLoginActivity.kt
+34
-4
AgreePrivacyBottomDialog.kt
m-user/src/main/java/com/yidianling/user/widget/AgreePrivacyBottomDialog.kt
+85
-0
user_agree_dialog_top_right_left.xml
m-user/src/main/res/drawable/user_agree_dialog_top_right_left.xml
+8
-0
user_agree_privacy_dialog.xml
m-user/src/main/res/layout/user_agree_privacy_dialog.xml
+73
-0
ErrorMessageConverter.java
ydl-tuicore/src/main/java/com/tencent/qcloud/tuicore/util/ErrorMessageConverter.java
+1
-1
No files found.
m-user/src/main/java/com/yidianling/user/ui/login/RegisterAndLoginActivity.kt
View file @
f651a61a
...
@@ -51,10 +51,15 @@ import com.yidianling.user.safePrivate.HandUnlockCheckActivity
...
@@ -51,10 +51,15 @@ import com.yidianling.user.safePrivate.HandUnlockCheckActivity
import
com.yidianling.user.ui.CountryListActivity
import
com.yidianling.user.ui.CountryListActivity
import
com.yidianling.user.ui.login.contract.ILoginContract
import
com.yidianling.user.ui.login.contract.ILoginContract
import
com.yidianling.user.ui.login.presenter.LoginPresenterImpl
import
com.yidianling.user.ui.login.presenter.LoginPresenterImpl
import
com.yidianling.user.widget.AgreePrivacyBottomDialog
import
com.yidianling.user.widget.SecretDialog
import
com.yidianling.user.widget.ZDialog
import
com.yidianling.user.widget.ZDialogDirection
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.schedulers.Schedulers
import
io.reactivex.schedulers.Schedulers
import
kotlinx.android.synthetic.main.user_activity_register_and_login_bottom.*
import
kotlinx.android.synthetic.main.user_activity_register_and_login_bottom.*
import
kotlinx.android.synthetic.main.user_activity_register_and_login_new.*
import
kotlinx.android.synthetic.main.user_activity_register_and_login_new.*
import
kotlinx.android.synthetic.main.user_activity_secret.*
/**
/**
* @author jiucheng
* @author jiucheng
...
@@ -78,6 +83,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
...
@@ -78,6 +83,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
private
var
handler
:
Handler
?
=
null
private
var
handler
:
Handler
?
=
null
private
var
isFromGuide
=
false
//是否来自启动页
private
var
isFromGuide
=
false
//是否来自启动页
private
var
isFromOneKeyLogin
=
false
// 是否来自一键登录界面
private
var
isFromOneKeyLogin
=
false
// 是否来自一键登录界面
private
var
bottomDialog
:
AgreePrivacyBottomDialog
?
=
null
companion
object
{
companion
object
{
private
var
BIND_PHONE
=
"bind_phone"
//用于判断时候是绑定手机号
private
var
BIND_PHONE
=
"bind_phone"
//用于判断时候是绑定手机号
...
@@ -317,9 +323,11 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
...
@@ -317,9 +323,11 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
et_phone_number
.
hint
=
SpannedString
(
hintStr
)
et_phone_number
.
hint
=
SpannedString
(
hintStr
)
}
}
/**
/**
* 设置点击事件
* 设置点击事件
*/
*/
@SuppressLint
(
"WrongConstant"
)
private
fun
setClickEvent
()
{
private
fun
setClickEvent
()
{
skip_bind
.
setOnClickListener
{
skip_bind
.
setOnClickListener
{
ActionCountUtils
.
count
(
UserBIConstants
.
USER_REGISTER_PAGE_SKIP_CLICK
)
ActionCountUtils
.
count
(
UserBIConstants
.
USER_REGISTER_PAGE_SKIP_CLICK
)
...
@@ -393,12 +401,34 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
...
@@ -393,12 +401,34 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
startActivityForResult
(
intent
,
REQUEST_CODE_COUNTRY
)
startActivityForResult
(
intent
,
REQUEST_CODE_COUNTRY
)
overridePendingTransition
(
R
.
anim
.
platform_slide_in_from_bottom
,
R
.
anim
.
user_slide_null
)
overridePendingTransition
(
R
.
anim
.
platform_slide_in_from_bottom
,
R
.
anim
.
user_slide_null
)
}
}
//下一步
//下一步
ll_next
.
setOnClickListener
{
ll_next
.
setOnClickListener
{
if
(
iv_select_protocol
.
visibility
==
View
.
VISIBLE
&&
!
isAgreeProtocol
)
{
if
(
iv_select_protocol
.
visibility
==
View
.
VISIBLE
&&
!
isAgreeProtocol
&&
!
et_phone_number
.
text
.
isNullOrEmpty
())
{
val
shake
=
AnimationUtils
.
loadAnimation
(
this
,
R
.
anim
.
user_shake_input
)
//加载动画资源文件
if
(
null
==
bottomDialog
)
{
check_protocol
.
startAnimation
(
shake
)
bottomDialog
=
AgreePrivacyBottomDialog
(
ToastUtil
.
toastShort
(
"请您先同意壹点灵《用户使用协议》、《隐私保护政策》,才能登录使用"
)
this
,
object
:
AgreePrivacyBottomDialog
.
OnAgreeBottomListener
{
override
fun
onCancel
()
{
}
override
fun
onSure
()
{
isAgreeProtocol
=
true
iv_select_protocol
.
setImageResource
(
R
.
drawable
.
user_login_protocol_selected_new
)
if
(
checkPhone
())
{
mPresenter
.
checkPhoneStatus
(
userPhoneNumber
!!
,
countryCode
!!
,
isBindPhone
)
}
}
})
bottomDialog
?.
show
()
}
else
{
bottomDialog
?.
show
()
}
return
@setOnClickListener
return
@setOnClickListener
}
}
if
(
checkPhone
())
{
if
(
checkPhone
())
{
...
...
m-user/src/main/java/com/yidianling/user/widget/AgreePrivacyBottomDialog.kt
0 → 100644
View file @
f651a61a
package
com.yidianling.user.widget
import
android.app.Dialog
import
android.content.Context
import
android.os.Bundle
import
android.text.Spannable
import
android.text.SpannableString
import
android.text.TextPaint
import
android.text.method.LinkMovementMethod
import
android.text.style.ClickableSpan
import
android.view.Gravity
import
android.view.View
import
android.view.WindowManager
import
androidx.core.content.ContextCompat
import
com.yidianling.user.R
import
com.yidianling.user.ui.login.H5Activity
import
kotlinx.android.synthetic.main.user_agree_privacy_dialog.*
class
AgreePrivacyBottomDialog
(
context
:
Context
,
private
val
listener
:
OnAgreeBottomListener
?)
:
Dialog
(
context
,
R
.
style
.
platform_dialog_default_style
)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
user_agree_privacy_dialog
)
val
params
=
window
.
attributes
params
.
width
=
WindowManager
.
LayoutParams
.
MATCH_PARENT
params
.
height
=
WindowManager
.
LayoutParams
.
WRAP_CONTENT
window
.
setGravity
(
Gravity
.
BOTTOM
)
window
.
attributes
=
params
user_dialog_no_agree
.
setOnClickListener
{
//拒绝
listener
?.
onCancel
()
dismiss
()
}
user_dialog_secret_agree
.
setOnClickListener
{
//同意
listener
?.
onSure
()
dismiss
()
}
user_agree_dialog_protocol
.
text
=
agreeDialogProtocol
()
user_agree_dialog_protocol
.
movementMethod
=
LinkMovementMethod
.
getInstance
()
}
interface
OnAgreeBottomListener
{
fun
onCancel
()
fun
onSure
()
}
private
fun
agreeDialogProtocol
():
SpannableString
{
val
name
=
"请先同意"
+
context
.
resources
.
getString
(
R
.
string
.
user_login_name_start
)
val
str
=
"${name}用户使用协议、隐私\n保护政策才能登录使用哦"
var
start
=
name
.
length
val
spannableString
=
SpannableString
(
str
)
spannableString
.
setSpan
(
object
:
ClickableSpan
()
{
override
fun
updateDrawState
(
ds
:
TextPaint
)
{
super
.
updateDrawState
(
ds
)
ds
.
color
=
ContextCompat
.
getColor
(
context
,
R
.
color
.
user_1da1f2trans
)
ds
.
isUnderlineText
=
true
//设置下划线
}
override
fun
onClick
(
widget
:
View
)
{
H5Activity
.
start
(
context
,
false
)
}
},
start
,
start
+
6
,
Spannable
.
SPAN_EXCLUSIVE_EXCLUSIVE
)
spannableString
.
setSpan
(
object
:
ClickableSpan
()
{
override
fun
updateDrawState
(
ds
:
TextPaint
)
{
super
.
updateDrawState
(
ds
)
ds
.
color
=
ContextCompat
.
getColor
(
context
,
R
.
color
.
user_1da1f2trans
)
ds
.
isUnderlineText
=
true
//设置下划线
}
override
fun
onClick
(
widget
:
View
)
{
H5Activity
.
start
(
context
,
true
)
}
},
start
+
7
,
start
+
13
,
Spannable
.
SPAN_EXCLUSIVE_EXCLUSIVE
)
return
spannableString
}
}
\ No newline at end of file
m-user/src/main/res/drawable/user_agree_dialog_top_right_left.xml
0 → 100644
View file @
f651a61a
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:topLeftRadius=
"@dimen/platform_dp_8"
android:topRightRadius=
"@dimen/platform_dp_8"
/>
<solid
android:color=
"@color/white"
/>
</shape>
\ No newline at end of file
m-user/src/main/res/layout/user_agree_privacy_dialog.xml
0 → 100644
View file @
f651a61a
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/user_agree_dialog_top_right_left"
>
<TextView
android:id=
"@+id/user_agree_title"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/platform_dp_28"
android:text=
"使用协议及隐私保护"
android:textColor=
"@color/pay_color_242424"
android:textSize=
"18sp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
></TextView>
<TextView
android:id=
"@+id/user_agree_dialog_protocol"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/platform_dp_28"
android:text=
"请先同意协议才能登录使用哦"
android:textColor=
"@color/platform_color_BFBFBF"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/user_agree_title"
></TextView>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/platform_dp_40"
android:layout_marginTop=
"@dimen/platform_dp_28"
android:layout_marginRight=
"@dimen/platform_dp_40"
android:layout_marginBottom=
"@dimen/platform_dp_40"
android:background=
"#ffffff"
android:orientation=
"horizontal"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/user_agree_dialog_protocol"
>
<TextView
android:id=
"@+id/user_dialog_no_agree"
android:layout_width=
"wrap_content"
android:layout_height=
"44dp"
android:layout_marginRight=
"@dimen/platform_dp_12"
android:layout_weight=
"1"
android:background=
"@drawable/user_secret_left_btn_bg"
android:gravity=
"center"
android:text=
"拒绝"
android:textColor=
"#999999"
android:textSize=
"17sp"
/>
<TextView
android:id=
"@+id/user_dialog_secret_agree"
android:layout_width=
"wrap_content"
android:layout_height=
"44dp"
android:layout_marginLeft=
"5.5dp"
android:layout_weight=
"1"
android:background=
"@drawable/user_secret_right_btn_bg"
android:gravity=
"center"
android:text=
"同意"
android:textColor=
"#FFFFFF"
android:textSize=
"17sp"
android:textStyle=
"bold"
/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
ydl-tuicore/src/main/java/com/tencent/qcloud/tuicore/util/ErrorMessageConverter.java
View file @
f651a61a
...
@@ -690,7 +690,7 @@ public class ErrorMessageConverter {
...
@@ -690,7 +690,7 @@ public class ErrorMessageConverter {
return
getLocalizedString
(
R
.
string
.
TUIKitErrorSVRNoSuccessResult
);
// @"批量操作无成功结果";
return
getLocalizedString
(
R
.
string
.
TUIKitErrorSVRNoSuccessResult
);
// @"批量操作无成功结果";
case
BaseConstants
.
ERR_TO_USER_INVALID
:
case
BaseConstants
.
ERR_TO_USER_INVALID
:
return
getLocalizedString
(
R
.
string
.
TUIKitErrorSVRToUserInvalid
);
// @"IM: 无效接收方";
return
getLocalizedString
(
R
.
string
.
TUIKitErrorSVRToUserInvalid
);
// @"IM: 无效接收方";
case
BaseConstants
.
ERR_REQUEST_TIMEOUT
:
case
BaseConstants
.
ERR_REQUEST_TIME
_
OUT
:
return
getLocalizedString
(
R
.
string
.
TUIKitErrorSVRRequestTimeout
);
// @"请求超时";
return
getLocalizedString
(
R
.
string
.
TUIKitErrorSVRRequestTimeout
);
// @"请求超时";
case
BaseConstants
.
ERR_INIT_CORE_FAIL
:
case
BaseConstants
.
ERR_INIT_CORE_FAIL
:
return
getLocalizedString
(
R
.
string
.
TUIKitErrorSVRInitCoreFail
);
// @"INIT CORE模块失败";
return
getLocalizedString
(
R
.
string
.
TUIKitErrorSVRInitCoreFail
);
// @"INIT CORE模块失败";
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment