77 红包 bug修改。
This commit is contained in:
@@ -2,8 +2,12 @@ package com.xscm.moduleutil.utils;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.xscm.moduleutil.bean.RedPacketInfo;
|
||||
import com.xscm.moduleutil.bean.room.EMMessageInfo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -83,7 +87,7 @@ public class QXRedPacketManager {
|
||||
// 在添加数据后启动定时器(如果尚未启动)
|
||||
startCheckTimer();
|
||||
if (this.delegate != null && this.delegate instanceof QXRedPacketManagerDelegate) {
|
||||
((QXRedPacketManagerDelegate) this.delegate).onRedPacketAdded(redPacket, this.redPackets.size());
|
||||
this.delegate.onRedPacketAdded(redPacket, this.redPackets.size());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,11 +96,19 @@ public class QXRedPacketManager {
|
||||
*
|
||||
* @param packetId 红包ID
|
||||
*/
|
||||
public void removeRedPacket(String packetId) {
|
||||
public void removeRedPacket(int status,String packetId) {
|
||||
if (status == EMMessageInfo.QXRoomMessageTypeQXRoomMessageRedRemove) {
|
||||
if (redPackets.get(packetId) != null) {
|
||||
RedPacketInfo info = redPackets.get(packetId);
|
||||
if (info.getCountdown() != 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.redPackets.remove(packetId);
|
||||
|
||||
if (this.delegate != null && this.delegate instanceof QXRedPacketManagerDelegate) {
|
||||
((QXRedPacketManagerDelegate) this.delegate).onRedPacketRemoved(packetId, this.redPackets.size());
|
||||
this.delegate.onRedPacketRemoved(packetId, this.redPackets.size());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,6 +174,9 @@ public class QXRedPacketManager {
|
||||
}
|
||||
|
||||
if (packet.getCountdown()==0){
|
||||
if (packetTime <= -redpacketTime) {
|
||||
removeRedPacket(0,packet.getRedpacket_id());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -180,7 +195,7 @@ public class QXRedPacketManager {
|
||||
}
|
||||
|
||||
if (packetTime <= 0) {
|
||||
removeRedPacket(packet.getRedpacket_id());
|
||||
removeRedPacket(0,packet.getRedpacket_id());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1473,7 +1473,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
} else if (msgType == EMMessageInfo.QXRoomMessageTypeQXRoomMessageRed) {
|
||||
qxRedPacketManager!!.addRedPacket(roomId, messageEvent.text.redpacketInfo)
|
||||
} else if (msgType == EMMessageInfo.QXRoomMessageTypeQXRoomMessageRedRemove) {
|
||||
// qxRedPacketManager!!.removeRedPacket(messageEvent.text.redpacket_id)
|
||||
qxRedPacketManager!!.removeRedPacket(EMMessageInfo.QXRoomMessageTypeQXRoomMessageRedRemove,messageEvent.text.redpacket_id)
|
||||
} else if (msgType == EMMessageInfo.QXRoomMessageTypeSongerNum || //房间点歌数量变化
|
||||
msgType == EMMessageInfo.QXRoomMessageTypeSingerRoomNextSongDidChanged
|
||||
) //点歌房下一首歌曲发生变化
|
||||
|
||||
Reference in New Issue
Block a user