Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
RvApp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
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
lify
RvApp
Commits
b5e9d97a
Commit
b5e9d97a
authored
Sep 29, 2019
by
jianglx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改推广有奖活动规则;修改启动页获取im 配置有可能失败的问题
parent
760f9d1f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
10 additions
and
4 deletions
+10
-4
build.gradle
RvClient/build.gradle
+2
-2
ChatContentAdapter.java
...m/src/main/java/com/rv/im/adapter/ChatContentAdapter.java
+6
-0
XChatMessageListener.java
...im/src/main/java/com/rv/im/xmpp/XChatMessageListener.java
+1
-1
activity_member.xml
plugin_member/src/main/res/layout/activity_member.xml
+1
-1
No files found.
RvClient/build.gradle
View file @
b5e9d97a
...
@@ -8,8 +8,8 @@ android {
...
@@ -8,8 +8,8 @@ android {
minSdkVersion
rootProject
.
ext
.
minSdkVersion
minSdkVersion
rootProject
.
ext
.
minSdkVersion
targetSdkVersion
rootProject
.
ext
.
targetSdkVersion
targetSdkVersion
rootProject
.
ext
.
targetSdkVersion
flavorDimensions
"default"
flavorDimensions
"default"
versionCode
14
6
versionCode
14
7
versionName
"1.4.
6
"
versionName
"1.4.
7
"
multiDexEnabled
true
multiDexEnabled
true
...
...
plugin_im/src/main/java/com/rv/im/adapter/ChatContentAdapter.java
View file @
b5e9d97a
...
@@ -368,11 +368,17 @@ public class ChatContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
...
@@ -368,11 +368,17 @@ public class ChatContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
VoicePlayer
.
instance
().
playVoice
(
holder
.
chatVoiceAnimView
);
VoicePlayer
.
instance
().
playVoice
(
holder
.
chatVoiceAnimView
);
ChatMessageServiceImp
.
getInstance
(
mContext
).
setVoicePlay
(
bean
.
getPackId
());
ChatMessageServiceImp
.
getInstance
(
mContext
).
setVoicePlay
(
bean
.
getPackId
());
listener
.
voicePlay
(
bean
);
listener
.
voicePlay
(
bean
);
holder
.
imgState
.
setVisibility
(
View
.
GONE
);
}
}
);
);
if
(!
TextUtils
.
isEmpty
(
bean
.
getContent
()))
{
if
(!
TextUtils
.
isEmpty
(
bean
.
getContent
()))
{
holder
.
chatVoiceAnimView
.
fillData
(
bean
);
holder
.
chatVoiceAnimView
.
fillData
(
bean
);
}
}
if
(
bean
.
getVoiceStatus
()
==
0
)
{
holder
.
imgState
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
holder
.
imgState
.
setVisibility
(
View
.
GONE
);
}
}
}
private
void
setToVoiceContentView
(
ChatMessage
bean
,
MsgToVoiceHolder
holder
)
{
private
void
setToVoiceContentView
(
ChatMessage
bean
,
MsgToVoiceHolder
holder
)
{
...
...
plugin_im/src/main/java/com/rv/im/xmpp/XChatMessageListener.java
View file @
b5e9d97a
package
com
.
rv
.
im
.
xmpp
;
import
android.os.Handler
;
import
android.os.Looper
;
import
android.text.TextUtils
;
import
com.rv.im.ImService
;
import
com.rv.im.call.JitsistateMachine
;
import
com.rv.im.call.event.MessageBusyEvent
;
import
com.rv.im.call.event.MessageEventSipEVent
;
import
com.rv.im.call.event.MessageHangUpPhone
;
import
com.rv.im.db.service.ChatMessageServiceImp
;
import
com.rv.im.db.table.ChatMessage
;
import
com.rv.im.enums.CallTypeEnum
;
import
com.rv.im.enums.MessageTypeEnum
;
import
org.greenrobot.eventbus.EventBus
;
import
org.jivesoftware.smack.chat2.Chat
;
import
org.jivesoftware.smack.chat2.IncomingChatMessageListener
;
import
org.jivesoftware.smack.packet.Message
;
import
org.jxmpp.jid.EntityBareJid
;
/** * Created by Administrator on 2017/11/24. */
public
class
XChatMessageListener
implements
IncomingChatMessageListener
{
private
ImService
mService
;
public
XChatMessageListener
(
ImService
service
)
{
mService
=
service
;
}
@Override
public
void
newIncomingMessage
(
EntityBareJid
fromxx
,
Message
message
,
Chat
chat
)
{
String
packetID
=
message
.
getPacketID
();
String
body
=
message
.
getBody
();
ChatMessage
chatMessage
=
ChatMessage
.
json2Message
(
body
);
if
(
TextUtils
.
isEmpty
(
chatMessage
.
getPackId
()))
{
chatMessage
.
setPackId
(
packetID
);
}
int
type
=
chatMessage
.
getMessageType
();
if
(
type
==
0
)
{
// 消息过滤 return; } if (type == MessageTypeEnum.TEXT.getType() || type == MessageTypeEnum.PIC.getType() || type == MessageTypeEnum.FILE.getType() || type == MessageTypeEnum.VOICE.getType()) { ListenerManager.getInstance().notifyNewMesssage(chatMessage); } else if (type == MessageTypeEnum.VOLTE_CALL.getType()) { // 发送语音通话 dealVolteCall(chatMessage); } else if (type == MessageTypeEnum.VIDEO_CALL.getType()) { // 发送视频通话 dealVideoCall(chatMessage); } } /********** * 处理视频通话 * @param chatMessage */ private void dealVideoCall(ChatMessage chatMessage) { int callType = chatMessage.getCallType(); if (callType == CallTypeEnum.CONNECT_VIDEO.getType()) { if (JitsistateMachine.isInCalling) { mService.sendBusyMessage(chatMessage.getMessageType(), chatMessage.getFromUserId()); return; } if ((int) System.currentTimeMillis() / 1000 - chatMessage.getTimeSend() <= 30) { // 跳转到语音待接受界面 EventBus.getDefault().post(new MessageEventSipEVent(callType, chatMessage.getFromUserId(), chatMessage)); } } else if (callType == CallTypeEnum.CONNECTED_VIDEO.getType()) { EventBus.getDefault().post(new MessageEventSipEVent(callType, null, chatMessage)); } else if (callType == CallTypeEnum.NO_CONNECT_VIDEO.getType()) { EventBus.getDefault().post(new MessageEventSipEVent(callType, null, chatMessage)); String content; if (chatMessage.getTimeLen() == 0) { content = "对方取消视频通话"; } else { content = "对方无人接听"; } chatMessage.setContent(content); ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); new Handler(Looper.getMainLooper()).postDelayed(() -> EventBus.getDefault().post(new MessageHangUpPhone(chatMessage)), 1000);// 延迟一秒在发送挂断消息,防止当我们离线时,对方发起 } else if (callType == CallTypeEnum.END_CONNECT_VIDEO.getType()) { ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); EventBus.getDefault().post(new MessageHangUpPhone(chatMessage)); } } /********** * 处理语音通话 * @param chatMessage */ private void dealVolteCall(ChatMessage chatMessage) { int callType = chatMessage.getCallType(); if (callType == CallTypeEnum.CONNECT_VOICE.getType()) { ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); if (JitsistateMachine.isInCalling) { // 对方来电 ,本人 正在通话 mService.sendBusyMessage(chatMessage.getMessageType(), chatMessage.getFromUserId()); return; } if ((int) System.currentTimeMillis() / 1000 - chatMessage.getTimeSend() <= 30) { // 跳转到语音待接受界面 EventBus.getDefault().post(new MessageEventSipEVent(callType, chatMessage.getFromUserId(), chatMessage)); } } else if (callType == CallTypeEnum.CONNECTED_VOICE.getType()) { EventBus.getDefault().post(new MessageEventSipEVent(callType, null, chatMessage)); } else if (callType == CallTypeEnum.NO_CONNECT_VOICE.getType()) { EventBus.getDefault().post(new MessageEventSipEVent(callType, null, chatMessage)); ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); new Handler(Looper.getMainLooper()).postDelayed(() -> EventBus.getDefault().post(new MessageHangUpPhone(chatMessage)), 1000);// 延迟一秒在发送挂断消息,防止当我们离线时,对方发起通话之后又取消了通话,我们30秒内上线,在来点界面拉起时该Event也发送出去了 } else if (callType == CallTypeEnum.END_CONNECT_VOICE.getType()) { // 通知通话界面挂断 ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); EventBus.getDefault().post(new MessageHangUpPhone(chatMessage)); } else if (callType == CallTypeEnum.CALL_BUSY.getType()) { // 忙线 ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); EventBus.getDefault().post(new MessageBusyEvent(chatMessage)); } } }
package
com
.
rv
.
im
.
xmpp
;
import
android.os.Handler
;
import
android.os.Looper
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
com.rv.im.ImService
;
import
com.rv.im.call.JitsistateMachine
;
import
com.rv.im.call.event.MessageBusyEvent
;
import
com.rv.im.call.event.MessageEventSipEVent
;
import
com.rv.im.call.event.MessageHangUpPhone
;
import
com.rv.im.db.service.ChatMessageServiceImp
;
import
com.rv.im.db.table.ChatMessage
;
import
com.rv.im.enums.CallTypeEnum
;
import
com.rv.im.enums.MessageTypeEnum
;
import
org.greenrobot.eventbus.EventBus
;
import
org.jivesoftware.smack.chat2.Chat
;
import
org.jivesoftware.smack.chat2.IncomingChatMessageListener
;
import
org.jivesoftware.smack.packet.Message
;
import
org.jxmpp.jid.EntityBareJid
;
/** * Created by Administrator on 2017/11/24. */
public
class
XChatMessageListener
implements
IncomingChatMessageListener
{
private
ImService
mService
;
public
XChatMessageListener
(
ImService
service
)
{
mService
=
service
;
}
@Override
public
void
newIncomingMessage
(
EntityBareJid
fromxx
,
Message
message
,
Chat
chat
)
{
String
packetID
=
message
.
getPacketID
();
String
body
=
message
.
getBody
();
Log
.
e
(
"xxxxxx"
,
body
)
;
ChatMessage
chatMessage
=
ChatMessage
.
json2Message
(
body
);
if
(
TextUtils
.
isEmpty
(
chatMessage
.
getPackId
()))
{
chatMessage
.
setPackId
(
packetID
);
}
int
type
=
chatMessage
.
getMessageType
();
if
(
type
==
0
)
{
// 消息过滤 return; } if (type == MessageTypeEnum.TEXT.getType() || type == MessageTypeEnum.PIC.getType() || type == MessageTypeEnum.FILE.getType() || type == MessageTypeEnum.VOICE.getType()) { ListenerManager.getInstance().notifyNewMesssage(chatMessage); } else if (type == MessageTypeEnum.VOLTE_CALL.getType()) { // 发送语音通话 dealVolteCall(chatMessage); } else if (type == MessageTypeEnum.VIDEO_CALL.getType()) { // 发送视频通话 dealVideoCall(chatMessage); } } /********** * 处理视频通话 * @param chatMessage */ private void dealVideoCall(ChatMessage chatMessage) { int callType = chatMessage.getCallType(); if (callType == CallTypeEnum.CONNECT_VIDEO.getType()) { if (JitsistateMachine.isInCalling) { mService.sendBusyMessage(chatMessage.getMessageType(), chatMessage.getFromUserId()); return; } if ((int) System.currentTimeMillis() / 1000 - chatMessage.getTimeSend() <= 30) { // 跳转到语音待接受界面 EventBus.getDefault().post(new MessageEventSipEVent(callType, chatMessage.getFromUserId(), chatMessage)); } } else if (callType == CallTypeEnum.CONNECTED_VIDEO.getType()) { EventBus.getDefault().post(new MessageEventSipEVent(callType, null, chatMessage)); } else if (callType == CallTypeEnum.NO_CONNECT_VIDEO.getType()) { EventBus.getDefault().post(new MessageEventSipEVent(callType, null, chatMessage)); String content; if (chatMessage.getTimeLen() == 0) { content = "对方取消视频通话"; } else { content = "对方无人接听"; } chatMessage.setContent(content); ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); new Handler(Looper.getMainLooper()).postDelayed(() -> EventBus.getDefault().post(new MessageHangUpPhone(chatMessage)), 1000);// 延迟一秒在发送挂断消息,防止当我们离线时,对方发起 } else if (callType == CallTypeEnum.END_CONNECT_VIDEO.getType()) { ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); EventBus.getDefault().post(new MessageHangUpPhone(chatMessage)); } } /********** * 处理语音通话 * @param chatMessage */ private void dealVolteCall(ChatMessage chatMessage) { int callType = chatMessage.getCallType(); if (callType == CallTypeEnum.CONNECT_VOICE.getType()) { ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); if (JitsistateMachine.isInCalling) { // 对方来电 ,本人 正在通话 mService.sendBusyMessage(chatMessage.getMessageType(), chatMessage.getFromUserId()); return; } if ((int) System.currentTimeMillis() / 1000 - chatMessage.getTimeSend() <= 30) { // 跳转到语音待接受界面 EventBus.getDefault().post(new MessageEventSipEVent(callType, chatMessage.getFromUserId(), chatMessage)); } } else if (callType == CallTypeEnum.CONNECTED_VOICE.getType()) { EventBus.getDefault().post(new MessageEventSipEVent(callType, null, chatMessage)); } else if (callType == CallTypeEnum.NO_CONNECT_VOICE.getType()) { EventBus.getDefault().post(new MessageEventSipEVent(callType, null, chatMessage)); ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); new Handler(Looper.getMainLooper()).postDelayed(() -> EventBus.getDefault().post(new MessageHangUpPhone(chatMessage)), 1000);// 延迟一秒在发送挂断消息,防止当我们离线时,对方发起通话之后又取消了通话,我们30秒内上线,在来点界面拉起时该Event也发送出去了 } else if (callType == CallTypeEnum.END_CONNECT_VOICE.getType()) { // 通知通话界面挂断 ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); EventBus.getDefault().post(new MessageHangUpPhone(chatMessage)); } else if (callType == CallTypeEnum.CALL_BUSY.getType()) { // 忙线 ChatMessageServiceImp.getInstance(mService.getApplicationContext()).addMessage(chatMessage); EventBus.getDefault().post(new MessageBusyEvent(chatMessage)); } } }
\ No newline at end of file
\ No newline at end of file
...
...
plugin_member/src/main/res/layout/activity_member.xml
View file @
b5e9d97a
...
@@ -69,7 +69,7 @@
...
@@ -69,7 +69,7 @@
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:ellipsize=
"end"
android:ellipsize=
"end"
android:maxLength=
"
10
"
android:maxLength=
"
8
"
android:textColor=
"@color/colorYellow"
android:textColor=
"@color/colorYellow"
android:textSize=
"@dimen/text_16"
android:textSize=
"@dimen/text_16"
android:visibility=
"gone"
/>
android:visibility=
"gone"
/>
...
...
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