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
dd01e2b0
Commit
dd01e2b0
authored
Mar 15, 2021
by
YKai
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/4.1.69(强绑手机号)' into 4.1.69(强绑手机号)
parents
0e274878
d1b3325e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
205 additions
and
109 deletions
+205
-109
config.gradle
config.gradle
+2
-2
P2PCustomActionHandlerImpl.java
m-im/src/main/java/com/yidianling/im/bridge/P2PCustomActionHandlerImpl.java
+63
-22
InputPanel.java
m-im/src/main/java/com/yidianling/uikit/business/session/module/input/InputPanel.java
+92
-51
IP2PCustomActionHandler.java
m-im/src/main/java/com/yidianling/uikit/custom/bridge/IP2PCustomActionHandler.java
+48
-34
No files found.
config.gradle
View file @
dd01e2b0
...
@@ -10,7 +10,7 @@ ext {
...
@@ -10,7 +10,7 @@ ext {
"m-fm"
:
"0.0.30.01"
,
"m-fm"
:
"0.0.30.01"
,
"m-user"
:
"0.0.61.11"
,
"m-user"
:
"0.0.61.11"
,
"m-home"
:
"0.0.22.53"
,
"m-home"
:
"0.0.22.53"
,
"m-im"
:
"0.0.18.3
5
"
,
"m-im"
:
"0.0.18.3
9
"
,
"m-dynamic"
:
"0.0.7.19"
,
"m-dynamic"
:
"0.0.7.19"
,
"m-article"
:
"0.0.0.6"
,
"m-article"
:
"0.0.0.6"
,
...
@@ -93,7 +93,7 @@ ext {
...
@@ -93,7 +93,7 @@ ext {
"m-fm"
:
"0.0.30.01"
,
"m-fm"
:
"0.0.30.01"
,
"m-user"
:
"0.0.61.11"
,
"m-user"
:
"0.0.61.11"
,
"m-home"
:
"0.0.22.54"
,
"m-home"
:
"0.0.22.54"
,
"m-im"
:
"0.0.18.3
4
"
,
"m-im"
:
"0.0.18.3
9
"
,
"m-dynamic"
:
"0.0.7.19"
,
"m-dynamic"
:
"0.0.7.19"
,
"m-article"
:
"0.0.0.6"
,
"m-article"
:
"0.0.0.6"
,
...
...
m-im/src/main/java/com/yidianling/im/bridge/P2PCustomActionHandlerImpl.java
View file @
dd01e2b0
...
@@ -92,13 +92,15 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -92,13 +92,15 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
private
Activity
mActivity
;
private
Activity
mActivity
;
private
int
blackStatus
;
private
int
blackStatus
;
private
int
userType
;
private
int
userType
;
public
int
isFromQingShu
=
0
;
//是否来自倾述页面
/***是否来自倾述页面*/
public
int
isFromQingShu
=
0
;
public
P2PCustomActionHandlerImpl
(
String
toChatUsername
,
public
P2PCustomActionHandlerImpl
(
String
toChatUsername
,
IMExpertBuild
expert
)
{
IMExpertBuild
expert
)
{
setExpertInfo
(
toChatUsername
,
expert
);
setExpertInfo
(
toChatUsername
,
expert
);
}
}
@Override
public
void
setExpertInfo
(
String
toChatUsername
,
IMExpertBuild
expert
)
{
public
void
setExpertInfo
(
String
toChatUsername
,
IMExpertBuild
expert
)
{
blackStatus
=
Integer
.
valueOf
(
expert
.
shareData
.
blackStatus
);
blackStatus
=
Integer
.
valueOf
(
expert
.
shareData
.
blackStatus
);
this
.
toChatUsername
=
toChatUsername
;
this
.
toChatUsername
=
toChatUsername
;
...
@@ -169,12 +171,16 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -169,12 +171,16 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
docInfo
.
cover
=
chatItemBean
.
getHead
();
docInfo
.
cover
=
chatItemBean
.
getHead
();
}
}
//聊天室使用
/**
* 聊天室使用
*/
public
P2PCustomActionHandlerImpl
()
{
public
P2PCustomActionHandlerImpl
()
{
}
}
//群聊使用
/**
* 群聊使用
*/
public
P2PCustomActionHandlerImpl
(
String
doctorId
)
{
public
P2PCustomActionHandlerImpl
(
String
doctorId
)
{
docInfo
.
doctorId
=
doctorId
;
docInfo
.
doctorId
=
doctorId
;
}
}
...
@@ -184,6 +190,7 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -184,6 +190,7 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
return
userType
;
return
userType
;
}
}
@Override
public
void
setUserType
(
int
userType
)
{
public
void
setUserType
(
int
userType
)
{
this
.
userType
=
userType
;
this
.
userType
=
userType
;
}
}
...
@@ -193,7 +200,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -193,7 +200,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
return
ImIn
.
INSTANCE
.
getUserInfo
().
getUser_type
();
return
ImIn
.
INSTANCE
.
getUserInfo
().
getUser_type
();
}
}
//发红包
/**
* 发红包
*/
@Override
@Override
public
void
sendRedPacket
(
Activity
activity
)
{
public
void
sendRedPacket
(
Activity
activity
)
{
// Bundle bundle = new Bundle();
// Bundle bundle = new Bundle();
...
@@ -202,7 +211,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -202,7 +211,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
ImIn
.
INSTANCE
.
sendRedPacketIntent
(
activity
,
toChatUsername
,
44
);
ImIn
.
INSTANCE
.
sendRedPacketIntent
(
activity
,
toChatUsername
,
44
);
}
}
//判定是否是今天第一次发送提醒上线通知,不是的话则不发消息通知|普通消息
/**
* 判定是否是今天第一次发送提醒上线通知,不是的话则不发消息通知|普通消息
*/
@Override
@Override
public
void
judgeSendRemindMsg
(
String
sessionId
)
{
public
void
judgeSendRemindMsg
(
String
sessionId
)
{
if
(!
TextUtils
.
isEmpty
(
YDLCacheUtils
.
Companion
.
getRemindTime
(
sessionId
)))
{
if
(!
TextUtils
.
isEmpty
(
YDLCacheUtils
.
Companion
.
getRemindTime
(
sessionId
)))
{
...
@@ -237,7 +248,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -237,7 +248,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
ToastUtil
.
toastShort
(
"已提醒"
);
ToastUtil
.
toastShort
(
"已提醒"
);
}
}
//发送专家推荐列表自定义消息
/**
* 发送专家推荐列表自定义消息
*/
@Override
@Override
public
void
sendRecommendExpertListMessage
(
String
sessionId
,
ArrayList
<
RecommendExpertBean
>
recommendExpertList
,
int
type
,
boolean
showExpertList
)
{
public
void
sendRecommendExpertListMessage
(
String
sessionId
,
ArrayList
<
RecommendExpertBean
>
recommendExpertList
,
int
type
,
boolean
showExpertList
)
{
...
@@ -250,7 +263,10 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -250,7 +263,10 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
NIMClient
.
getService
(
MsgService
.
class
).
saveMessageToLocal
(
message
,
true
);
NIMClient
.
getService
(
MsgService
.
class
).
saveMessageToLocal
(
message
,
true
);
}
}
//跳转到专家主页
/**
* 跳转到专家主页
*/
@Override
public
void
toExpertHome
(
String
doctorId
,
String
name
,
String
cover
)
{
public
void
toExpertHome
(
String
doctorId
,
String
name
,
String
cover
)
{
// 跳转到专家主页
// 跳转到专家主页
String
junmpurl
=
ImIn
.
INSTANCE
.
getExpertHost
()
+
doctorId
;
String
junmpurl
=
ImIn
.
INSTANCE
.
getExpertHost
()
+
doctorId
;
...
@@ -270,7 +286,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -270,7 +286,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
}
}
}
//检查用户是否绑定手机
/**
* 检查用户是否绑定手机
*/
@Override
@Override
public
boolean
isBindPhone
(
final
Activity
activity
,
String
toUid
)
{
public
boolean
isBindPhone
(
final
Activity
activity
,
String
toUid
)
{
//小壹特殊处理,没有绑定也可以和小壹聊天
//小壹特殊处理,没有绑定也可以和小壹聊天
...
@@ -336,7 +354,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -336,7 +354,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
return
flag
[
0
];
return
flag
[
0
];
}
}
//显示举报dialog
/**
* 显示举报dialog
*/
@Override
@Override
public
void
showJubao
(
final
Activity
activity
)
{
public
void
showJubao
(
final
Activity
activity
)
{
GetReportReason
cmd
=
new
GetReportReason
();
GetReportReason
cmd
=
new
GetReportReason
();
...
@@ -351,8 +371,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -351,8 +371,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
}
LinkedTreeMap
<
String
,
String
>
reportReasonsmaps
=
LinkedTreeMap
<
String
,
String
>
reportReasonsmaps
=
(
LinkedTreeMap
<
String
,
String
>)
resp
.
data
;
(
LinkedTreeMap
<
String
,
String
>)
resp
.
data
;
if
(
reportReasonsmaps
==
null
)
if
(
reportReasonsmaps
==
null
)
{
return
;
return
;
}
List
<
Report
>
reports
=
new
ArrayList
<>();
List
<
Report
>
reports
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
String
>
entry
:
reportReasonsmaps
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
String
>
entry
:
reportReasonsmaps
.
entrySet
())
{
Report
report
=
new
Report
(
entry
.
getKey
(),
entry
.
getValue
());
Report
report
=
new
Report
(
entry
.
getKey
(),
entry
.
getValue
());
...
@@ -373,7 +394,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -373,7 +394,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
BuryPointUtils
.
buryPoint
(
eventName
,
properties
);
BuryPointUtils
.
buryPoint
(
eventName
,
properties
);
}
}
//发送自定义提醒消息
/**
* 发送自定义提醒消息
*/
@Override
@Override
public
void
sendCustomMsg
()
{
public
void
sendCustomMsg
()
{
CustomAttachTipMsg
CustomAttachTipMsg
=
new
CustomAttachTipMsg
(
ImConstants
.
FIRST_CHAT_TIP
);
CustomAttachTipMsg
CustomAttachTipMsg
=
new
CustomAttachTipMsg
(
ImConstants
.
FIRST_CHAT_TIP
);
...
@@ -405,7 +428,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -405,7 +428,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
@Override
@Override
public
void
saveImTempData
(
String
touid
,
String
content
)
{
public
void
saveImTempData
(
String
touid
,
String
content
)
{
if
(
touid
==
null
||
touid
.
equals
(
""
))
return
;
if
(
touid
==
null
||
touid
.
equals
(
""
))
{
return
;
}
ImTempData
.
getInstance
().
addTempMsg
(
touid
,
content
);
ImTempData
.
getInstance
().
addTempMsg
(
touid
,
content
);
EventBus
.
getDefault
().
post
(
new
UpdateTabUnreadNumEvent
());
EventBus
.
getDefault
().
post
(
new
UpdateTabUnreadNumEvent
());
}
}
...
@@ -415,7 +440,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -415,7 +440,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
return
ImTempData
.
getInstance
().
getTempMsg
(
touid
)
==
null
?
""
:
ImTempData
.
getInstance
().
getTempMsg
(
touid
);
return
ImTempData
.
getInstance
().
getTempMsg
(
touid
)
==
null
?
""
:
ImTempData
.
getInstance
().
getTempMsg
(
touid
);
}
}
//获取群聊历史记录dialog是否已显示过(0未提示,1已提示过)
/**
* 获取群聊历史记录dialog是否已显示过(0未提示,1已提示过)
*/
@Override
@Override
public
void
chatTeamHistoryTip
(
Activity
activity
)
{
public
void
chatTeamHistoryTip
(
Activity
activity
)
{
if
(!
ImIn
.
INSTANCE
.
getChatTeamHisShow
())
{
if
(!
ImIn
.
INSTANCE
.
getChatTeamHisShow
())
{
...
@@ -424,7 +451,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -424,7 +451,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
}
}
}
//短时间内私聊次数过多,给予警示
/**
* 短时间内私聊次数过多,给予警示
*/
@Override
@Override
public
void
sendMsgToChatTip
()
{
public
void
sendMsgToChatTip
()
{
// CustomAttachChatTipMsg CustomAttachTipMsg = new CustomAttachChatTipMsg(getInfo().forbide_tip);
// CustomAttachChatTipMsg CustomAttachTipMsg = new CustomAttachChatTipMsg(getInfo().forbide_tip);
...
@@ -481,11 +510,10 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -481,11 +510,10 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
.
subscribe
(
resp
->
{
.
subscribe
(
resp
->
{
if
(
resp
.
code
==
0
)
{
if
(
resp
.
code
==
0
)
{
ToastUtil
.
toastShort
(
activity
,
"举报成功"
);
ToastUtil
.
toastShort
(
activity
,
"举报成功"
);
dialog
.
dismiss
();
}
else
{
}
else
{
ToastUtil
.
toastShort
(
activity
,
resp
.
msg
);
ToastUtil
.
toastShort
(
activity
,
resp
.
msg
);
dialog
.
dismiss
();
}
}
dialog
.
dismiss
();
},
throwable
->
{
},
throwable
->
{
HttpErrorUtils
.
Companion
.
handleError
(
activity
,
throwable
);
HttpErrorUtils
.
Companion
.
handleError
(
activity
,
throwable
);
dialog
.
dismiss
();
dialog
.
dismiss
();
...
@@ -595,8 +623,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -595,8 +623,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
if
(
userType
==
1
)
{
if
(
userType
==
1
)
{
list
.
add
(
"ta的主页"
);
list
.
add
(
"ta的主页"
);
}
}
if
(
userType
==
2
)
if
(
userType
==
2
)
{
list
.
add
(
"访问专家主页"
);
list
.
add
(
"访问专家主页"
);
}
list
.
add
(
"历史聊天记录"
);
list
.
add
(
"历史聊天记录"
);
list
.
add
(
"删除聊天记录"
);
list
.
add
(
"删除聊天记录"
);
}
}
...
@@ -652,7 +681,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -652,7 +681,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
});
});
}
}
//删除聊天记录
/**
* 删除聊天记录
*/
private
void
deleteChatHistory
()
{
private
void
deleteChatHistory
()
{
CommonDialog
dialog
=
CommonDialog
.
create
(
mActivity
);
CommonDialog
dialog
=
CommonDialog
.
create
(
mActivity
);
dialog
.
setMessage
(
"确定删除与ta的聊天记录?"
);
dialog
.
setMessage
(
"确定删除与ta的聊天记录?"
);
...
@@ -720,7 +751,11 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -720,7 +751,11 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
// super.notifyChange();
// super.notifyChange();
// EventBus.getDefault().post(new NotifyRecentListChangeEvent(1));
// EventBus.getDefault().post(new NotifyRecentListChangeEvent(1));
// }
// }
private
void
skip2ExpertHome
()
{
//跳转到专家主页
/**
* 跳转到专家主页
*/
private
void
skip2ExpertHome
()
{
// 跳转到专家主页
// 跳转到专家主页
String
junmpurl
=
ImIn
.
INSTANCE
.
getExpertHost
()
+
docInfo
.
doctorId
;
String
junmpurl
=
ImIn
.
INSTANCE
.
getExpertHost
()
+
docInfo
.
doctorId
;
String
share_title
=
docInfo
.
name
+
"咨询工作室"
;
String
share_title
=
docInfo
.
name
+
"咨询工作室"
;
...
@@ -801,7 +836,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -801,7 +836,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
}
//倾诉
/**
* 倾诉
*/
@Override
@Override
public
void
confide
()
{
public
void
confide
()
{
if
(
1
==
docInfo
.
listenerIsOpen
&&
!
TextUtils
.
isEmpty
(
docInfo
.
doctorId
)
&&
!
docInfo
.
doctorId
.
equals
(
"0"
))
{
if
(
1
==
docInfo
.
listenerIsOpen
&&
!
TextUtils
.
isEmpty
(
docInfo
.
doctorId
)
&&
!
docInfo
.
doctorId
.
equals
(
"0"
))
{
...
@@ -828,7 +865,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -828,7 +865,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
}
}
}
//帮助
/**
* 帮助
*/
@Override
@Override
public
void
help
()
{
public
void
help
()
{
...
@@ -896,7 +935,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
...
@@ -896,7 +935,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
skip2ExpertHome
();
skip2ExpertHome
();
}
}
//跳转用户主页
/**
* 跳转用户主页
*/
@Override
@Override
public
void
showUserHome
()
{
public
void
showUserHome
()
{
if
(
ImIn
.
INSTANCE
.
membersIntent
(
mActivity
,
docInfo
.
toUid
)
!=
null
)
{
if
(
ImIn
.
INSTANCE
.
membersIntent
(
mActivity
,
docInfo
.
toUid
)
!=
null
)
{
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/module/input/InputPanel.java
View file @
dd01e2b0
...
@@ -25,6 +25,7 @@ import android.widget.FrameLayout;
...
@@ -25,6 +25,7 @@ import android.widget.FrameLayout;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.netease.nimlib.sdk.NIMClient
;
import
com.netease.nimlib.sdk.NIMClient
;
import
com.netease.nimlib.sdk.media.record.AudioRecorder
;
import
com.netease.nimlib.sdk.media.record.AudioRecorder
;
...
@@ -76,44 +77,57 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -76,44 +77,57 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
protected
Container
container
;
protected
Container
container
;
protected
View
view
;
protected
View
view
;
protected
Handler
uiHandler
;
protected
Handler
uiHandler
;
/***更多布局*/
protected
View
actionPanelBottomLayout
;
// 更多布局
protected
View
actionPanelBottomLayout
;
protected
LinearLayout
messageActivityBottomLayout
;
protected
LinearLayout
messageActivityBottomLayout
;
protected
EditText
messageEditText
;
// 文本消息编辑框
/***文本消息编辑框*/
protected
Button
audioRecordBtn
;
// 录音按钮
protected
EditText
messageEditText
;
protected
View
audioAnimLayout
;
// 录音动画布局
/***录音按钮*/
protected
ImageView
micImage
;
//录音声音动画文件
protected
Button
audioRecordBtn
;
protected
ImageView
mCancelImage
;
//录音时取消显示图片
/***录音动画布局*/
protected
FrameLayout
textAudioSwitchLayout
;
// 切换文本,语音按钮布局
protected
View
audioAnimLayout
;
protected
View
switchToTextButtonInInputBar
;
// 文本消息选择按钮
/***录音声音动画文件*/
protected
View
switchToAudioButtonInInputBar
;
// 语音消息选择按钮
protected
ImageView
micImage
;
protected
View
moreFuntionButtonInInputBar
;
// 更多消息选择按钮
/***录音时取消显示图片*/
protected
View
sendMessageButtonInInputBar
;
// 发送消息按钮
protected
ImageView
mCancelImage
;
protected
View
emojiButtonInInputBar
;
// 发送消息按钮
/***切换文本,语音按钮布局*/
protected
FrameLayout
textAudioSwitchLayout
;
/***文本消息选择按钮*/
protected
View
switchToTextButtonInInputBar
;
/***语音消息选择按钮*/
protected
View
switchToAudioButtonInInputBar
;
/***更多消息选择按钮*/
protected
View
moreFuntionButtonInInputBar
;
/***发送消息按钮*/
protected
View
sendMessageButtonInInputBar
;
/***发送消息按钮*/
protected
View
emojiButtonInInputBar
;
protected
View
messageInputBar
;
protected
View
messageInputBar
;
protected
View
messageEditLL
;
protected
View
messageEditLL
;
private
SessionCustomization
customization
;
private
SessionCustomization
customization
;
/
/ 表情
/
***贴图表情控件*/
protected
EmoticonPickerView
emoticonPickerView
;
// 贴图表情控件
protected
EmoticonPickerView
emoticonPickerView
;
/
/ 语音
/
***语音*/
protected
AudioRecorder
audioMessageHelper
;
protected
AudioRecorder
audioMessageHelper
;
private
Chronometer
time
;
private
Chronometer
time
;
private
TextView
timerTip
;
private
TextView
timerTip
;
private
LinearLayout
timerTipContainer
;
private
LinearLayout
timerTipContainer
;
private
boolean
started
=
false
;
private
boolean
started
=
false
;
private
boolean
cancelled
=
false
;
private
boolean
cancelled
=
false
;
private
boolean
touched
=
false
;
// 是否按着
/***是否按着*/
private
boolean
isKeyboardShowed
=
true
;
// 是否显示键盘
private
boolean
touched
=
false
;
//存放录音动画文件
/***是否显示键盘*/
private
boolean
isKeyboardShowed
=
true
;
/***存放录音动画文件*/
private
Drawable
[]
micImages
;
private
Drawable
[]
micImages
;
private
int
BASE
=
600
;
private
static
final
int
BASE
=
600
;
private
int
SPACE
=
200
;
// 间隔取样时间
/***间隔取样时间*/
private
static
final
int
SPACE
=
200
;
// state
// state
private
boolean
actionPanelBottomLayoutHasSetup
=
false
;
private
boolean
isTextAudioSwitchShow
=
true
;
private
boolean
isTextAudioSwitchShow
=
true
;
// adapter
// adapter
...
@@ -130,17 +144,17 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -130,17 +144,17 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
private
String
sendText
=
""
;
private
String
sendText
=
""
;
/
/设置输入框内容
/
***设置输入框内容*/
public
void
setInputContent
(
String
content
)
{
public
void
setInputContent
(
String
content
)
{
messageEditText
.
setText
(
content
==
null
?
""
:
content
);
messageEditText
.
setText
(
content
==
null
?
""
:
content
);
}
}
/
/设置输入框hint内容
/
***设置输入框hint内容*/
public
void
setInputHintContent
(
String
content
)
{
public
void
setInputHintContent
(
String
content
)
{
messageEditText
.
setHint
(
content
==
null
?
""
:
content
);
messageEditText
.
setHint
(
content
==
null
?
""
:
content
);
}
}
/
/获取当前聊天输入框内容
/
***获取当前聊天输入框内容*/
public
String
getInputContent
()
{
public
String
getInputContent
()
{
return
messageEditText
.
getText
().
toString
();
return
messageEditText
.
getText
().
toString
();
}
}
...
@@ -286,7 +300,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -286,7 +300,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
private
void
initTextEdit
()
{
private
void
initTextEdit
()
{
messageEditText
.
setInputType
(
InputType
.
TYPE_CLASS_TEXT
|
InputType
.
TYPE_TEXT_FLAG_MULTI_LINE
);
messageEditText
.
setInputType
(
InputType
.
TYPE_CLASS_TEXT
|
InputType
.
TYPE_TEXT_FLAG_MULTI_LINE
);
messageEditText
.
setOnTouchListener
(
new
View
.
OnTouchListener
()
{
messageEditText
.
setOnTouchListener
(
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_DOWN
)
{
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_DOWN
)
{
switchToTextLayout
(
true
);
switchToTextLayout
(
true
);
...
@@ -386,15 +400,11 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -386,15 +400,11 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
//验证用户是否已经绑定手机,若没有绑定则弹出提示
//验证用户是否已经绑定手机,若没有绑定则弹出提示
if
(
ActionHandlerStorage
.
getL
(
container
.
account
)
!=
null
)
{
if
(!
ActionHandlerStorage
.
getL
(
container
.
account
).
isBindPhone
(
context
,
container
.
account
))
// 账户信息是null时 判断是否是聊天室 不是聊天室提示用户退出重试
return
;
if
(
ActionHandlerStorage
.
getL
(
container
.
account
)
==
null
&&
container
.
sessionType
!=
SessionTypeEnum
.
ChatRoom
)
{
}
else
{
ToastUtil
.
toastShort
(
"请退出聊天界面重试"
);
//判断是否是聊天室
return
;
if
(
container
.
sessionType
!=
SessionTypeEnum
.
ChatRoom
)
{
ToastUtil
.
toastShort
(
"请退出聊天界面重试"
);
return
;
}
}
}
if
(
v
==
switchToTextButtonInInputBar
)
{
if
(
v
==
switchToTextButtonInInputBar
)
{
...
@@ -490,11 +500,13 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -490,11 +500,13 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
interface
TextReplaceCallback
{
interface
TextReplaceCallback
{
void
isBeReplace
();
void
isBeReplace
();
void
notBeReplace
();
void
notBeReplace
();
}
}
/**
/**
* 判定是否需要将长数字字符串部分替换为****
* 判定是否需要将长数字字符串部分替换为****
*
* @param text
* @param text
* @param callback
* @param callback
*/
*/
...
@@ -565,7 +577,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -565,7 +577,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
if
(
isBeReplace
)
{
if
(
isBeReplace
)
{
sendText
=
lastText
;
sendText
=
lastText
;
callback
.
isBeReplace
();
callback
.
isBeReplace
();
}
else
{
}
else
{
sendText
=
text
;
sendText
=
text
;
callback
.
notBeReplace
();
callback
.
notBeReplace
();
}
}
...
@@ -575,7 +587,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -575,7 +587,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
return
MessageBuilder
.
createTextMessage
(
container
.
account
,
container
.
sessionType
,
text
);
return
MessageBuilder
.
createTextMessage
(
container
.
account
,
container
.
sessionType
,
text
);
}
}
// 切换成音频,收起键盘,按钮切换成键盘
/**
* 切换成音频,收起键盘,按钮切换成键盘
*/
private
void
switchToAudioLayout
()
{
private
void
switchToAudioLayout
()
{
messageEditText
.
setVisibility
(
View
.
GONE
);
messageEditText
.
setVisibility
(
View
.
GONE
);
audioRecordBtn
.
setVisibility
(
View
.
VISIBLE
);
audioRecordBtn
.
setVisibility
(
View
.
VISIBLE
);
...
@@ -588,7 +602,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -588,7 +602,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
switchToTextButtonInInputBar
.
setVisibility
(
View
.
VISIBLE
);
switchToTextButtonInInputBar
.
setVisibility
(
View
.
VISIBLE
);
}
}
// 点击“+”号按钮,切换更多布局和键盘
/**
* 点击“+”号按钮,切换更多布局和键盘
*/
private
void
toggleActionPanelLayout
()
{
private
void
toggleActionPanelLayout
()
{
if
(
actionPanelBottomLayout
==
null
||
actionPanelBottomLayout
.
getVisibility
()
==
View
.
GONE
)
{
if
(
actionPanelBottomLayout
==
null
||
actionPanelBottomLayout
.
getVisibility
()
==
View
.
GONE
)
{
showActionPanelLayout
();
showActionPanelLayout
();
...
@@ -597,7 +613,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -597,7 +613,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
}
}
// 点击表情,切换到表情布局
/**
* 点击表情,切换到表情布局
*/
private
void
toggleEmojiLayout
()
{
private
void
toggleEmojiLayout
()
{
if
(
emoticonPickerView
==
null
||
emoticonPickerView
.
getVisibility
()
==
View
.
GONE
)
{
if
(
emoticonPickerView
==
null
||
emoticonPickerView
.
getVisibility
()
==
View
.
GONE
)
{
showEmojiLayout
();
showEmojiLayout
();
...
@@ -606,7 +624,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -606,7 +624,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
}
}
// 隐藏表情布局
/**
* 隐藏表情布局
*/
private
void
hideEmojiLayout
()
{
private
void
hideEmojiLayout
()
{
uiHandler
.
removeCallbacks
(
showEmojiRunnable
);
uiHandler
.
removeCallbacks
(
showEmojiRunnable
);
if
(
emoticonPickerView
!=
null
)
{
if
(
emoticonPickerView
!=
null
)
{
...
@@ -614,7 +634,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -614,7 +634,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
}
}
// 隐藏更多布局
/**
* 隐藏更多布局
*/
private
void
hideActionPanelLayout
()
{
private
void
hideActionPanelLayout
()
{
uiHandler
.
removeCallbacks
(
showMoreFuncRunnable
);
uiHandler
.
removeCallbacks
(
showMoreFuncRunnable
);
if
(
actionPanelBottomLayout
!=
null
)
{
if
(
actionPanelBottomLayout
!=
null
)
{
...
@@ -622,7 +644,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -622,7 +644,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
}
}
// 隐藏键盘布局
/**
* 隐藏键盘布局
*/
private
void
hideInputMethod
()
{
private
void
hideInputMethod
()
{
isKeyboardShowed
=
false
;
isKeyboardShowed
=
false
;
uiHandler
.
removeCallbacks
(
showTextRunnable
);
uiHandler
.
removeCallbacks
(
showTextRunnable
);
...
@@ -631,7 +655,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -631,7 +655,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
messageEditText
.
clearFocus
();
messageEditText
.
clearFocus
();
}
}
// 隐藏语音布局
/**
* 隐藏语音布局
*/
private
void
hideAudioLayout
()
{
private
void
hideAudioLayout
()
{
audioRecordBtn
.
setVisibility
(
View
.
GONE
);
audioRecordBtn
.
setVisibility
(
View
.
GONE
);
messageEditText
.
setVisibility
(
View
.
VISIBLE
);
messageEditText
.
setVisibility
(
View
.
VISIBLE
);
...
@@ -640,7 +666,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -640,7 +666,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
switchToAudioButtonInInputBar
.
setVisibility
(
View
.
GONE
);
switchToAudioButtonInInputBar
.
setVisibility
(
View
.
GONE
);
}
}
// 显示表情布局
/**
* 显示表情布局
*/
private
void
showEmojiLayout
()
{
private
void
showEmojiLayout
()
{
hideInputMethod
();
hideInputMethod
();
hideActionPanelLayout
();
hideActionPanelLayout
();
...
@@ -654,7 +682,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -654,7 +682,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
// 初始化更多布局
/**
* 初始化更多布局
*/
private
void
initActionPanel
()
{
private
void
initActionPanel
()
{
for
(
int
i
=
0
;
i
<
actions
.
size
();
++
i
)
{
for
(
int
i
=
0
;
i
<
actions
.
size
();
++
i
)
{
actions
.
get
(
i
).
setIndex
(
i
);
actions
.
get
(
i
).
setIndex
(
i
);
...
@@ -667,7 +697,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -667,7 +697,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
}
}
// 显示键盘布局
/**
* 显示键盘布局
*/
private
void
showInputMethod
(
EditText
editTextMessage
)
{
private
void
showInputMethod
(
EditText
editTextMessage
)
{
editTextMessage
.
requestFocus
();
editTextMessage
.
requestFocus
();
//如果已经显示,则继续操作时不需要把光标定位到最后
//如果已经显示,则继续操作时不需要把光标定位到最后
...
@@ -682,7 +714,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -682,7 +714,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
container
.
proxy
.
onInputPanelExpand
();
container
.
proxy
.
onInputPanelExpand
();
}
}
// 显示更多布局
/**
* 显示更多布局
*/
private
void
showActionPanelLayout
()
{
private
void
showActionPanelLayout
()
{
hideEmojiLayout
();
hideEmojiLayout
();
hideInputMethod
();
hideInputMethod
();
...
@@ -742,7 +776,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -742,7 +776,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
@Override
@Override
public
void
onEmojiSelected
(
String
key
)
{
public
void
onEmojiSelected
(
String
key
)
{
Editable
mEditable
=
messageEditText
.
getText
();
Editable
mEditable
=
messageEditText
.
getText
();
if
(
key
.
equals
(
"/DEL"
))
{
if
(
"/DEL"
.
equals
(
key
))
{
messageEditText
.
dispatchKeyEvent
(
new
KeyEvent
(
KeyEvent
.
ACTION_DOWN
,
KeyEvent
.
KEYCODE_DEL
));
messageEditText
.
dispatchKeyEvent
(
new
KeyEvent
(
KeyEvent
.
ACTION_DOWN
,
KeyEvent
.
KEYCODE_DEL
));
}
else
{
}
else
{
int
start
=
messageEditText
.
getSelectionStart
();
int
start
=
messageEditText
.
getSelectionStart
();
...
@@ -944,6 +978,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -944,6 +978,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
private
final
Handler
mHandler
=
new
Handler
()
{
private
final
Handler
mHandler
=
new
Handler
()
{
@Override
public
void
handleMessage
(
android
.
os
.
Message
msg
)
{
public
void
handleMessage
(
android
.
os
.
Message
msg
)
{
int
what
=
msg
.
what
;
int
what
=
msg
.
what
;
//根据mHandler发送what的大小决定话筒的图片是哪一张
//根据mHandler发送what的大小决定话筒的图片是哪一张
...
@@ -958,6 +993,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -958,6 +993,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
};
};
private
Runnable
mUpdateMicStatusTimer
=
new
Runnable
()
{
private
Runnable
mUpdateMicStatusTimer
=
new
Runnable
()
{
@Override
public
void
run
()
{
public
void
run
()
{
updateMicStatus
();
updateMicStatus
();
}
}
...
@@ -971,8 +1007,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -971,8 +1007,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
if
(
touched
)
{
if
(
touched
)
{
int
ratio
=
audioMessageHelper
.
getCurrentRecordMaxAmplitude
()
/
BASE
;
int
ratio
=
audioMessageHelper
.
getCurrentRecordMaxAmplitude
()
/
BASE
;
int
db
=
0
;
// 分贝
int
db
=
0
;
// 分贝
if
(
ratio
>
1
)
if
(
ratio
>
1
)
{
db
=
(
int
)
(
20
*
Math
.
log10
(
ratio
));
db
=
(
int
)
(
20
*
Math
.
log10
(
ratio
));
}
Log
.
e
(
"hzs"
,
"分贝值:"
+
db
+
" "
+
Math
.
log10
(
ratio
));
Log
.
e
(
"hzs"
,
"分贝值:"
+
db
+
" "
+
Math
.
log10
(
ratio
));
//对着手机说话声音最大的时候,db达到了35左右
//对着手机说话声音最大的时候,db达到了35左右
mHandler
.
postDelayed
(
mUpdateMicStatusTimer
,
SPACE
);
mHandler
.
postDelayed
(
mUpdateMicStatusTimer
,
SPACE
);
...
@@ -986,7 +1023,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -986,7 +1023,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
}
}
// 录音状态回调
/**
* 录音状态回调
*/
@Override
@Override
public
void
onRecordReady
()
{
public
void
onRecordReady
()
{
...
@@ -1069,7 +1108,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
...
@@ -1069,7 +1108,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
}
}
// 发送文本消息
/**
* 发送文本消息
*/
public
void
onTextMessageSendButtonPressed
(
String
text
)
{
public
void
onTextMessageSendButtonPressed
(
String
text
)
{
if
(
text
.
isEmpty
())
{
if
(
text
.
isEmpty
())
{
ToastUtil
.
toastShort
(
container
.
activity
,
"请输入后再发送"
);
ToastUtil
.
toastShort
(
container
.
activity
,
"请输入后再发送"
);
...
...
m-im/src/main/java/com/yidianling/uikit/custom/bridge/IP2PCustomActionHandler.java
View file @
dd01e2b0
...
@@ -22,15 +22,20 @@ public interface IP2PCustomActionHandler {
...
@@ -22,15 +22,20 @@ public interface IP2PCustomActionHandler {
Boolean
isNotPrepare
();
Boolean
isNotPrepare
();
boolean
deleteMessage
(
IMMessage
message
);
//需要筛选的消息
/***需要筛选的消息*/
boolean
deleteMessage
(
IMMessage
message
);
void
setDoctorStatus
(
int
status
);
//更新专家登录状态
/***更新专家登录状态*/
void
setDoctorStatus
(
int
status
);
void
setDoctorBusyNum
(
int
num
);
//设置专家正在咨询的人数
/***设置专家正在咨询的人数*/
void
setDoctorBusyNum
(
int
num
);
void
judgeSendRemindMsg
(
String
sessionId
);
//发送提醒上线的用户消息
/***发送提醒上线的用户消息*/
void
judgeSendRemindMsg
(
String
sessionId
);
void
sendRecommendExpertListMessage
(
String
sessionId
,
ArrayList
<
RecommendExpertBean
>
recommendExpertList
,
int
type
,
boolean
showExpertList
);
//发送推荐专家列表
/***发送推荐专家列表*/
void
sendRecommendExpertListMessage
(
String
sessionId
,
ArrayList
<
RecommendExpertBean
>
recommendExpertList
,
int
type
,
boolean
showExpertList
);
Activity
getmActivity
();
Activity
getmActivity
();
...
@@ -40,15 +45,19 @@ public interface IP2PCustomActionHandler {
...
@@ -40,15 +45,19 @@ public interface IP2PCustomActionHandler {
void
showDingdan
(
String
url
);
void
showDingdan
(
String
url
);
void
showZhuanjPage
();
//专家H5主页
/***专家H5主页*/
void
showZhuanjPage
();
void
toExpertHome
(
String
doctorId
,
String
name
,
String
cover
);
//专家h5主页
/***专家h5主页*/
void
toExpertHome
(
String
doctorId
,
String
name
,
String
cover
);
void
showUserHome
();
//跳转用户主页
/***跳转用户主页*/
void
showUserHome
();
void
jump
();
void
jump
();
void
h5Video
();
//跳转h5视频介绍
/***跳转h5视频介绍*/
void
h5Video
();
//私聊 获取聊天者的订单关系数据(参数cantalk从另一个接口获取)
//私聊 获取聊天者的订单关系数据(参数cantalk从另一个接口获取)
// void getExpert(int toUid,int cantalk);
// void getExpert(int toUid,int cantalk);
...
@@ -56,7 +65,8 @@ public interface IP2PCustomActionHandler {
...
@@ -56,7 +65,8 @@ public interface IP2PCustomActionHandler {
void
help
();
void
help
();
void
makeColections
(
String
toUid
);
// 发起收款
/***发起收款*/
void
makeColections
(
String
toUid
);
void
clear
(
String
accid
);
void
clear
(
String
accid
);
...
@@ -77,40 +87,41 @@ public interface IP2PCustomActionHandler {
...
@@ -77,40 +87,41 @@ public interface IP2PCustomActionHandler {
void
setUserType
(
int
userType
);
void
setUserType
(
int
userType
);
/
/获取自己的用户类型
/
***获取自己的用户类型*/
int
getSelfUserType
();
int
getSelfUserType
();
/
/发红包
/
***发红包*/
void
sendRedPacket
(
Activity
activity
);
void
sendRedPacket
(
Activity
activity
);
/
/检查用户是否已经绑定手机号
/
***检查用户是否已经绑定手机号*/
boolean
isBindPhone
(
Activity
activity
,
String
toUid
);
boolean
isBindPhone
(
Activity
activity
,
String
toUid
);
/
/消息中有11位数字,提示是否要隐藏中间5位
/
***消息中有11位数字,提示是否要隐藏中间5位*/
boolean
HintMessageSend
(
Activity
activity
,
ReturnCallBack
returnCallBack
);
boolean
HintMessageSend
(
Activity
activity
,
ReturnCallBack
returnCallBack
);
/
/举报
/
*** 举报*/
void
showJubao
(
Activity
activity
);
void
showJubao
(
Activity
activity
);
/
/埋点统计
/
***埋点统计*/
void
buryPoint
(
String
eventName
,
JSONObject
properties
);
void
buryPoint
(
String
eventName
,
JSONObject
properties
);
/
/发送自定义提醒消息
/
***发送自定义提醒消息*/
void
sendCustomMsg
();
void
sendCustomMsg
();
/
/保存聊天未发送的临时内容
/
***保存聊天未发送的临时内容*/
void
saveImTempData
(
String
touid
,
String
content
);
void
saveImTempData
(
String
touid
,
String
content
);
/
/获取聊天未发送的临时内容
/
***获取聊天未发送的临时内容*/
String
getImTempData
(
String
touid
);
String
getImTempData
(
String
touid
);
/
/判断是否需要弹出 获取群聊历史记录dialog
/
***判断是否需要弹出 获取群聊历史记录dialog*/
void
chatTeamHistoryTip
(
Activity
activity
);
void
chatTeamHistoryTip
(
Activity
activity
);
/
/短时间多次私聊 给予警示
/
***短时间多次私聊 给予警示*/
void
sendMsgToChatTip
();
void
sendMsgToChatTip
();
void
h5ActivityStart
(
Context
mActivity
,
String
url
,
boolean
isFresh
);
//跳转h5页面 isFresh表示是否需要下拉刷新功能
/***跳转h5页面 isFresh表示是否需要下拉刷新功能*/
void
h5ActivityStart
(
Context
mActivity
,
String
url
,
boolean
isFresh
);
void
uploadSendMessageError
(
int
code
);
void
uploadSendMessageError
(
int
code
);
...
@@ -120,32 +131,33 @@ public interface IP2PCustomActionHandler {
...
@@ -120,32 +131,33 @@ public interface IP2PCustomActionHandler {
void
popCallDialog
(
Context
context
);
void
popCallDialog
(
Context
context
);
void
setExpertInfo
(
String
toChatUsername
,
IMExpertBuild
expert
)
;
void
setExpertInfo
(
String
toChatUsername
,
IMExpertBuild
expert
);
class
DocInfo
{
class
DocInfo
{
public
String
toUid
;
public
String
toUid
;
public
String
doctorId
;
public
String
doctorId
;
public
String
listenerId
;
public
String
listenerId
;
public
String
name
=
""
;
public
String
name
=
""
;
public
String
title
;
public
String
title
;
public
int
is_online
;
//专家状态 1.在线 2.离线 3通话中 4-继续拨打 ,
public
int
is_online
;
//专家状态 1.在线 2.离线 3通话中 4-继续拨打 ,
public
int
isChatOnline
;
//
//专家私聊在线状态 1.在线,2.离线,3.忙碌 4咨询中, 5倾述中 6咨询前准备
public
int
isChatOnline
;
//专家私聊在线状态 1.在线,2.离线,3.忙碌 4咨询中, 5倾述中 6咨询前准备
public
String
cover
;
public
String
cover
;
public
String
desc
;
public
String
desc
;
public
String
url_share
;
public
String
url_share
;
public
String
price
;
public
String
price
;
public
String
unitTxt
;
public
String
unitTxt
;
public
String
url
;
public
String
url
;
public
int
hasAvailableListenOrder
;
//是否还有未完成的倾诉订单 1、没有 2、有
public
int
hasAvailableListenOrder
;
//是否还有未完成的倾诉订单 1、没有 2、有
public
int
listenOrderCommentStatus
;
//倾诉订单评论状态 1:未评价 9:已评价 ,
public
int
listenOrderCommentStatus
;
//倾诉订单评论状态 1:未评价 9:已评价 ,
public
String
listenOrderCommentUrl
;
//倾诉订单评价页url
public
String
listenOrderCommentUrl
;
//倾诉订单评价页url
public
String
listenOrderUrl
;
//订单详情页面url
public
String
listenOrderUrl
;
//订单详情页面url
public
String
listenOrderDesc
;
//倾诉订单状态描述
public
String
listenOrderDesc
;
//倾诉订单状态描述
public
String
listenOrderRemainTime
;
//未完成倾诉订单剩余时间
public
String
listenOrderRemainTime
;
//未完成倾诉订单剩余时间
public
String
urlTitle
;
public
String
urlTitle
;
public
String
blackStatus
;
public
String
blackStatus
;
public
String
orderid
;
public
String
orderid
;
public
int
listenerIsOpen
;
//
//1 开启 2 关闭
public
int
listenerIsOpen
;
//1 开启 2 关闭
public
int
is_first
=
1
;
//是否是第一次私聊
public
int
is_first
=
1
;
//是否是第一次私聊
public
int
busyTotal
=
0
;
//专家当前在与多少人聊天
public
int
busyTotal
=
0
;
//专家当前在与多少人聊天
public
String
tag1
=
""
;
//用与获取推荐专家列表接口的参数catName
public
String
tag1
=
""
;
//用与获取推荐专家列表接口的参数catName
...
@@ -162,7 +174,9 @@ public interface IP2PCustomActionHandler {
...
@@ -162,7 +174,9 @@ public interface IP2PCustomActionHandler {
public
ArrayList
<
ImCommendDetailBean
>
commentList
;
public
ArrayList
<
ImCommendDetailBean
>
commentList
;
}
}
//消息中有11位数字,提示是否要隐藏中间5位 相关
/**
* 消息中有11位数字,提示是否要隐藏中间5位 相关
*/
public
interface
ReturnCallBack
{
public
interface
ReturnCallBack
{
boolean
RetCallback
();
boolean
RetCallback
();
}
}
...
...
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