关系系统顶部弹窗 关系绑定解绑自动刷新

This commit is contained in:
yitao_hello
2022-02-24 03:01:03 +08:00
parent e4d3abed93
commit 6a2524d109
20 changed files with 210 additions and 33 deletions

View File

@@ -4,9 +4,11 @@ import android.app.Activity;
import com.tencent.bugly.beta.Beta;
import com.trello.rxlifecycle3.components.support.RxAppCompatActivity;
import com.yizhuan.erban.relation.cp.dialog.CpGlobalDialog;
import com.yizhuan.erban.ui.widget.lottery_dialog.LotteryDialogManager;
import com.yizhuan.erban.vip.VipUpgradeDialog;
import com.yizhuan.xchat_android_core.activity.bean.LotteryInfo;
import com.yizhuan.xchat_android_core.relation.cp.CpInviteInfo;
import com.yizhuan.xchat_android_core.upgrade.event.ImPushUpdateAppEvent;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.utils.ActivityUtil;
@@ -73,6 +75,13 @@ public class GlobalHandleManager {
VipUpgradeDialog.newInstance(vipUpgradeEvent.getVipInfo()).show(activity);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onCpInviteEvent(CpInviteInfo entity) {
Activity activity = getActivity();
if (activity == null) return;
CpGlobalDialog.newInstance(entity, activity).openDialog();
}
private static final class Helper {
private static final GlobalHandleManager INSTANCE = new GlobalHandleManager();
}

View File

@@ -41,7 +41,7 @@ object CpViewHelper {
fun setInviteTimeRemain(time: String, tv: TextView) {
val s = "请在${time}内决定,过期自动失效!"
tv.text = getColorSpan(s, Color.RED, 2, time.length + 2)
tv.text = getColorSpan(s, Color.parseColor("#FB466A"), 2, time.length + 2)
}
fun getColorSpan(text: String, @ColorInt color: Int, start: Int, end: Int) =

View File

@@ -9,12 +9,12 @@ import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseBindingActivity
import com.yizhuan.erban.base.TitleBar
import com.yizhuan.erban.databinding.ActivityCpHomeBinding
import com.yizhuan.erban.relation.cp.event.CpBindUnbindEvent
import com.yizhuan.erban.relation.cp.viewmodel.CpViewModel
import com.yizhuan.erban.relation.cp.widget.RelationCpCardView.Companion.PAGE_TYPE_SELF_CP
import com.yizhuan.erban.ui.relation.FansListActivity
import com.yizhuan.erban.ui.user.UserInfoActivity
import com.yizhuan.xchat_android_core.auth.AuthModel
import com.yizhuan.xchat_android_core.relation.cp.CpBindUnbindEvent
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
@@ -23,6 +23,7 @@ import org.greenrobot.eventbus.ThreadMode
@ActLayoutRes(R.layout.activity_cp_home)
class CpHomeActivity : BaseBindingActivity<ActivityCpHomeBinding>() {
private val mUserId = AuthModel.get().currentUid
private var hasAddedTitle = false
private val vm: CpViewModel by viewModels()
override fun init() {
initTitleBar("亲密关系")
@@ -76,6 +77,8 @@ class CpHomeActivity : BaseBindingActivity<ActivityCpHomeBinding>() {
}
private fun initRightTitle() {
if (hasAddedTitle) return
hasAddedTitle = true
mTitleBar.addAction(object : TitleBar.TextAction(
"关系任务", Color.parseColor("#4C5AF1")
) {

View File

@@ -12,10 +12,15 @@ import com.yizhuan.erban.databinding.ActivityCpInviteRecordBinding
import com.yizhuan.erban.relation.cp.CpViewHelper
import com.yizhuan.erban.relation.cp.adapter.InviteRecordAdapter
import com.yizhuan.erban.relation.cp.dialog.CpInviteReplyConfirmDialog
import com.yizhuan.erban.relation.cp.dialog.CpInviteReplyDialog
import com.yizhuan.erban.relation.cp.viewmodel.CpViewModel
import com.yizhuan.erban.ui.widget.dialog.CommonTipDialog
import com.yizhuan.xchat_android_core.relation.cp.CpBindUnbindEvent
import com.yizhuan.xchat_android_core.relation.cp.UserCpListEntity
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@ActLayoutRes(R.layout.activity_cp_invite_record)
class CpInviteRecordActivity : BaseBindingActivity<ActivityCpInviteRecordBinding>() {
@@ -25,9 +30,13 @@ class CpInviteRecordActivity : BaseBindingActivity<ActivityCpInviteRecordBinding
private val confirmDialog: CpInviteReplyConfirmDialog by lazy {
CpInviteReplyConfirmDialog(this)
}
private val replyDialog: CpInviteReplyDialog by lazy {
CpInviteReplyDialog(this)
}
override fun init() {
initTitleBar("关系申请")
EventBus.getDefault().register(this)
adapter = InviteRecordAdapter(this)
adapter.onVisitClickListener = object : InviteRecordAdapter.OnVisitClickListener {
@@ -69,9 +78,26 @@ class CpInviteRecordActivity : BaseBindingActivity<ActivityCpInviteRecordBinding
}
private fun onItemClick(item: UserCpListEntity) {
replyDialog.cpInviteData = item
if (replyDialog.listener == null) {
replyDialog.listener = object : CpInviteReplyDialog.ReplyListener {
override fun onAgree() {
showConfirmDialog(item, true)
}
override fun onRefuse() {
showConfirmDialog(item, false)
}
}
}
if (replyDialog.isShowing) replyDialog.closeDialog()
replyDialog.openDialog()
}
private fun showConfirmDialog(item: UserCpListEntity, isAgree: Boolean) {
confirmDialog.setDialogTitle(
CpViewHelper.getColorSpan(
"是否同意${item.inviteUserNick}成为CP",
"是否${if (isAgree) "同意" else "拒绝"}${item.inviteUserNick}成为CP",
Color.parseColor("#4C5AF1"),
5, item.inviteUserNick.length
)
@@ -79,15 +105,21 @@ class CpInviteRecordActivity : BaseBindingActivity<ActivityCpInviteRecordBinding
if (confirmDialog.okCancelListener == null) {
confirmDialog.okCancelListener = object : CommonTipDialog.OnActionListener {
override fun onOk() {
vm.replyInvite(item.id, 2)
}
override fun onCancel() {
vm.replyInvite(item.id, 3)
vm.replyInvite(item.id, if (isAgree) 2 else 3)
}
}
}
if (confirmDialog.isShowing) confirmDialog.closeDialog()
confirmDialog.openDialog()
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun onBindUnbindEvent(event: CpBindUnbindEvent) {
queryRecord(type)
}
override fun onDestroy() {
super.onDestroy()
EventBus.getDefault().unregister(this)
}
}

View File

@@ -6,7 +6,10 @@ import android.view.View
import com.netease.nim.uikit.common.util.sys.ScreenUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.databinding.DialogCpGlobalBinding
import com.yizhuan.erban.relation.cp.activity.CpInviteRecordActivity
import com.yizhuan.erban.treasure_box.widget.dialog.BaseBindingDialog
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2
import com.yizhuan.xchat_android_core.relation.cp.CpInviteInfo
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
import io.reactivex.*
import io.reactivex.android.schedulers.AndroidSchedulers
@@ -19,6 +22,7 @@ import java.util.concurrent.TimeUnit
class CpGlobalDialog(context: Context) :
View.OnClickListener,
BaseBindingDialog<DialogCpGlobalBinding>(context) {
private var entity: CpInviteInfo? = null
private val disposeSet: CompositeDisposable by lazy {
CompositeDisposable()
}
@@ -32,6 +36,11 @@ class CpGlobalDialog(context: Context) :
binding.ivClose.setOnClickListener(this)
binding.tvVisit.setOnClickListener(this)
setCancelable(false)
entity?.let {
ImageLoadUtilsV2.loadAvatar(binding.ivAvatar,entity?.inviteAvatar)
binding.tvNick.text=it.inviteNick
}
}
override fun onClick(v: View) {
@@ -40,7 +49,7 @@ class CpGlobalDialog(context: Context) :
closeDialog()
}
R.id.tv_visit -> {
CpInviteRecordActivity.start(context)
}
}
}
@@ -76,4 +85,12 @@ class CpGlobalDialog(context: Context) :
disposeSet.dispose()
}
}
companion object {
@JvmStatic
fun newInstance(entity: CpInviteInfo, context: Context): CpGlobalDialog =
CpGlobalDialog(context).apply {
this.entity = entity
}
}
}

View File

@@ -1,4 +0,0 @@
package com.yizhuan.erban.relation.cp.event;
public class BalanceEvent {
}

View File

@@ -1,5 +0,0 @@
package com.yizhuan.erban.relation.cp.event;
public class CpBindUnbindEvent {
}

View File

@@ -3,8 +3,6 @@ package com.yizhuan.erban.relation.cp.viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.yizhuan.erban.base.BaseViewModel
import com.yizhuan.erban.relation.cp.event.BalanceEvent
import com.yizhuan.erban.relation.cp.event.CpBindUnbindEvent
import com.yizhuan.erban.relation.cp.model.CpModel
import com.yizhuan.xchat_android_core.relation.cp.*
import com.yizhuan.xchat_android_core.utils.net.BalanceNotEnoughExeption
@@ -154,6 +152,9 @@ class CpViewModel : BaseViewModel() {
_loadingLiveData.value = true
safeLaunch(
onError = dealCpDataError,
onComplete={
EventBus.getDefault().post(CpBindUnbindEvent())
},
block = {
CpModel.replyCpInvite(id, state)
_loadingLiveData.value = false

View File

@@ -3,9 +3,11 @@ package com.yizhuan.erban.relation.cp.widget
import android.content.Context
import android.graphics.Color
import android.util.AttributeSet
import android.view.Gravity
import android.view.LayoutInflater
import android.widget.FrameLayout
import androidx.databinding.DataBindingUtil
import com.netease.nim.uikit.common.util.sys.ScreenUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.databinding.LayoutCpCardBinding
import com.yizhuan.erban.relation.extention.visibility
@@ -22,7 +24,7 @@ class RelationCpCardView(context: Context, attr: AttributeSet?, def: Int) :
init {
val inflater = LayoutInflater.from(context)
binding = DataBindingUtil.inflate(inflater, R.layout.layout_cp_card, this, true)
binding = DataBindingUtil.inflate(inflater, R.layout.layout_cp_card, this, false)
}
private fun setPageData(
@@ -40,6 +42,7 @@ class RelationCpCardView(context: Context, attr: AttributeSet?, def: Int) :
binding.cpEntity = cpRelation
setBackground(type, cpRelation)
inviteData?.let { binding.inviteData = it }
var height = 0
when (type) {
PAGE_TYPE_SELF_CP -> {
if (cpRelation == null) throw Exception("type:PAGE_TYPE_SELF_CP,cpRelation: CpRelation cant be null")
@@ -47,17 +50,20 @@ class RelationCpCardView(context: Context, attr: AttributeSet?, def: Int) :
cpLevelVisibility = cpRelation.waitUnbound
binding.tvCpTime.setTextColor(context.resources.getColor(R.color.white))
unbindRecoverVisibility = cpRelation.waitUnbound
unbindVisibility = (cpRelation.unboundUid == selfUId) && !cpRelation.waitUnbound
unbindVisibility =
(cpRelation.uid == selfUId) && cpRelation.cpUid != 0L && !cpRelation.waitUnbound
if (unbindRecoverVisibility && cpRelation.uid != selfUId) {
binding.tvRecoveryUnbind.text = "关系解绑中"
binding.tvRecoveryUnbind.isEnabled = false
}
height = ScreenUtil.dip2px(180f)
}
PAGE_TYPE_SELF_INFO -> {
if (cpRelation == null) throw Exception("type:PAGE_TYPE_SELF_INFO,cpRelation: CpRelation cant be null")
userInfoVisibility = true
cpLevelVisibility = cpRelation.cpUid != 0.toLong()
binding.tvCpTime.setTextColor(Color.parseColor("#917FFF"))
height = LayoutParams.WRAP_CONTENT
}
PAGE_TYPE_CUS_INFO -> {
if (cpRelation == null) throw Exception("type:PAGE_TYPE_CUS_INFO,cpRelation: CpRelation cant be null")
@@ -66,9 +72,11 @@ class RelationCpCardView(context: Context, attr: AttributeSet?, def: Int) :
binding.tvCpTime.setTextColor(Color.parseColor("#917FFF"))
groupEmptyVisibility = cpRelation.cpUid == 0.toLong()
declarationVisibility = cpRelation.cpUid != 0.toLong()
height = LayoutParams.WRAP_CONTENT
}
PAGE_TYPE_INVITE_DIALOG -> {
userInfoVisibility = true
height = ScreenUtil.dip2px(80f)
}
}
val centerHeartVisibility = userInfoVisibility
@@ -88,6 +96,10 @@ class RelationCpCardView(context: Context, attr: AttributeSet?, def: Int) :
binding.ivInvite.visibility = groupEmptyVisibility.visibility()
binding.tvDeclaration.visibility = declarationVisibility.visibility()
binding.ivUnbind.visibility = unbindVisibility.visibility()
val params = LayoutParams(LayoutParams.MATCH_PARENT, height)
params.gravity = Gravity.CENTER
addView(binding.root, params)
binding.cpEntity = cpRelation
}

View File

@@ -285,6 +285,9 @@ public class RouterHandler {
break;
case RouterType.CP_INVITE:
CpInviteRecordActivity.Companion.start(context);
break;
case RouterType.CP_HEAD_WARE:
break;
case RouterType.CP_TASK:
CpTaskActivity.Companion.start(context);

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定义轨道的背景 -->
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<solid android:color="@color/white_transparent_30"/>
<corners android:radius="@dimen/dp_6" />
<stroke android:width="1px" android:color="@color/white"/>
</shape>
</item>
<!-- 定义轨道上已完成部分的样式 -->
<item android:id="@android:id/progress">
<clip>
<shape android:shape="rectangle">
<solid android:color="@color/white"/>
<corners android:radius="@dimen/dp_6" />
</shape>
</clip>
</item>
</layer-list>

View File

@@ -16,8 +16,8 @@
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginBottom="@dimen/dp_16"
android:fillViewport="true"
android:paddingLeft="@dimen/dp_15"
android:paddingTop="@dimen/dp_8"
@@ -31,11 +31,12 @@
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_task_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/layout_task_progress"
android:background="@drawable/bg_white_cornor_8"
app:layout_constraintTop_toTopOf="parent">
<com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
@@ -50,6 +51,7 @@
app:layout_constraintTop_toBottomOf="@id/indicator" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_cp_level_label"
android:layout_width="match_parent"
@@ -72,5 +74,70 @@
app:layout_constraintTop_toBottomOf="@id/tv_cp_level_label" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="76dp"
app:layout_constraintBottom_toBottomOf="parent"
android:background="@drawable/bg_cp_task_label_selected"
>
<androidx.constraintlayout.widget.Guideline
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
android:layoutDirection="ltr"
app:layout_constraintGuide_begin="95dp"
android:id="@+id/guide_line"
/>
<com.yizhuan.erban.common.widget.CircleImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/iv_accept"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="@id/guide_line"
/>
<com.yizhuan.erban.common.widget.CircleImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/iv_invite"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="@id/iv_accept"
android:layout_marginRight="@dimen/dp_33"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_level"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
app:layout_constraintLeft_toRightOf="@id/guide_line"
android:layout_marginLeft="@dimen/dp_4"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/progress_bar"
app:layout_constraintHorizontal_chainStyle="packed"
/>
<ProgressBar
android:layout_width="0dp"
style="?android:attr/progressBarStyleHorizontal"
android:layout_height="12dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginLeft="@dimen/dp_4"
app:layout_constraintTop_toBottomOf="@id/tv_level"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginTop="@dimen/dp_8"
android:progress="20"
android:progressDrawable="@drawable/bg_cp_task_progress_bar"
app:layout_constraintLeft_toRightOf="@id/guide_line"
android:layout_marginRight="@dimen/dp_8"
android:max="100"
android:id="@+id/progress_bar"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -11,20 +11,22 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="291dp"
android:layout_height="450dp">
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_close"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginEnd="@dimen/dp_35"
android:src="@drawable/ic_invite_dialog_close"
android:onClick="@{click}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/dp_20"
android:layout_marginTop="1dp"
android:background="@drawable/bg_dialog_cp_invite_replay"
app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -12,6 +12,8 @@
android:layout_height="300dp"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_18"
android:paddingLeft="@dimen/dp_6"
android:paddingRight="@dimen/dp_6"
android:layout_marginRight="@dimen/dp_15"
app:layout_constraintTop_toTopOf="parent">

View File

@@ -24,7 +24,7 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@{inviteData==null?@dimen/cp_card_normal:@dimen/cp_card_dialog,default=@dimen/cp_card_normal}"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/dp_4"
android:paddingTop="@dimen/dp_5"
android:paddingRight="@dimen/dp_4"
@@ -42,7 +42,6 @@
app:civ_border_color="@color/white"
app:civ_border_width="1dp"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@id/tv_mine_name"
app:layout_constraintLeft_toLeftOf="@id/tv_mine_name"
app:layout_constraintRight_toRightOf="@id/tv_mine_name"

View File

@@ -1,6 +1,8 @@
package com.yizhuan.xchat_android_core.im.custom.bean;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.yizhuan.xchat_android_core.relation.cp.CpInviteInfo;
public class CpInviteAttachment extends CustomAttachment {
@@ -9,6 +11,7 @@ public class CpInviteAttachment extends CustomAttachment {
public String routerValue;
public String title;
public int mSecond;
private CpInviteInfo entity;
public CpInviteAttachment(int second) {
super(CustomAttachment.CP_INVITE_MESSAGE, second);
@@ -16,7 +19,6 @@ public class CpInviteAttachment extends CustomAttachment {
@Override
protected void parseData(JSONObject data) {
super.parseData(data);
super.parseData(data);
if (data != null) {
if (data.containsKey("msg")) {
@@ -25,8 +27,8 @@ public class CpInviteAttachment extends CustomAttachment {
if (data.containsKey("routerType")) {
routerType = data.getInteger("routerType");
}
if (data.containsKey("propInfo")) {
routerValue = data.getString("propInfo");
if (data.containsKey("popInfo")) {
entity = new Gson().fromJson(routerValue, CpInviteInfo.class);
}
if (data.containsKey("title")) {
title = data.getString("title");
@@ -34,6 +36,9 @@ public class CpInviteAttachment extends CustomAttachment {
}
}
public CpInviteInfo getEntity() {
return entity;
}
@Override
protected JSONObject packData() {

View File

@@ -24,6 +24,7 @@ import com.yizhuan.xchat_android_core.miniworld.bean.MWChatTopicAttachment;
import com.yizhuan.xchat_android_core.miniworld.bean.OpenAudioPartyAttachment;
import com.yizhuan.xchat_android_core.public_chat_hall.attachment.AitFriendsAttachment;
import com.yizhuan.xchat_android_core.public_chat_hall.attachment.AitMeAttachment;
import com.yizhuan.xchat_android_core.relation.cp.CpInviteInfo;
import com.yizhuan.xchat_android_core.room.bean.LeaveModeAttachment;
import com.yizhuan.xchat_android_core.room.pk.attachment.RoomPkAttachment;
import com.yizhuan.xchat_android_core.room.queuing_mic.attachment.QueuingMicAttachment;
@@ -109,6 +110,8 @@ import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUS
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_NOTI_SUB_GAME_ATTACK;
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_NOTI_SUB_GAME_RESULT;
import org.greenrobot.eventbus.EventBus;
/**
* 云信自定义消息解析器
*

View File

@@ -2,6 +2,7 @@ package com.yizhuan.xchat_android_core.manager;
import android.util.Log;
import com.google.gson.Gson;
import com.netease.nimlib.sdk.InvocationFuture;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.Observer;
@@ -19,6 +20,7 @@ import com.netease.nimlib.sdk.msg.model.QueryDirectionEnum;
import com.netease.nimlib.sdk.msg.model.RecentContact;
import com.yizhuan.xchat_android_core.activity.event.ActivityEvent;
import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.im.custom.bean.CpInviteAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.LevelUpAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.LotteryAttachment;
@@ -31,6 +33,7 @@ import com.yizhuan.xchat_android_core.luckymoney.LuckyMoneyInfo;
import com.yizhuan.xchat_android_core.manager.event.HallInfoChangeEvent;
import com.yizhuan.xchat_android_core.newbie.NewbieHelloInfo;
import com.yizhuan.xchat_android_core.newbie.event.NewbieHelloDialogEvent;
import com.yizhuan.xchat_android_core.relation.cp.CpInviteInfo;
import com.yizhuan.xchat_android_core.web.event.WebViewRefreshEvent;
import org.greenrobot.eventbus.EventBus;
@@ -41,6 +44,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Objects;
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CP_INVITE_MESSAGE;
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_LOTTERY;
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_PACKET;
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LEVEL_UP;
@@ -165,7 +169,10 @@ public class IMMessageManager {
}
}
break;
case CP_INVITE_MESSAGE:
CpInviteInfo cpInviteInfo = ((CpInviteAttachment) attachment).getEntity();
EventBus.getDefault().post(cpInviteInfo);
break;
}
}
}

View File

@@ -0,0 +1,4 @@
package com.yizhuan.xchat_android_core.relation.cp;
public class CpBindUnbindEvent {
}

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_core.relation.cp
data class CpInviteMessageEntity(
data class CpInviteInfo(
val replyExpireTime: String,
val inviteUid: Long,
val inviteAvatar: String,