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
4ce3a7ca
Commit
4ce3a7ca
authored
Sep 22, 2021
by
刘鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat : 注销自定义消息类型,新增聊天页面,ui未更改,跳转参数未更改
parent
ffef6da8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
338 additions
and
50 deletions
+338
-50
AndroidManifest.xml
m-im/src/main/AndroidManifest.xml
+6
-0
CustomAttachParser.java
m-im/src/main/java/com/yidianling/im/session/extension/CustomAttachParser.java
+0
-0
MedicalChatActivity.kt
m-im/src/main/java/com/yidianling/im/ui/activity/MedicalChatActivity.kt
+197
-0
ChatAdapter.kt
m-im/src/main/java/com/yidianling/im/ui/page/fragment/adapter/ChatAdapter.kt
+65
-47
ChatUnusualView.kt
m-im/src/main/java/com/yidianling/im/ui/page/widget/ChatUnusualView.kt
+2
-3
medical_chat_list.xml
m-im/src/main/res/layout/medical_chat_list.xml
+68
-0
No files found.
m-im/src/main/AndroidManifest.xml
View file @
4ce3a7ca
...
@@ -73,6 +73,12 @@
...
@@ -73,6 +73,12 @@
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
android:theme=
"@style/platform_NoTitleTheme"
/>
android:theme=
"@style/platform_NoTitleTheme"
/>
<!--医疗聊天列表页-->
<activity
android:name=
".ui.activity.MedicalChatActivity"
android:screenOrientation=
"portrait"
android:theme=
"@style/platform_NoTitleTheme"
/>
<!-- 云信 集成配置 -->
<!-- 云信 集成配置 -->
<!-- 声明云信后台服务 -->
<!-- 声明云信后台服务 -->
<service
<service
...
...
m-im/src/main/java/com/yidianling/im/session/extension/CustomAttachParser.java
View file @
4ce3a7ca
This diff is collapsed.
Click to expand it.
m-im/src/main/java/com/yidianling/im/ui/activity/MedicalChatActivity.kt
0 → 100644
View file @
4ce3a7ca
package
com.yidianling.im.ui.activity
import
android.view.View
import
androidx.recyclerview.widget.LinearLayoutManager
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.jcodecraeer.xrecyclerview.CustomFooterViewCallBack
import
com.jcodecraeer.xrecyclerview.XRecyclerView
import
com.ydl.ydlcommon.base.BaseActivity
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.utils.StatusBarUtils.Companion.setTransparentForImageView
import
com.ydl.ydlcommon.utils.StatusBarUtils.Companion.statusBarLightMode
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.im.R
import
com.yidianling.im.event.MessageListRefreshEvent
import
com.yidianling.im.helper.MsgReceiveHelper
import
com.yidianling.im.http.ImHttpImpl
import
com.yidianling.im.router.ImIn
import
com.yidianling.im.ui.page.fragment.adapter.ChatAdapter
import
com.yidianling.im.ui.page.fragment.bean.ChatItemBean
import
com.yidianling.im.ui.page.fragment.bean.ChatModelBean
import
com.yidianling.im.ui.page.fragment.view.ChatFooterItemView
import
com.yidianling.im.ui.page.widget.ChatUnusualView
import
com.yidianling.im.ui.param.ChatParam
import
de.greenrobot.event.EventBus
import
kotlinx.android.synthetic.main.im_chat_fragment_layout.*
@Route
(
path
=
"/im/medical"
)
class
MedicalChatActivity
:
BaseActivity
(),
XRecyclerView
.
LoadingListener
{
private
var
chatAdapter
:
ChatAdapter
?
=
null
private
var
allChatData
:
ChatModelBean
=
ChatModelBean
()
//全部数据
private
var
showData
:
ArrayList
<
ChatItemBean
>
=
ArrayList
()
// 最终展示的数据
private
val
mCompare
:
Comparator
<
ChatItemBean
>
=
Comparator
{
o1
,
o2
->
val
res
=
o1
.
timestamp
.
compareTo
(
o2
.
timestamp
)
when
{
res
==
0
->
0
res
>
0
->
-
1
else
->
1
}
}
override
fun
layoutResId
():
Int
{
return
R
.
layout
.
medical_chat_list
}
override
fun
initDataAndEvent
()
{
initStatus
()
chatAdapter
=
ChatAdapter
(
mContext
,
showData
,
this
@MedicalChatActivity
)
chatAdapter
?.
setlistener
(
object
:
ChatAdapter
.
ChatRecyclerViewCallback
{
override
fun
onRefresh
()
{
getChatMessageData
()
}
})
chat_recyclerview
.
layoutManager
=
LinearLayoutManager
(
this
@MedicalChatActivity
)
chat_recyclerview
.
adapter
=
chatAdapter
chat_recyclerview
.
setLoadingListener
(
this
@MedicalChatActivity
)
chat_recyclerview
.
setFootView
(
ChatFooterItemView
(
mContext
),
object
:
CustomFooterViewCallBack
{
override
fun
onSetNoMore
(
p0
:
View
?,
p1
:
Boolean
)
{
}
override
fun
onLoadingMore
(
p0
:
View
?)
{
}
override
fun
onLoadMoreComplete
(
p0
:
View
?)
{
}
})
}
private
fun
initStatus
()
{
setTransparentForImageView
(
this
@MedicalChatActivity
,
null
)
statusBarLightMode
(
this
@MedicalChatActivity
)
}
override
fun
onResume
()
{
super
.
onResume
()
resetPageShow
()
}
fun
clearData
()
{
showData
.
clear
()
chatAdapter
?.
notifyDataSetChanged
()
resetPageShow
()
}
/**
* 页面展示状态逻辑
*/
private
fun
resetPageShow
()
{
ll_chat_unusual_view
?.
let
{
if
(
ImIn
.
isLogin
())
{
//登录状态
if
(
showData
.
size
!=
0
)
{
//数据不为空
chat_recyclerview
.
visibility
=
View
.
VISIBLE
ll_chat_unusual_view
.
visibility
=
View
.
GONE
}
else
{
chat_recyclerview
.
visibility
=
View
.
GONE
ll_chat_unusual_view
.
visibility
=
View
.
VISIBLE
ll_chat_unusual_view
.
setUnusualType
(
ChatUnusualView
.
TYPE_CHAT_ALL_NO_DATA
)
}
}
else
{
//未登录状态
chat_recyclerview
.
visibility
=
View
.
GONE
ll_chat_unusual_view
.
visibility
=
View
.
VISIBLE
ll_chat_unusual_view
.
setUnusualType
(
ChatUnusualView
.
TYPE_UNLOGIN
)
ll_chat_unusual_view
.
setListener
(
object
:
ChatUnusualView
.
ChatUnusualListener
{
override
fun
onButtonClick
()
{
ImIn
.
loginByOneKeyLogin
(
mContext
,
true
)
}
})
}
}
}
override
fun
onRefresh
()
{
EventBus
.
getDefault
().
post
(
MessageListRefreshEvent
(
0
))
getChatMessageData
()
}
override
fun
onLoadMore
()
{
chat_recyclerview
.
setNoMore
(
true
)
}
fun
getChatMessageData
()
{
if
(
ImIn
.
getUserInfo
()
?.
uid
!=
"0"
)
{
var
dis
=
ImHttpImpl
.
getInstance
()
.
getAllChatMessage
(
ChatParam
(
"${ImIn.getUserInfo()?.uid}"
,
"${0}"
))
.
compose
(
RxUtils
.
applySchedulers
(
this
))
.
compose
<
ChatModelBean
>(
RxUtils
.
resultJavaData
())
.
subscribe
({
it
->
if
(
it
.
before
.
data
.
size
!=
0
||
it
.
nomal
.
data
.
size
!=
0
)
{
setData
(
it
)
}
chat_recyclerview
?.
let
{
chat_recyclerview
.
refreshComplete
()
}
},
{
t
->
ToastUtil
.
toastShort
(
"您的网络出现了问题"
)
chat_recyclerview
?.
let
{
chat_recyclerview
.
refreshComplete
()
}
})
}
}
/**
* 设置全部数据
*/
fun
setData
(
data
:
ChatModelBean
)
{
allChatData
=
data
setShowData
()
}
/**
* 设置最终显示得数据,(优先置顶,再最近数据,再三周前的消息item,再三周前,其余按照时间排序)
*/
private
fun
setShowData
()
{
showData
.
clear
()
chatAdapter
?.
notifyDataSetChanged
()
selectTopData
()
// 全部
showData
.
addAll
(
allChatData
.
topData
.
data
.
sortedWith
(
mCompare
))
showData
.
addAll
(
allChatData
.
nomal
.
data
.
filter
{
it
.
is_top
==
0
}
.
sortedWith
(
mCompare
))
if
(
allChatData
.
before
.
data
.
any
{
it
.
is_top
==
0
})
{
showData
.
addAll
(
allChatData
.
before
.
data
.
filter
{
it
.
is_top
==
0
}
.
sortedWith
(
mCompare
))
}
// 重置消息未读数
MsgReceiveHelper
.
reQueryUnreadNumber
{
showData
.
forEachIndexed
{
index
,
_
->
showData
[
index
].
unReadNum
=
MsgReceiveHelper
.
getUnNum
(
showData
[
index
].
toUid
.
toString
())
}
chatAdapter
?.
notifyDataSetChanged
()
resetPageShow
()
}
}
/**
* 将before数据和nomal数据里面的置顶数据筛选出来放入topData里面
*/
private
fun
selectTopData
()
{
allChatData
.
topData
.
data
.
clear
()
allChatData
.
topData
.
data
.
addAll
(
allChatData
.
before
.
data
.
filter
{
it
.
is_top
==
1
})
allChatData
.
topData
.
data
.
addAll
(
allChatData
.
nomal
.
data
.
filter
{
it
.
is_top
==
1
})
}
}
\ No newline at end of file
m-im/src/main/java/com/yidianling/im/ui/page/fragment/adapter/ChatAdapter.kt
View file @
4ce3a7ca
...
@@ -2,11 +2,11 @@ package com.yidianling.im.ui.page.fragment.adapter
...
@@ -2,11 +2,11 @@ package com.yidianling.im.ui.page.fragment.adapter
import
android.app.Dialog
import
android.app.Dialog
import
android.content.Context
import
android.content.Context
import
androidx.appcompat.app.AppCompatActivity
import
androidx.recyclerview.widget.RecyclerView
import
android.text.TextUtils
import
android.text.TextUtils
import
android.view.View
import
android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
androidx.appcompat.app.AppCompatActivity
import
androidx.recyclerview.widget.RecyclerView
import
com.netease.nimlib.sdk.NIMClient
import
com.netease.nimlib.sdk.NIMClient
import
com.netease.nimlib.sdk.msg.MsgService
import
com.netease.nimlib.sdk.msg.MsgService
import
com.netease.nimlib.sdk.msg.constant.SessionTypeEnum
import
com.netease.nimlib.sdk.msg.constant.SessionTypeEnum
...
@@ -33,7 +33,11 @@ import de.greenrobot.event.EventBus
...
@@ -33,7 +33,11 @@ import de.greenrobot.event.EventBus
* 互动列表适配器
* 互动列表适配器
* Created by xj on 2019/10/14.
* Created by xj on 2019/10/14.
*/
*/
class
ChatAdapter
(
var
context
:
Context
,
private
var
mList
:
ArrayList
<
ChatItemBean
>,
private
var
lifecycleable
:
ILifecycleable
<*>):
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>()
{
class
ChatAdapter
(
var
context
:
Context
,
private
var
mList
:
ArrayList
<
ChatItemBean
>,
private
var
lifecycleable
:
ILifecycleable
<*>
)
:
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>()
{
companion
object
{
companion
object
{
...
@@ -59,11 +63,12 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
...
@@ -59,11 +63,12 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
holder
.
view
.
setOnClickListener
{
holder
.
view
.
setOnClickListener
{
//点击去私聊
//点击去私聊
if
(
TextUtils
.
equals
(
mList
[
position
].
toUid
.
toString
(),
"4108805"
))
{
if
(
TextUtils
.
equals
(
mList
[
position
].
toUid
.
toString
(),
"4108805"
))
{
SessionHelper
.
startP2PSession
(
context
,
-
1
,
"4108805"
,
null
,
SessionHelper
.
startP2PSession
(
P2PCustomActionHandlerImpl
(
"4108805"
,
"课程小助手-壹壹"
,
"4108805"
))
context
,
-
1
,
"4108805"
,
null
,
}
else
{
P2PCustomActionHandlerImpl
(
"4108805"
,
"课程小助手-壹壹"
,
"4108805"
)
// IMUtil.startChat(context as AppCompatActivity, mList[position].toUid.toString(), 0, 0, null, 0, true)
)
IMChatUtil
.
startChat
(
context
as
AppCompatActivity
,
mList
[
position
])
}
else
{
IMChatUtil
.
startCms
(
context
as
AppCompatActivity
,
1
,
null
)
}
}
}
}
...
@@ -83,7 +88,8 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
...
@@ -83,7 +88,8 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
name
.
add
(
"标记为已读"
)
name
.
add
(
"标记为已读"
)
}
}
val
builder
=
ListNoCancelDialog
.
Builder
(
context
,
name
,
0
)
val
builder
=
ListNoCancelDialog
.
Builder
(
context
,
name
,
0
)
builder
.
SetOnItemClickLister
(
object
:
ListNoCancelDialog
.
Builder
.
OnItemClickLister
{
builder
.
SetOnItemClickLister
(
object
:
ListNoCancelDialog
.
Builder
.
OnItemClickLister
{
override
fun
onItemClick
(
dialog
:
Dialog
,
view
:
View
,
position1
:
Int
)
{
override
fun
onItemClick
(
dialog
:
Dialog
,
view
:
View
,
position1
:
Int
)
{
val
tag
=
name
[
position1
]
val
tag
=
name
[
position1
]
when
(
tag
)
{
when
(
tag
)
{
...
@@ -117,7 +123,8 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
...
@@ -117,7 +123,8 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
is
ChatTimeItemHolder
->
{
is
ChatTimeItemHolder
->
{
holder
.
view
.
initData
(
mList
[
position
])
holder
.
view
.
initData
(
mList
[
position
])
}
}
else
->
{}
else
->
{
}
}
}
}
}
...
@@ -139,43 +146,48 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
...
@@ -139,43 +146,48 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
private
fun
delete
(
bean
:
ChatItemBean
)
{
private
fun
delete
(
bean
:
ChatItemBean
)
{
LogHelper
.
getInstance
().
writeLogSync
(
"删除聊天:uid = "
+
bean
.
toUid
)
LogHelper
.
getInstance
().
writeLogSync
(
"删除聊天:uid = "
+
bean
.
toUid
)
var
dis
=
ImHttpImpl
.
getInstance
().
rmHistory
(
var
dis
=
ImHttpImpl
.
getInstance
().
rmHistory
(
RmHistoryParam
(
RmHistoryParam
(
bean
.
toUid
.
toString
(),
bean
.
toUid
.
toString
(),
1
1
)
)
)
)
.
compose
(
RxUtils
.
applySchedulers
(
lifecycleable
))
.
compose
(
RxUtils
.
applySchedulers
(
lifecycleable
))
.
compose
(
RxUtils
.
resultData
())
.
compose
(
RxUtils
.
resultData
())
.
subscribe
({
o
->
.
subscribe
({
o
->
LogHelper
.
getInstance
().
writeLogSync
(
"删除聊天成功:uid = "
+
bean
.
toUid
)
LogHelper
.
getInstance
().
writeLogSync
(
"删除聊天成功:uid = "
+
bean
.
toUid
)
NIMClient
.
getService
(
MsgService
::
class
.
java
).
clearChattingHistory
(
bean
.
toUid
.
toString
(),
SessionTypeEnum
.
P2P
)
NIMClient
.
getService
(
MsgService
::
class
.
java
)
deleteItem
(
bean
)
.
clearChattingHistory
(
bean
.
toUid
.
toString
(),
SessionTypeEnum
.
P2P
)
},
{
t
->
deleteItem
(
bean
)
ToastHelper
.
show
(
t
.
message
.
toString
())
},
{
t
->
LogHelper
.
getInstance
().
writeLogSync
(
"删除聊天失败:uid = "
+
bean
.
toUid
)
ToastHelper
.
show
(
t
.
message
.
toString
())
})
LogHelper
.
getInstance
().
writeLogSync
(
"删除聊天失败:uid = "
+
bean
.
toUid
)
})
}
}
private
fun
deleteItem
(
bean
:
ChatItemBean
)
{
private
fun
deleteItem
(
bean
:
ChatItemBean
)
{
var
dis
=
ImHttpImpl
.
getInstance
().
rmTalk
(
RmTalkParam
(
bean
.
toUid
.
toString
()))
var
dis
=
ImHttpImpl
.
getInstance
().
rmTalk
(
RmTalkParam
(
bean
.
toUid
.
toString
()))
.
compose
(
RxUtils
.
applySchedulers
(
lifecycleable
))
.
compose
(
RxUtils
.
applySchedulers
(
lifecycleable
))
.
compose
(
RxUtils
.
resultData
())
.
compose
(
RxUtils
.
resultData
())
.
subscribe
({
o
->
.
subscribe
({
o
->
NIMClient
.
getService
(
MsgService
::
class
.
java
).
clearUnreadCount
(
bean
.
toUid
.
toString
(),
SessionTypeEnum
.
P2P
)
NIMClient
.
getService
(
MsgService
::
class
.
java
)
NIMClient
.
getService
(
MsgService
::
class
.
java
).
clearUnreadCount
(
bean
.
toUid
.
toString
(),
SessionTypeEnum
.
Team
)
.
clearUnreadCount
(
bean
.
toUid
.
toString
(),
SessionTypeEnum
.
P2P
)
MsgReceiveHelper
.
updateNum
(
bean
.
toUid
.
toString
(),
0
)
NIMClient
.
getService
(
MsgService
::
class
.
java
)
EventBus
.
getDefault
().
post
(
UpdateTabUnreadNumEvent
())
.
clearUnreadCount
(
bean
.
toUid
.
toString
(),
SessionTypeEnum
.
Team
)
},
{
t
->
MsgReceiveHelper
.
updateNum
(
bean
.
toUid
.
toString
(),
0
)
ToastHelper
.
show
(
t
.
message
.
toString
())
EventBus
.
getDefault
().
post
(
UpdateTabUnreadNumEvent
())
})
},
{
t
->
ToastHelper
.
show
(
t
.
message
.
toString
())
})
}
}
private
fun
toTop
(
bean
:
ChatItemBean
,
istop
:
Int
)
{
private
fun
toTop
(
bean
:
ChatItemBean
,
istop
:
Int
)
{
LogHelper
.
getInstance
().
writeLogSync
(
"置顶聊天:uid = "
+
bean
.
toUid
.
toString
()
+
LogHelper
.
getInstance
().
writeLogSync
(
"取消置顶 = "
+
(
istop
==
0
))
"置顶聊天:uid = "
+
bean
.
toUid
.
toString
()
+
"取消置顶 = "
+
(
istop
==
0
)
)
var
dis
=
ImHttpImpl
.
getInstance
().
topMessage
(
var
dis
=
ImHttpImpl
.
getInstance
().
topMessage
(
TopMessageParam
(
TopMessageParam
(
bean
.
toUid
.
toString
(),
bean
.
toUid
.
toString
(),
...
@@ -183,22 +195,27 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
...
@@ -183,22 +195,27 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
istop
istop
)
)
)
)
.
compose
(
RxUtils
.
applySchedulers
(
lifecycleable
))
.
compose
(
RxUtils
.
applySchedulers
(
lifecycleable
))
.
compose
(
RxUtils
.
resultData
())
.
compose
(
RxUtils
.
resultData
())
.
subscribe
({
o
->
.
subscribe
({
o
->
LogHelper
.
getInstance
().
writeLogSync
(
"置顶聊天成功:uid = "
+
bean
.
toUid
.
toString
()
+
LogHelper
.
getInstance
().
writeLogSync
(
"取消置顶 = "
+
(
istop
==
0
))
"置顶聊天成功:uid = "
+
bean
.
toUid
.
toString
()
+
mListener
?.
onRefresh
()
"取消置顶 = "
+
(
istop
==
0
)
},
{
t
->
)
LogHelper
.
getInstance
().
writeLogSync
(
"置顶聊天失败:uid = "
+
bean
.
toUid
.
toString
()
+
mListener
?.
onRefresh
()
"取消置顶 = "
+
(
istop
==
0
))
},
{
t
->
ToastHelper
.
show
(
"操作失败"
)
LogHelper
.
getInstance
().
writeLogSync
(
})
"置顶聊天失败:uid = "
+
bean
.
toUid
.
toString
()
+
"取消置顶 = "
+
(
istop
==
0
)
)
ToastHelper
.
show
(
"操作失败"
)
})
}
}
private
fun
mark
(
bean
:
ChatItemBean
)
{
private
fun
mark
(
bean
:
ChatItemBean
)
{
LogHelper
.
getInstance
().
writeLogSync
(
"标记为已读:uid = "
+
bean
.
toUid
.
toString
())
LogHelper
.
getInstance
().
writeLogSync
(
"标记为已读:uid = "
+
bean
.
toUid
.
toString
())
NIMClient
.
getService
(
MsgService
::
class
.
java
).
clearUnreadCount
(
bean
.
toUid
.
toString
(),
SessionTypeEnum
.
P2P
)
NIMClient
.
getService
(
MsgService
::
class
.
java
)
.
clearUnreadCount
(
bean
.
toUid
.
toString
(),
SessionTypeEnum
.
P2P
)
MsgReceiveHelper
.
updateNum
(
bean
.
toUid
.
toString
(),
0
)
MsgReceiveHelper
.
updateNum
(
bean
.
toUid
.
toString
(),
0
)
mListener
?.
onRefresh
()
mListener
?.
onRefresh
()
EventBus
.
getDefault
().
post
(
UpdateTabUnreadNumEvent
())
EventBus
.
getDefault
().
post
(
UpdateTabUnreadNumEvent
())
...
@@ -217,11 +234,11 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
...
@@ -217,11 +234,11 @@ class ChatAdapter(var context: Context, private var mList: ArrayList<ChatItemBea
/**
/**
* 互动列表正常item的holder
* 互动列表正常item的holder
*/
*/
inner
class
ChatItemHolder
(
val
view
:
ChatItemView
):
RecyclerView
.
ViewHolder
(
view
)
inner
class
ChatItemHolder
(
val
view
:
ChatItemView
)
:
RecyclerView
.
ViewHolder
(
view
)
/**
/**
* 互动列表正常item的holder
* 互动列表正常item的holder
*/
*/
inner
class
ChatTimeItemHolder
(
val
view
:
ChatTimeItemView
):
RecyclerView
.
ViewHolder
(
view
)
inner
class
ChatTimeItemHolder
(
val
view
:
ChatTimeItemView
)
:
RecyclerView
.
ViewHolder
(
view
)
}
}
\ No newline at end of file
m-im/src/main/java/com/yidianling/im/ui/page/widget/ChatUnusualView.kt
View file @
4ce3a7ca
...
@@ -52,9 +52,8 @@ class ChatUnusualView constructor(private val mContext: Context, attrs: Attribut
...
@@ -52,9 +52,8 @@ class ChatUnusualView constructor(private val mContext: Context, attrs: Attribut
}
}
// 没有私聊数据(全部)
// 没有私聊数据(全部)
TYPE_CHAT_ALL_NO_DATA
->
{
TYPE_CHAT_ALL_NO_DATA
->
{
unusual_txt
.
text
=
"主动私聊更容易遇到懂你的咨询师哦!"
unusual_txt
.
text
=
"您当前还未有咨询消息哦~"
unusual_btn
.
text
=
"去咨询"
unusual_btn
.
visibility
=
View
.
GONE
unusual_btn
.
visibility
=
View
.
VISIBLE
unusual_img
.
setImageResource
(
R
.
mipmap
.
im_default_siliao_none
)
unusual_img
.
setImageResource
(
R
.
mipmap
.
im_default_siliao_none
)
}
}
// 没有私聊数据(服务中)
// 没有私聊数据(服务中)
...
...
m-im/src/main/res/layout/medical_chat_list.xml
0 → 100644
View file @
4ce3a7ca
<?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"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<androidx.appcompat.widget.Toolbar
android:id=
"@+id/toolbar"
android:layout_width=
"match_parent"
android:layout_height=
"96dp"
android:background=
"@color/white"
android:elevation=
"0dp"
android:gravity=
"bottom"
app:contentInsetStart=
"0dp"
app:layout_collapseMode=
"pin"
app:layout_constraintTop_toTopOf=
"parent"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<TextView
android:id=
"@+id/tv_title"
android:layout_width=
"match_parent"
android:layout_height=
"56dp"
android:ellipsize=
"end"
android:gravity=
"center"
android:maxEms=
"10"
android:maxLines=
"1"
android:text=
"私聊"
android:textColor=
"#10233a"
android:textSize=
"18sp"
android:textStyle=
"bold"
/>
<ImageView
android:id=
"@+id/iv_back"
android:layout_width=
"wrap_content"
android:layout_height=
"56dp"
android:paddingStart=
"16dp"
android:paddingEnd=
"20dp"
android:src=
"@drawable/platform_common_back"
/>
</RelativeLayout>
</androidx.appcompat.widget.Toolbar>
<RelativeLayout
app:layout_constraintBottom_toBottomOf=
"parent"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintTop_toBottomOf=
"@id/toolbar"
app:layout_constraintVertical_weight=
"1"
>
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id=
"@+id/chat_recyclerview"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/im_white"
></com.jcodecraeer.xrecyclerview.XRecyclerView>
<com.yidianling.im.ui.page.widget.ChatUnusualView
android:id=
"@+id/ll_chat_unusual_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/im_white"
android:visibility=
"gone"
/>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
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