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
d5efaeac
Commit
d5efaeac
authored
Oct 11, 2019
by
linfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_im' of
http://113.105.137.151:22280/lify/rvapp
into master-video
parents
56d55ad5
df925a88
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
22 additions
and
11 deletions
+22
-11
WelcomeActivity.java
RvClient/src/main/java/com/xxfc/rv/WelcomeActivity.java
+1
-4
NetWorkReceiver.java
.../java/com/ruiwenliu/wrapper/receiver/NetWorkReceiver.java
+0
-1
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
MemberCenterActivity.java
...ber/src/main/java/com/rv.member/MemberCenterActivity.java
+7
-0
MemberTopView.java
...ember/src/main/java/com/rv.member/view/MemberTopView.java
+2
-1
ShareActivity.java
plugin_share/src/main/java/com/rv/share/ShareActivity.java
+5
-4
No files found.
RvClient/src/main/java/com/xxfc/rv/WelcomeActivity.java
View file @
d5efaeac
...
...
@@ -28,9 +28,7 @@ import java.util.concurrent.TimeUnit;
import
io.reactivex.Flowable
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
public
class
WelcomeActivity
extends
BaseActivity
<
CommonPresenter
>
{
private
Disposable
mDisposable
=
null
;
...
...
@@ -70,8 +68,7 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
AppConfig
appConfig
=
(
AppConfig
)
RvCache
.
getInstance
().
get
(
CacheEnum
.
IM_CONFIG
);
if
(
appConfig
==
null
)
{
if
(!
NetworkUtil
.
isNetworkAvailable
(
getApplicationContext
()))
{
Toast
.
makeText
(
getApplicationContext
(),
"网络异常,im初始化失败,请退出重进"
,
Toast
.
LENGTH_SHORT
).
show
();
return
;
Toast
.
makeText
(
getApplicationContext
(),
"网络异常,im初始化失败,请退出重进"
,
Toast
.
LENGTH_LONG
).
show
();
}
}
else
{
isImInitOk
=
true
;
...
...
RvWrapper/src/main/java/com/ruiwenliu/wrapper/receiver/NetWorkReceiver.java
View file @
d5efaeac
...
...
@@ -4,7 +4,6 @@ import android.content.BroadcastReceiver;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.ConnectivityManager
;
import
android.util.Log
;
import
android.widget.Toast
;
import
com.base.utils.tools.android.NetworkUtil
;
...
...
plugin_im/src/main/java/com/rv/im/adapter/ChatContentAdapter.java
View file @
d5efaeac
...
...
@@ -368,11 +368,17 @@ public class ChatContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
VoicePlayer
.
instance
().
playVoice
(
holder
.
chatVoiceAnimView
);
ChatMessageServiceImp
.
getInstance
(
mContext
).
setVoicePlay
(
bean
.
getPackId
());
listener
.
voicePlay
(
bean
);
holder
.
imgState
.
setVisibility
(
View
.
GONE
);
}
);
if
(!
TextUtils
.
isEmpty
(
bean
.
getContent
()))
{
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
)
{
...
...
plugin_im/src/main/java/com/rv/im/xmpp/XChatMessageListener.java
View file @
d5efaeac
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)); } } }
\ No newline at end of file
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
...
...
plugin_member/src/main/java/com/rv.member/MemberCenterActivity.java
View file @
d5efaeac
...
...
@@ -86,11 +86,18 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
api
=
WXAPIFactory
.
createWXAPI
(
this
,
RvFrameConfig
.
APP_ID
);
titleView
.
setTitle
(
"会员中心"
);
UserInfoBean
userInfoBean
=
(
UserInfoBean
)
RvCache
.
getInstance
().
get
(
CacheEnum
.
USER
);
if
(
userInfoBean
!=
null
&&
userInfoBean
.
getData
()
!=
null
)
{
memberLevel
=
userInfoBean
.
getData
().
getMemberLevel
();
freeUseDay
=
userInfoBean
.
getData
().
getRentFreeDays
();
}
MemberListBean
listBean
=
(
MemberListBean
)
RvCache
.
getInstance
().
get
(
CacheEnum
.
MEMBER
);
if
(
listBean
!=
null
&&
listBean
.
getData
()
!=
null
)
{
memberTopView
.
setData
(
listBean
,
memberLevel
,
freeUseDay
,
payListener
);
addMemberList
(
listBean
);
}
memberTopView
.
setLoginListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
...
...
plugin_member/src/main/java/com/rv.member/view/MemberTopView.java
View file @
d5efaeac
...
...
@@ -233,7 +233,8 @@ public class MemberTopView extends LinearLayout {
unlogin_view
.
setVisibility
(
View
.
GONE
);
logined_view
.
setData
(
infoBean
);
logined_view
.
setVisibility
(
View
.
VISIBLE
);
freeUseDay
=
infoBean
.
getData
().
getRentFreeDays
()
;
tvFreedayTop
.
setText
(
"免费用车"
+
freeUseDay
+
"天"
);
if
(
info
.
getIsMember
()
==
0
)
{
memberLevel
=
0
;
setMemeberTop
();
...
...
plugin_share/src/main/java/com/rv/share/ShareActivity.java
View file @
d5efaeac
...
...
@@ -73,14 +73,14 @@ public class ShareActivity extends BaseStatusActivity<SharePresenter> {
private
void
setView
(
PersonShareBean
.
PersonShareInfo
data
)
{
Resources
resource
=
getBaseContext
().
getResources
();
ColorStateList
csl
=
resource
.
getColorStateList
(
R
.
color
.
share_number_color
);
Resources
resource
=
getBaseContext
().
getResources
();
ColorStateList
csl
=
resource
.
getColorStateList
(
R
.
color
.
share_number_color
);
SpannableStringBuilder
spanBuilder
=
new
SpannableStringBuilder
(
data
.
getTotalIncome
()
+
"元"
);
spanBuilder
.
setSpan
(
new
TextAppearanceSpan
(
null
,
Typeface
.
NORMAL
,
DisplayUtil
.
sp2px
(
this
,
24
),
csl
,
null
),
0
,
data
.
getTotalIncome
().
toString
().
length
(),
Spanned
.
SPAN_EXCLUSIVE_INCLUSIVE
);
tvAmount
.
setText
(
spanBuilder
);
int
total
=
data
.
getInviteNumber
()
+
data
.
getActivatedNumber
()
;
int
total
=
data
.
getInviteNumber
()
+
data
.
getActivatedNumber
();
SpannableStringBuilder
spanBuilder1
=
new
SpannableStringBuilder
(
total
+
"人"
);
spanBuilder1
.
setSpan
(
new
TextAppearanceSpan
(
null
,
Typeface
.
NORMAL
,
DisplayUtil
.
sp2px
(
this
,
24
),
csl
,
null
),
0
,
String
.
valueOf
(
total
).
length
(),
Spanned
.
SPAN_EXCLUSIVE_INCLUSIVE
);
tvPersonInval
.
setText
(
spanBuilder1
);
...
...
@@ -151,7 +151,8 @@ public class ShareActivity extends BaseStatusActivity<SharePresenter> {
}
else
if
(
id
==
R
.
id
.
ll_comein
)
{
startActivity
(
PopularizeActivity
.
getIntent
(
getApplicationContext
()));
}
else
if
(
id
==
R
.
id
.
tv_ruler
)
{
startActivity
(
new
Intent
(
getApplicationContext
(),
ShareRulerActivity
.
class
));
String
url
=
RvFrameConfig
.
HOST_H5_DETAIL
+
"/h5/appHtml/view/promotionAward.html"
;
startActivity
(
WebViewActivity
.
getIntent
(
this
,
url
,
"推广有奖规则"
));
}
}
...
...
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