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
36040170
Commit
36040170
authored
Apr 08, 2020
by
ydl
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/feature/daoyi_kuoliu' into 咨询加声网
# Conflicts: # config.gradle
parents
823d66fb
a5a3c6a2
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
551 additions
and
131 deletions
+551
-131
config.gradle
config.gradle
+1
-1
ExpertSearchActivity.kt
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchActivity.kt
+2
-0
ExpertSearchFragment.kt
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchFragment.kt
+2
-0
ConsultAssistantDialogUtils.kt
m-consultant/src/main/java/com/yidianling/consultant/modular/singlton/ConsultAssistantDialogUtils.kt
+4
-0
ImRetrofitApi.kt
m-im/src/main/java/com/yidianling/im/http/ImRetrofitApi.kt
+1
-1
YDLBaseMessageActivity.java
m-im/src/main/java/com/yidianling/uikit/business/session/activity/YDLBaseMessageActivity.java
+10
-0
YDLMessageFragment.java
m-im/src/main/java/com/yidianling/uikit/business/session/fragment/YDLMessageFragment.java
+86
-14
MaxHeightScrollView.java
m-im/src/main/java/com/yidianling/uikit/business/session/view/MaxHeightScrollView.java
+43
-0
ServiceApi.kt
m-im/src/main/java/com/yidianling/uikit/custom/http/ServiceApi.kt
+6
-1
ServiceImpl.kt
m-im/src/main/java/com/yidianling/uikit/custom/http/ServiceImpl.kt
+15
-2
NewUserMesBean.kt
m-im/src/main/java/com/yidianling/uikit/custom/http/response/NewUserMesBean.kt
+4
-0
TitleBarBottom.java
m-im/src/main/java/com/yidianling/uikit/custom/widget/TitleBarBottom.java
+11
-1
UserInfoDialog.kt
m-im/src/main/java/com/yidianling/uikit/custom/widget/UserInfoDialog.kt
+55
-0
styles.xml
m-im/src/main/res/values/styles.xml
+4
-0
user_info_icon.png
m-im/src/main/res_uikit/drawable-xhdpi/user_info_icon.png
+0
-0
im_user_info_dialog_bg.xml
m-im/src/main/res_uikit/drawable/im_user_info_dialog_bg.xml
+9
-0
im_nim_ui_title_bar_bottom.xml
m-im/src/main/res_uikit/layout/im_nim_ui_title_bar_bottom.xml
+128
-111
im_user_info_dialog_layout.xml
m-im/src/main/res_uikit/layout/im_user_info_dialog_layout.xml
+170
-0
No files found.
config.gradle
View file @
36040170
...
@@ -43,7 +43,7 @@ ext {
...
@@ -43,7 +43,7 @@ ext {
// -------------- 业务模块 --------------
// -------------- 业务模块 --------------
//第三步 若干
//第三步 若干
"m-confide"
:
"0.0.48.7.24"
,
"m-confide"
:
"0.0.48.7.24"
,
"m-consultant"
:
"0.0.5
7.4
"
,
"m-consultant"
:
"0.0.5
8.5
"
,
"m-fm"
:
"0.0.29.3"
,
"m-fm"
:
"0.0.29.3"
,
"m-user"
:
"0.0.60.1"
,
"m-user"
:
"0.0.60.1"
,
"m-home"
:
"0.0.19.1"
,
"m-home"
:
"0.0.19.1"
,
...
...
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchActivity.kt
View file @
36040170
...
@@ -87,6 +87,8 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
...
@@ -87,6 +87,8 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
initViews
()
initViews
()
initData
(
intent
)
initData
(
intent
)
ActionCountUtils
.
count
(
"main_page|app_consult_list_page_visit|app_consult_list_page_visit"
)
}
}
override
fun
getStatusViewOptions
():
StatusBarOptions
{
override
fun
getStatusViewOptions
():
StatusBarOptions
{
...
...
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchFragment.kt
View file @
36040170
...
@@ -73,6 +73,8 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
...
@@ -73,6 +73,8 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
title_layout
.
setPadding
(
DisplayUtils
.
dp2px
(
context
,
15
),
0
,
0
,
0
)
title_layout
.
setPadding
(
DisplayUtils
.
dp2px
(
context
,
15
),
0
,
0
,
0
)
initViews
()
initViews
()
initData
()
initData
()
ActionCountUtils
.
count
(
"main_page|app_consult_list_page_visit|app_consult_list_page_visit"
)
}
}
override
fun
initDataAndEventLazy
()
{
override
fun
initDataAndEventLazy
()
{
...
...
m-consultant/src/main/java/com/yidianling/consultant/modular/singlton/ConsultAssistantDialogUtils.kt
View file @
36040170
...
@@ -8,6 +8,7 @@ import android.text.TextUtils
...
@@ -8,6 +8,7 @@ import android.text.TextUtils
import
com.ydl.ydlcommon.data.http.ThrowableConsumer
import
com.ydl.ydlcommon.data.http.ThrowableConsumer
import
com.ydl.ydlcommon.utils.SharedPreferencesEditor
import
com.ydl.ydlcommon.utils.SharedPreferencesEditor
import
com.ydl.ydlcommon.utils.YdlBuryPointUtil
import
com.ydl.ydlcommon.utils.YdlBuryPointUtil
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.consultant.ConsultAssistantCenterActivity
import
com.yidianling.consultant.ConsultAssistantCenterActivity
...
@@ -104,6 +105,7 @@ class ConsultAssistantDialogUtils private constructor() {
...
@@ -104,6 +105,7 @@ class ConsultAssistantDialogUtils private constructor() {
object
:
ConsultAssistantDialog
.
OnConsultAssistantClickListener
{
object
:
ConsultAssistantDialog
.
OnConsultAssistantClickListener
{
override
fun
onClickAction
()
{
override
fun
onClickAction
()
{
//获取用户uid
//获取用户uid
ActionCountUtils
.
count
(
"main_page|main_daoyi_entry_click"
)
YdlBuryPointUtil
.
sendClick
(
"home_page_assistant_click"
)
YdlBuryPointUtil
.
sendClick
(
"home_page_assistant_click"
)
getConsultAssistantUid
(
activity
)
getConsultAssistantUid
(
activity
)
}
}
...
@@ -157,6 +159,7 @@ class ConsultAssistantDialogUtils private constructor() {
...
@@ -157,6 +159,7 @@ class ConsultAssistantDialogUtils private constructor() {
activity
,
activity
,
object
:
ConsultAssistantDialog
.
OnConsultAssistantClickListener
{
object
:
ConsultAssistantDialog
.
OnConsultAssistantClickListener
{
override
fun
onClickAction
()
{
override
fun
onClickAction
()
{
ActionCountUtils
.
count
(
"app_consult_list_page|app_consult_list_daoyi_entry_click"
)
YdlBuryPointUtil
.
sendClick
(
"assistant_list_click"
)
YdlBuryPointUtil
.
sendClick
(
"assistant_list_click"
)
// 咨询师列表页面且未登录情况下,跳转登录页面
// 咨询师列表页面且未登录情况下,跳转登录页面
if
(!
ConsultantIn
.
isLogin
())
{
if
(!
ConsultantIn
.
isLogin
())
{
...
@@ -178,6 +181,7 @@ class ConsultAssistantDialogUtils private constructor() {
...
@@ -178,6 +181,7 @@ class ConsultAssistantDialogUtils private constructor() {
activity
,
activity
,
object
:
ConsultAssistantDialog
.
OnConsultAssistantClickListener
{
object
:
ConsultAssistantDialog
.
OnConsultAssistantClickListener
{
override
fun
onClickAction
()
{
override
fun
onClickAction
()
{
ActionCountUtils
.
count
(
"app_consult_list_page|app_consult_list_daoyi_entry_click"
)
YdlBuryPointUtil
.
sendClick
(
"assistant_list_click"
)
YdlBuryPointUtil
.
sendClick
(
"assistant_list_click"
)
// 咨询师列表页面且未登录情况下,跳转登录页面
// 咨询师列表页面且未登录情况下,跳转登录页面
if
(!
ConsultantIn
.
isLogin
())
{
if
(!
ConsultantIn
.
isLogin
())
{
...
...
m-im/src/main/java/com/yidianling/im/http/ImRetrofitApi.kt
View file @
36040170
...
@@ -43,7 +43,7 @@ interface ImRetrofitApi {
...
@@ -43,7 +43,7 @@ interface ImRetrofitApi {
fun
getUserType
(
@Query
(
"targetUid"
)
uid
:
String
):
Observable
<
BaseResponse
<
UserTypeBean
>>
fun
getUserType
(
@Query
(
"targetUid"
)
uid
:
String
):
Observable
<
BaseResponse
<
UserTypeBean
>>
//根据专家uid获取私聊的目标uid(有可能是专家uid,有可能是助理uid)
//根据专家uid获取私聊的目标uid(有可能是专家uid,有可能是助理uid)
@GET
(
"
doctor
/chat-user"
)
@GET
(
"
consult/assistant
/chat-user"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
getChatUid
(
@Query
(
"doctorUid"
)
uid
:
String
):
Observable
<
BaseAPIResponse
<
DoctorAssistantRespDtoBean
>>
fun
getChatUid
(
@Query
(
"doctorUid"
)
uid
:
String
):
Observable
<
BaseAPIResponse
<
DoctorAssistantRespDtoBean
>>
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/activity/YDLBaseMessageActivity.java
View file @
36040170
...
@@ -12,6 +12,7 @@ import android.widget.LinearLayout;
...
@@ -12,6 +12,7 @@ import android.widget.LinearLayout;
import
android.widget.RelativeLayout
;
import
android.widget.RelativeLayout
;
import
com.ydl.ydlcommon.data.http.RxUtils
;
import
com.ydl.ydlcommon.data.http.RxUtils
;
import
com.ydl.ydlcommon.modular.ModularServiceManager
;
import
com.yidianling.common.tools.LogUtil
;
import
com.yidianling.common.tools.LogUtil
;
import
com.yidianling.common.tools.ToastUtil
;
import
com.yidianling.common.tools.ToastUtil
;
import
com.yidianling.im.R
;
import
com.yidianling.im.R
;
...
@@ -25,6 +26,7 @@ import com.yidianling.uikit.custom.bridge.ActionHandlerStorage;
...
@@ -25,6 +26,7 @@ import com.yidianling.uikit.custom.bridge.ActionHandlerStorage;
import
com.yidianling.uikit.custom.bridge.IP2PCustomActionHandler
;
import
com.yidianling.uikit.custom.bridge.IP2PCustomActionHandler
;
import
com.yidianling.uikit.custom.http.ServiceImpl
;
import
com.yidianling.uikit.custom.http.ServiceImpl
;
import
com.yidianling.uikit.custom.widget.TitleBarBottom
;
import
com.yidianling.uikit.custom.widget.TitleBarBottom
;
import
com.yidianling.user.api.service.IUserService
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.util.List
;
import
java.util.List
;
...
@@ -140,6 +142,14 @@ public abstract class YDLBaseMessageActivity extends UI {
...
@@ -140,6 +142,14 @@ public abstract class YDLBaseMessageActivity extends UI {
//小壹客服 不显示是否在线
//小壹客服 不显示是否在线
tb
.
setmMinTitleVisiable
(
View
.
GONE
);
tb
.
setmMinTitleVisiable
(
View
.
GONE
);
}
else
{
}
else
{
//对方是用户,自己是助理
if
(
ActionHandlerStorage
.
getL
(
sessionId
).
getUserType
()
==
1
&&
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUser_type
()
==
3
)
{
tb
.
setTitleTextRightIcon
(
R
.
drawable
.
user_info_icon
,
v
->
{
if
(
null
!=
messageFragment
)
{
messageFragment
.
showUserInfoDialog
();
}
});
}
if
(
ActionHandlerStorage
.
getL
(
sessionId
).
getUserType
()
==
2
)
{
if
(
ActionHandlerStorage
.
getL
(
sessionId
).
getUserType
()
==
2
)
{
// 专家
// 专家
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/fragment/YDLMessageFragment.java
View file @
36040170
...
@@ -76,10 +76,12 @@ import com.yidianling.uikit.custom.bridge.ActionHandlerStorage;
...
@@ -76,10 +76,12 @@ import com.yidianling.uikit.custom.bridge.ActionHandlerStorage;
import
com.yidianling.uikit.custom.bridge.IP2PCustomActionHandler
;
import
com.yidianling.uikit.custom.bridge.IP2PCustomActionHandler
;
import
com.yidianling.uikit.custom.http.ServiceImpl
;
import
com.yidianling.uikit.custom.http.ServiceImpl
;
import
com.yidianling.uikit.custom.http.response.CommonQuestionBean
;
import
com.yidianling.uikit.custom.http.response.CommonQuestionBean
;
import
com.yidianling.uikit.custom.http.response.NewUserMesBean
;
import
com.yidianling.uikit.custom.http.response.SubmitUserInfoBean
;
import
com.yidianling.uikit.custom.http.response.SubmitUserInfoBean
;
import
com.yidianling.uikit.custom.http.response.UserQuestInfoBean
;
import
com.yidianling.uikit.custom.http.response.UserQuestInfoBean
;
import
com.yidianling.uikit.custom.widget.ConfideOrderInfoView
;
import
com.yidianling.uikit.custom.widget.ConfideOrderInfoView
;
import
com.yidianling.uikit.custom.widget.ExpertInfoDialog
;
import
com.yidianling.uikit.custom.widget.ExpertInfoDialog
;
import
com.yidianling.uikit.custom.widget.UserInfoDialog
;
import
com.yidianling.uikit.custom.widget.expertConsultService.view.ExpertConsultServiceListDialog
;
import
com.yidianling.uikit.custom.widget.expertConsultService.view.ExpertConsultServiceListDialog
;
import
com.yidianling.user.api.service.IUserService
;
import
com.yidianling.user.api.service.IUserService
;
...
@@ -187,6 +189,8 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -187,6 +189,8 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
private
String
server_num
;
// 服务时长
private
String
server_num
;
// 服务时长
private
String
good_num
;
// 好评率
private
String
good_num
;
// 好评率
private
UserInfoDialog
userInfoDialog
=
null
;
@SuppressLint
(
"HandlerLeak"
)
@SuppressLint
(
"HandlerLeak"
)
private
Handler
mHandler
=
new
Handler
()
{
private
Handler
mHandler
=
new
Handler
()
{
@Override
@Override
...
@@ -374,6 +378,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -374,6 +378,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
},
throwable
->
{
},
throwable
->
{
});
});
if
(
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
&&
ActionHandlerStorage
.
getL
(
sessionId
).
getUserType
()
==
1
&&
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUser_type
()
==
3
)
{
if
(
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
&&
ActionHandlerStorage
.
getL
(
sessionId
).
getUserType
()
==
1
&&
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUser_type
()
==
3
)
{
//获取来源的专家
ServiceImpl
.
Companion
.
getInstance
().
getSourceDoctor
(
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
toUid
,
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUid
())
ServiceImpl
.
Companion
.
getInstance
().
getSourceDoctor
(
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
toUid
,
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUid
())
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
...
@@ -381,6 +386,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -381,6 +386,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
if
(
TextUtils
.
equals
(
res
.
code
,
"200"
)
&&
res
.
data
!=
null
&&
!
TextUtils
.
isEmpty
(
res
.
data
.
name
))
{
if
(
TextUtils
.
equals
(
res
.
code
,
"200"
)
&&
res
.
data
!=
null
&&
!
TextUtils
.
isEmpty
(
res
.
data
.
name
))
{
addSourceLayoutScrollListener
();
addSourceLayoutScrollListener
();
rl_doctor_name
.
setVisibility
(
View
.
VISIBLE
);
rl_doctor_name
.
setVisibility
(
View
.
VISIBLE
);
tv_doctor_name
.
setText
(
res
.
data
.
name
);
tv_doctor_name
.
setText
(
res
.
data
.
name
);
}
else
{
}
else
{
rl_doctor_name
.
setVisibility
(
View
.
GONE
);
rl_doctor_name
.
setVisibility
(
View
.
GONE
);
...
@@ -390,13 +396,24 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -390,13 +396,24 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
});
});
}
}
if
(
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
&&
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUser_type
()
==
1
)
{
String
targetUid
=
""
;
if
(
TextUtils
.
isEmpty
(
SharedPreferencesEditor
.
getString
(
"chat_age_ensure_"
+
ImIn
.
INSTANCE
.
getUserInfo
().
getUid
())))
{
if
(
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUser_type
()
==
1
)
{
ServiceImpl
.
Companion
.
getInstance
().
getNewUserMes
()
//自己是用戶,搜索的是自己的信息
.
subscribeOn
(
Schedulers
.
io
())
targetUid
=
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUid
();
.
observeOn
(
AndroidSchedulers
.
mainThread
())
}
else
if
(
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUser_type
()
==
3
)
{
.
subscribe
(
hasCollectedInResp
->
{
// 自己是助理,搜索的是对方(用户)的信息
if
(
hasCollectedInResp
.
data
!=
null
&&
hasCollectedInResp
.
data
.
size
()
>
0
)
{
if
(
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
)
{
targetUid
=
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
toUid
;
}
}
ServiceImpl
.
Companion
.
getInstance
().
getNewUserMes
(
new
NewUserMesBean
(
targetUid
))
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
hasCollectedInResp
->
{
if
(
hasCollectedInResp
.
data
!=
null
&&
hasCollectedInResp
.
data
.
size
()
>
0
)
{
if
(
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
&&
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUser_type
()
==
1
)
{
if
(
TextUtils
.
isEmpty
(
SharedPreferencesEditor
.
getString
(
"chat_age_ensure_"
+
ImIn
.
INSTANCE
.
getUserInfo
().
getUid
())))
{
for
(
UserQuestInfoBean
bean
:
hasCollectedInResp
.
data
)
{
for
(
UserQuestInfoBean
bean
:
hasCollectedInResp
.
data
)
{
if
(
TextUtils
.
equals
(
bean
.
getUserInfoType
(),
"age"
))
{
if
(
TextUtils
.
equals
(
bean
.
getUserInfoType
(),
"age"
))
{
try
{
try
{
...
@@ -412,10 +429,64 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -412,10 +429,64 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
}
}
}
}
}
}
},
throwable
->
{
}
});
}
// 如果对方是用户,自己是助理,则展示标题文本右侧icon,并设置点击事件,展示用户信息弹窗
}
if
(
ActionHandlerStorage
.
getL
(
sessionId
).
getUserType
()
==
1
&&
ModularServiceManager
.
INSTANCE
.
provide
(
IUserService
.
class
).
getUserInfo
().
getUser_type
()
==
3
)
{
if
(
null
==
userInfoDialog
)
{
int
age
=
0
;
String
sex
=
""
;
String
consultType
=
""
;
String
questionDes
=
""
;
for
(
UserQuestInfoBean
bean
:
hasCollectedInResp
.
data
)
{
if
(
TextUtils
.
equals
(
bean
.
getUserInfoType
(),
"age"
))
{
try
{
String
year
=
bean
.
getContent
();
age
=
Calendar
.
getInstance
().
get
(
Calendar
.
YEAR
)
-
Integer
.
valueOf
(
year
);
}
catch
(
Exception
e
)
{
}
}
else
if
(
TextUtils
.
equals
(
bean
.
getUserInfoType
(),
"gener"
))
{
try
{
sex
=
bean
.
getContent
();
}
catch
(
Exception
e
)
{
}
}
else
if
(
TextUtils
.
equals
(
bean
.
getUserInfoType
(),
"questionType"
))
{
try
{
consultType
=
bean
.
getContent
();
}
catch
(
Exception
e
)
{
}
}
else
if
(
TextUtils
.
equals
(
bean
.
getUserInfoType
(),
"questionContent"
))
{
try
{
questionDes
=
bean
.
getContent
();
}
catch
(
Exception
e
)
{
}
}
}
userInfoDialog
=
new
UserInfoDialog
(
getActivity
(),
String
.
valueOf
(
age
),
sex
,
consultType
,
questionDes
);
getSourceFrom
();
}
}
}
},
throwable
->
{
Log
.
i
(
"user/getNewUserMes"
,
throwable
.
toString
());
});
}
@SuppressLint
(
"CheckResult"
)
private
void
getSourceFrom
()
{
//获取私聊对象的uid,调用接口获取来源
String
targetUid
=
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
toUid
;
ServiceImpl
.
Companion
.
getInstance
().
getUserSourceFrom
(
targetUid
)
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
res
->
{
if
(
null
!=
userInfoDialog
&&
!
TextUtils
.
isEmpty
(
res
.
data
))
{
userInfoDialog
.
setSourceFrom
(
res
.
data
);
}
});
}
public
void
showUserInfoDialog
()
{
if
(
null
!=
userInfoDialog
)
userInfoDialog
.
show
();
}
}
private
void
addScrollListener
()
{
private
void
addScrollListener
()
{
...
@@ -1224,7 +1295,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -1224,7 +1295,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
resp
->
{
.
subscribe
(
resp
->
{
if
(
resp
.
data
!=
null
&&
resp
.
data
.
size
()
>
0
)
{
if
(
resp
.
data
!=
null
&&
resp
.
data
.
size
()
>
0
)
{
ServiceImpl
.
Companion
.
getInstance
().
getNewUserMes
()
ServiceImpl
.
Companion
.
getInstance
().
getNewUserMes
(
new
NewUserMesBean
(
""
)
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
hasCollectedInResp
->
{
.
subscribe
(
hasCollectedInResp
->
{
...
@@ -1258,13 +1329,14 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -1258,13 +1329,14 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
private
void
showCheckAgeDialog
()
{
private
void
showCheckAgeDialog
()
{
CommonDialog
.
create
(
getActivity
())
CommonDialog
.
create
(
getActivity
())
.
setLeftOnclick
(
"返回"
,
v
->
{
.
setLeftOnclick
(
"返回"
,
v
->
{
getActivity
().
finish
();
getActivity
().
finish
();
ActionCountUtils
.
Companion
.
count
(
"under_age_alert_page|under_age_alert_return_click"
);
ActionCountUtils
.
Companion
.
count
(
"under_age_alert_page|under_age_alert_return_click"
);
})
})
.
setRightClick
(
"继续"
,
v
->
{
.
setRightClick
(
"继续"
,
v
->
{
SharedPreferencesEditor
.
putString
(
"chat_age_ensure_"
+
ImIn
.
INSTANCE
.
getUserInfo
().
getUid
(),
"ensure"
);
SharedPreferencesEditor
.
putString
(
"chat_age_ensure_"
+
ImIn
.
INSTANCE
.
getUserInfo
().
getUid
(),
"ensure"
);
ActionCountUtils
.
Companion
.
count
(
"under_age_alert_page|under_age_alert_continue_clcik"
);})
ActionCountUtils
.
Companion
.
count
(
"under_age_alert_page|under_age_alert_continue_clcik"
);
})
.
setMessage
(
"由于您未满16周岁,如需咨询需要在家长陪同下进行"
)
.
setMessage
(
"由于您未满16周岁,如需咨询需要在家长陪同下进行"
)
.
setCancelAble
(
false
)
.
setCancelAble
(
false
)
.
show
();
.
show
();
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/view/MaxHeightScrollView.java
0 → 100644
View file @
36040170
package
com
.
yidianling
.
uikit
.
business
.
session
.
view
;
import
android.content.Context
;
import
android.content.res.TypedArray
;
import
android.util.AttributeSet
;
import
android.view.View
;
import
android.widget.ScrollView
;
import
com.yidianling.im.R
;
public
class
MaxHeightScrollView
extends
ScrollView
{
private
int
mMaxHeight
;
public
MaxHeightScrollView
(
Context
context
)
{
super
(
context
);
}
public
MaxHeightScrollView
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
initialize
(
context
,
attrs
);
}
public
MaxHeightScrollView
(
Context
context
,
AttributeSet
attrs
,
int
defStyleAttr
)
{
super
(
context
,
attrs
,
defStyleAttr
);
initialize
(
context
,
attrs
);
}
private
void
initialize
(
Context
context
,
AttributeSet
attrs
)
{
TypedArray
typedArray
=
context
.
obtainStyledAttributes
(
attrs
,
R
.
styleable
.
MaxHeightScrollView
);
mMaxHeight
=
typedArray
.
getLayoutDimension
(
R
.
styleable
.
MaxHeightScrollView_maxHeight
,
mMaxHeight
);
typedArray
.
recycle
();
}
@Override
protected
void
onMeasure
(
int
widthMeasureSpec
,
int
heightMeasureSpec
)
{
if
(
mMaxHeight
>
0
)
{
heightMeasureSpec
=
View
.
MeasureSpec
.
makeMeasureSpec
(
mMaxHeight
,
View
.
MeasureSpec
.
AT_MOST
);
}
super
.
onMeasure
(
widthMeasureSpec
,
heightMeasureSpec
);
}
}
m-im/src/main/java/com/yidianling/uikit/custom/http/ServiceApi.kt
View file @
36040170
...
@@ -52,7 +52,12 @@ interface ServiceApi {
...
@@ -52,7 +52,12 @@ interface ServiceApi {
//获取新用户收集的信息
//获取新用户收集的信息
@POST
(
"user/getNewUserMes"
)
@POST
(
"user/getNewUserMes"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
getNewUserMes
():
Observable
<
BaseAPIResponse
<
List
<
UserQuestInfoBean
>>>
fun
getNewUserMes
(
@Body
body
:
RequestBody
):
Observable
<
BaseAPIResponse
<
List
<
UserQuestInfoBean
>>>
//获取用户来源的信息
@GET
(
"user/getExChannel"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
getUserSource
(
@Query
(
"uid"
)
uid
:
String
):
Observable
<
BaseAPIResponse
<
String
>>
//信息采集的问题
//信息采集的问题
@POST
(
"user/collect/submit"
)
@POST
(
"user/collect/submit"
)
...
...
m-im/src/main/java/com/yidianling/uikit/custom/http/ServiceImpl.kt
View file @
36040170
package
com.yidianling.uikit.custom.http
package
com.yidianling.uikit.custom.http
import
com.alibaba.fastjson.JSON
import
com.ydl.ydlcommon.data.http.BaseAPIResponse
import
com.ydl.ydlcommon.data.http.BaseAPIResponse
import
com.ydl.ydlnet.YDLHttpUtils
import
com.ydl.ydlnet.YDLHttpUtils
import
com.yidianling.uikit.custom.http.response.*
import
com.yidianling.uikit.custom.http.response.*
...
@@ -66,8 +67,20 @@ class ServiceImpl private constructor() {
...
@@ -66,8 +67,20 @@ class ServiceImpl private constructor() {
/**
/**
* 获取新用户收集的信息
* 获取新用户收集的信息
*/
*/
fun
getNewUserMes
():
Observable
<
BaseAPIResponse
<
List
<
UserQuestInfoBean
>>>
{
fun
getNewUserMes
(
bean
:
NewUserMesBean
):
Observable
<
BaseAPIResponse
<
List
<
UserQuestInfoBean
>>>
{
return
YDLHttpUtils
.
obtainApi
(
ServiceApi
::
class
.
java
).
getNewUserMes
()
val
beanStr
=
JSON
.
toJSONString
(
bean
)
val
body
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json; charset=utf-8"
),
beanStr
)
as
RequestBody
return
YDLHttpUtils
.
obtainApi
(
ServiceApi
::
class
.
java
).
getNewUserMes
(
body
)
}
/**
* 获取用户来源
*/
fun
getUserSourceFrom
(
uid
:
String
):
Observable
<
BaseAPIResponse
<
String
>>
{
return
YDLHttpUtils
.
obtainApi
(
ServiceApi
::
class
.
java
).
getUserSource
(
uid
)
}
}
/**
/**
...
...
m-im/src/main/java/com/yidianling/uikit/custom/http/response/NewUserMesBean.kt
0 → 100644
View file @
36040170
package
com.yidianling.uikit.custom.http.response
class
NewUserMesBean
(
val
targetUid
:
String
)
\ No newline at end of file
m-im/src/main/java/com/yidianling/uikit/custom/widget/TitleBarBottom.java
View file @
36040170
...
@@ -21,7 +21,7 @@ import com.yidianling.im.R;
...
@@ -21,7 +21,7 @@ import com.yidianling.im.R;
public
class
TitleBarBottom
extends
RelativeLayout
{
public
class
TitleBarBottom
extends
RelativeLayout
{
TextView
tv_left_text
,
tv_center_title
,
tv_bottom_title
,
tv_right_text
;
TextView
tv_left_text
,
tv_center_title
,
tv_bottom_title
,
tv_right_text
;
ImageView
iv_title_divide
,
image
,
rightImage
;
ImageView
iv_title_divide
,
image
,
rightImage
,
title_tv_right_btn
;
private
View
root
;
private
View
root
;
...
@@ -59,10 +59,20 @@ public class TitleBarBottom extends RelativeLayout {
...
@@ -59,10 +59,20 @@ public class TitleBarBottom extends RelativeLayout {
iv_title_divide
=
(
ImageView
)
root
.
findViewById
(
R
.
id
.
iv_title_divide
);
iv_title_divide
=
(
ImageView
)
root
.
findViewById
(
R
.
id
.
iv_title_divide
);
image
=
(
ImageView
)
root
.
findViewById
(
R
.
id
.
image
);
image
=
(
ImageView
)
root
.
findViewById
(
R
.
id
.
image
);
rightImage
=
(
ImageView
)
root
.
findViewById
(
R
.
id
.
iv_right
);
rightImage
=
(
ImageView
)
root
.
findViewById
(
R
.
id
.
iv_right
);
title_tv_right_btn
=
(
ImageView
)
root
.
findViewById
(
R
.
id
.
title_tv_right_btn
);
setupView
();
setupView
();
}
}
/**
/**
* 设置标题文本右侧icon
*/
public
void
setTitleTextRightIcon
(
int
resId
,
OnClickListener
onClickListener
)
{
title_tv_right_btn
.
setImageResource
(
resId
);
title_tv_right_btn
.
setVisibility
(
View
.
VISIBLE
);
title_tv_right_btn
.
setOnClickListener
(
onClickListener
);
}
/**
* 左侧文字点击事件
* 左侧文字点击事件
*/
*/
public
void
setOnLeftTextClick
(
OnTitleBarTextClick
leftTextClick
)
{
public
void
setOnLeftTextClick
(
OnTitleBarTextClick
leftTextClick
)
{
...
...
m-im/src/main/java/com/yidianling/uikit/custom/widget/UserInfoDialog.kt
0 → 100644
View file @
36040170
package
com.yidianling.uikit.custom.widget
import
android.app.Dialog
import
android.content.Context
import
android.os.Bundle
import
android.view.Gravity
import
android.view.View
import
android.view.WindowManager
import
com.yidianling.im.R
import
kotlinx.android.synthetic.main.im_user_info_dialog_layout.*
/**
* 用户信息弹窗
* Created by xj on 2020/3/25.
*/
class
UserInfoDialog
(
private
val
mContext
:
Context
,
private
val
age
:
String
,
//年龄
private
val
sex
:
String
,
//性别
private
val
consultType
:
String
,
//咨询类型
private
val
questionDes
:
String
//问题描述
)
:
Dialog
(
mContext
,
R
.
style
.
dialog_default_style
)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
im_user_info_dialog_layout
)
val
params
=
window
.
attributes
params
.
width
=
WindowManager
.
LayoutParams
.
MATCH_PARENT
params
.
height
=
WindowManager
.
LayoutParams
.
WRAP_CONTENT
window
.
setGravity
(
Gravity
.
CENTER
)
window
.
attributes
=
params
user_info_dialog_age_tv
.
text
=
age
user_info_dialog_sex_tv
.
text
=
sex
user_info_dialog_consultType_tv
.
text
=
consultType
user_info_dialog_questionDes_tv
.
text
=
questionDes
user_info_dialog_close
.
setOnClickListener
{
if
(
null
!=
mContext
)
{
dismiss
()
}
}
}
/**
* 设置来源
*/
fun
setSourceFrom
(
txt
:
String
)
{
user_info_dialog_sourceFrom
.
visibility
=
View
.
VISIBLE
user_info_dialog_sourceFrom_tv
.
text
=
txt
}
}
\ No newline at end of file
m-im/src/main/res/values/styles.xml
View file @
36040170
...
@@ -134,5 +134,9 @@
...
@@ -134,5 +134,9 @@
<!-- 指定消失的动画xml -->
<!-- 指定消失的动画xml -->
</style>
</style>
<declare-styleable
name=
"MaxHeightScrollView"
>
<attr
name=
"maxHeight"
format=
"dimension"
/>
</declare-styleable>
</resources>
</resources>
m-im/src/main/res_uikit/drawable-xhdpi/user_info_icon.png
0 → 100644
View file @
36040170
1.93 KB
m-im/src/main/res_uikit/drawable/im_user_info_dialog_bg.xml
0 → 100644
View file @
36040170
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"4dp"
/>
<solid
android:color=
"@color/platform_white"
/>
</shape>
\ No newline at end of file
m-im/src/main/res_uikit/layout/im_nim_ui_title_bar_bottom.xml
View file @
36040170
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
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=
"wrap_content"
>
android:layout_height=
"wrap_content"
>
<ImageView
<ImageView
android:id=
"@+id/image"
android:id=
"@+id/image"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginLeft=
"10dp"
android:layout_marginLeft=
"10dp"
android:background=
"?android:attr/selectableItemBackground"
android:background=
"?android:attr/selectableItemBackground"
android:contentDescription=
"@null"
android:contentDescription=
"@null"
android:gravity=
"center_vertical"
/>
android:gravity=
"center_vertical"
/>
<TextView
<TextView
android:id=
"@+id/tv_left_text"
android:id=
"@+id/tv_left_text"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_toEndOf=
"@id/image"
android:layout_toEndOf=
"@id/image"
android:layout_toRightOf=
"@id/image"
android:layout_toRightOf=
"@id/image"
android:background=
"?android:attr/selectableItemBackground"
android:background=
"?android:attr/selectableItemBackground"
android:drawablePadding=
"8dp"
android:drawablePadding=
"8dp"
android:gravity=
"center_vertical"
android:gravity=
"center_vertical"
android:paddingLeft=
"10dp"
android:paddingLeft=
"10dp"
android:paddingRight=
"10dp"
android:paddingRight=
"10dp"
android:textColor=
"@android:color/white"
android:textColor=
"@android:color/white"
android:textSize=
"@dimen/platform_default_text_size_big"
android:textSize=
"@dimen/platform_default_text_size_big"
tools:text=
"关闭"
tools:text=
"关闭"
tools:textColor=
"@color/platform_black"
/>
tools:textColor=
"@color/platform_black"
/>
<LinearLayout
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_centerHorizontal=
"true"
android:orientation=
"horizontal"
android:layout_marginTop=
"4dp"
android:layout_centerHorizontal=
"true"
>
android:layout_marginBottom=
"3dp"
android:gravity=
"center_horizontal"
<LinearLayout
android:orientation=
"vertical"
>
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
<TextView
android:layout_marginTop=
"4dp"
android:id=
"@+id/tv_center_title"
android:layout_marginBottom=
"3dp"
android:layout_width=
"wrap_content"
android:gravity=
"center_horizontal"
android:layout_height=
"0dp"
android:orientation=
"vertical"
>
android:layout_gravity=
"center_horizontal"
android:layout_weight=
"2"
<TextView
android:ellipsize=
"end"
android:id=
"@+id/tv_center_title"
android:gravity=
"center"
android:layout_width=
"wrap_content"
android:maxEms=
"12"
android:layout_height=
"0dp"
android:maxLength=
"12"
android:layout_gravity=
"center_horizontal"
android:textColor=
"@color/im_color_242424"
android:layout_weight=
"2"
android:textSize=
"17dp"
android:ellipsize=
"end"
tools:text=
"现现现现现现在在现在在在在现在在"
/>
android:gravity=
"center"
android:maxEms=
"12"
<TextView
android:maxLength=
"12"
android:id=
"@+id/tv_bottom_title"
android:textColor=
"@color/im_color_242424"
android:layout_width=
"wrap_content"
android:textSize=
"17dp"
android:layout_height=
"0dp"
tools:text=
"现现现现现现在在现在在在在现在在"
/>
android:layout_gravity=
"center_horizontal"
android:layout_weight=
"1"
<TextView
android:drawablePadding=
"4dp"
android:id=
"@+id/tv_bottom_title"
android:ellipsize=
"end"
android:layout_width=
"wrap_content"
android:gravity=
"center"
android:layout_height=
"0dp"
android:maxEms=
"12"
android:layout_gravity=
"center_horizontal"
android:maxLength=
"8"
android:layout_weight=
"1"
android:textColor=
"@color/platform_color_666666"
android:drawablePadding=
"4dp"
android:textSize=
"10dp"
android:ellipsize=
"end"
tools:drawableLeft=
"@drawable/im_background_chat_top_status_online"
android:gravity=
"center"
tools:text=
"现在"
/>
android:maxEms=
"12"
android:maxLength=
"8"
</LinearLayout>
android:textColor=
"@color/platform_color_666666"
android:textSize=
"10dp"
<ImageView
tools:drawableLeft=
"@drawable/im_background_chat_top_status_online"
android:id=
"@+id/iv_right"
tools:text=
"现在"
/>
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
</LinearLayout>
android:layout_alignParentEnd=
"true"
android:layout_alignParentRight=
"true"
<ImageView
android:layout_alignParentTop=
"true"
android:id=
"@+id/title_tv_right_btn"
android:layout_marginEnd=
"10dp"
android:layout_width=
"12dp"
android:layout_marginRight=
"10dp"
android:layout_height=
"12dp"
android:background=
"?android:attr/selectableItemBackground"
android:layout_marginTop=
"4dp"
android:contentDescription=
"@null"
android:layout_marginBottom=
"3dp"
android:gravity=
"center_vertical"
android:src=
"@drawable/im_star_red"
tools:src=
"@drawable/platform_more_green"
/>
android:layout_marginLeft=
"4dp"
android:layout_gravity=
"center"
<TextView
android:visibility=
"gone"
/>
android:id=
"@+id/tv_right_text"
</LinearLayout>
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
<ImageView
android:layout_toLeftOf=
"@id/iv_right"
android:id=
"@+id/iv_right"
android:layout_toStartOf=
"@id/iv_right"
android:layout_width=
"wrap_content"
android:background=
"?android:attr/selectableItemBackground"
android:layout_height=
"match_parent"
android:gravity=
"center_vertical"
android:layout_alignParentTop=
"true"
android:layout_marginLeft=
"10dp"
android:layout_alignParentEnd=
"true"
android:layout_marginRight=
"10dp"
android:layout_alignParentRight=
"true"
android:textColor=
"@color/platform_default_button_bg"
android:layout_marginEnd=
"10dp"
android:textSize=
"@dimen/platform_default_text_size_big"
android:layout_marginRight=
"10dp"
android:drawablePadding=
"5dp"
android:background=
"?android:attr/selectableItemBackground"
tools:drawableLeft=
"@drawable/platform_share"
android:contentDescription=
"@null"
tools:ignore=
"RelativeOverlap"
/>
android:gravity=
"center_vertical"
tools:src=
"@drawable/platform_more_green"
/>
<ImageView
android:id=
"@+id/iv_title_divide"
<TextView
android:layout_width=
"match_parent"
android:id=
"@+id/tv_right_text"
android:layout_height=
"@dimen/im_divide_line_stroke_width"
android:layout_width=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:layout_height=
"match_parent"
android:background=
"@color/im_divide_color"
/>
android:layout_marginLeft=
"10dp"
android:layout_marginRight=
"10dp"
</RelativeLayout>
android:layout_toStartOf=
"@id/iv_right"
android:layout_toLeftOf=
"@id/iv_right"
android:background=
"?android:attr/selectableItemBackground"
android:drawablePadding=
"5dp"
android:gravity=
"center_vertical"
android:textColor=
"@color/platform_default_button_bg"
android:textSize=
"@dimen/platform_default_text_size_big"
tools:drawableLeft=
"@drawable/platform_share"
tools:ignore=
"RelativeOverlap"
/>
<ImageView
android:id=
"@+id/iv_title_divide"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/im_divide_line_stroke_width"
android:layout_alignParentBottom=
"true"
android:background=
"@color/im_divide_color"
/>
</RelativeLayout>
m-im/src/main/res_uikit/layout/im_user_info_dialog_layout.xml
0 → 100644
View file @
36040170
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_marginLeft=
"30dp"
android:layout_marginRight=
"30dp"
>
<LinearLayout
android:id=
"@+id/dialog_user_detail_bg"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/im_user_info_dialog_bg"
android:orientation=
"vertical"
android:paddingLeft=
"20dp"
android:paddingTop=
"30dp"
android:paddingRight=
"20dp"
android:paddingBottom=
"21dp"
>
<RelativeLayout
android:id=
"@+id/user_info_dialog_sourceFrom"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"31dp"
android:visibility=
"gone"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"推广来源"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_666666"
/>
<TextView
android:id=
"@+id/user_info_dialog_sourceFrom_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
tools:text=
"SEM"
android:layout_alignParentRight=
"true"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_242424"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"31dp"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"年龄"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_666666"
/>
<TextView
android:id=
"@+id/user_info_dialog_age_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
tools:text=
"18"
android:layout_alignParentRight=
"true"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_242424"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"31dp"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"性别"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_666666"
/>
<TextView
android:id=
"@+id/user_info_dialog_sex_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
tools:text=
"男"
android:layout_alignParentRight=
"true"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_242424"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"31dp"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"咨询类型"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_666666"
/>
<TextView
android:id=
"@+id/user_info_dialog_consultType_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
tools:text=
"恋爱情感"
android:layout_alignParentRight=
"true"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_242424"
/>
</RelativeLayout>
<RelativeLayout
android:orientation=
"horizontal"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"30dp"
>
<TextView
android:id=
"@+id/user_info_dialog_questionDes_left_tv"
android:layout_width=
"64dp"
android:layout_height=
"wrap_content"
android:text=
"问题描述"
android:maxLines=
"1"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_666666"
/>
<com.yidianling.uikit.business.session.view.MaxHeightScrollView
android:layout_marginLeft=
"80dp"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
app:maxHeight=
"150dp"
>
<TextView
android:gravity=
"left"
android:id=
"@+id/user_info_dialog_questionDes_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
tools:text=
"我是描述"
android:textSize=
"15dp"
android:textColor=
"@color/platform_color_242424"
/>
</com.yidianling.uikit.business.session.view.MaxHeightScrollView>
</RelativeLayout>
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:textColor=
"@color/im_main_theme"
android:text=
"*涉及用户隐私,请谨慎使用上述信息*"
android:textSize=
"12dp"
/>
</LinearLayout>
<ImageView
android:id=
"@+id/user_info_dialog_close"
android:layout_width=
"28dp"
android:layout_height=
"28dp"
android:layout_below=
"@+id/dialog_user_detail_bg"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"30dp"
android:src=
"@drawable/im_expert_info_dialog_close_icon"
/>
</RelativeLayout>
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