任务1
This commit is contained in:
@@ -2,6 +2,8 @@ package com.xscm.modulemain
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import com.blankj.utilcode.util.ActivityUtils
|
||||
import com.blankj.utilcode.util.AppUtils
|
||||
import com.blankj.utilcode.util.CrashUtils
|
||||
import com.blankj.utilcode.util.LogUtils
|
||||
@@ -12,12 +14,20 @@ import com.scwang.smartrefresh.layout.footer.ClassicsFooter
|
||||
import com.scwang.smartrefresh.layout.header.ClassicsHeader
|
||||
import com.xscm.modulemain.activity.main.activity.MainActivity
|
||||
import com.xscm.modulemain.dialog.InviteDialog
|
||||
import com.xscm.modulemain.manager.RoomManager
|
||||
import com.xscm.modulemain.utils.TimerManager
|
||||
import com.xscm.modulemain.widget.WheatLayoutSingManager
|
||||
import com.xscm.moduleutil.base.CommonAppContext
|
||||
import com.xscm.moduleutil.bean.IndexRecommendRoom
|
||||
import com.xscm.moduleutil.bean.RoomMessageEvent
|
||||
import com.xscm.moduleutil.dialog.ConfirmDialog
|
||||
import com.xscm.moduleutil.http.BaseObserver
|
||||
import com.xscm.moduleutil.http.RetrofitClient
|
||||
import com.xscm.moduleutil.listener.MessageListenerSingleton
|
||||
import com.xscm.moduleutil.utils.CustomMsgCode
|
||||
import io.reactivex.disposables.Disposable
|
||||
import org.json.JSONObject
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
|
||||
open class Application : CommonAppContext() {
|
||||
@@ -66,7 +76,105 @@ open class Application : CommonAppContext() {
|
||||
initCrashUtils()
|
||||
initSmartRefreshLayout()
|
||||
|
||||
initImMsg()
|
||||
}
|
||||
|
||||
private fun initImMsg() {
|
||||
MessageListenerSingleton.getInstance().setOnMsgTaskListener { event ->
|
||||
when (event.msgType) {
|
||||
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM -> {
|
||||
TimerManager.cancelTimer(CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_TIMER_ID)
|
||||
val json = JSONObject(event.text.text)
|
||||
event.text.status = json.getString("status")
|
||||
event.text.room_id = json.getString("room_id")
|
||||
when (event.text.status) {
|
||||
"1" -> {//1:邀请
|
||||
customDialog(
|
||||
event.text.room_id,
|
||||
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_MSG,
|
||||
5,
|
||||
1,
|
||||
event.text
|
||||
)
|
||||
}
|
||||
|
||||
"2" -> {//2:拒绝
|
||||
customDialog(
|
||||
"",
|
||||
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_MSG_REFUSE,
|
||||
5,
|
||||
3,
|
||||
null,
|
||||
"知道了",
|
||||
""
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun customDialog(
|
||||
roomId: String,
|
||||
message: String,
|
||||
downCount: Int,
|
||||
status: Int = 1,
|
||||
event: RoomMessageEvent.T?,
|
||||
confirm: String = "同意",
|
||||
cancel: String = "拒绝",
|
||||
) {
|
||||
// 创建并显示确认对话框
|
||||
ConfirmDialog(
|
||||
ActivityUtils.getTopActivity(),
|
||||
"提示",
|
||||
message,
|
||||
confirm,
|
||||
cancel,
|
||||
{ v: View? ->
|
||||
when (status) {
|
||||
1 -> {
|
||||
if (roomId.equals(CommonAppContext.getInstance().playId))
|
||||
return@ConfirmDialog
|
||||
RoomManager.getInstance()
|
||||
.fetchRoomDataAndEnter(ActivityUtils.getTopActivity(), roomId, "", "")
|
||||
}
|
||||
}
|
||||
},
|
||||
{ v: View? ->
|
||||
when (status) {
|
||||
1 -> {
|
||||
val text = RoomMessageEvent.T()
|
||||
val json = JSONObject()
|
||||
json.put("status", "2")
|
||||
text.text = json.toString()
|
||||
MessageListenerSingleton.getInstance().sendCustomC2CMessage(
|
||||
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM,
|
||||
event?.fromUserInfo?.user_id.toString(),
|
||||
text
|
||||
)
|
||||
}
|
||||
}
|
||||
}, true, downCount
|
||||
).show()
|
||||
}
|
||||
|
||||
fun inviteApprenticeTaskTimer() {
|
||||
TimerManager.scheduleTimer(
|
||||
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_TIMER_ID,
|
||||
15,
|
||||
TimeUnit.SECONDS,
|
||||
onTimeUp = {
|
||||
customDialog(
|
||||
"",
|
||||
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_MSG_REFUSE,
|
||||
5,
|
||||
3,
|
||||
null,
|
||||
"知道了",
|
||||
""
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -82,7 +190,7 @@ open class Application : CommonAppContext() {
|
||||
override fun onNext(t: IndexRecommendRoom) {
|
||||
LogUtils.e(t)
|
||||
if (!t.room_id.isNullOrEmpty()) {
|
||||
showInviteDialog(activity, t)
|
||||
showInviteDialog(activity, t)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -95,7 +203,7 @@ open class Application : CommonAppContext() {
|
||||
})
|
||||
}
|
||||
|
||||
fun showInviteDialog(activity: Activity?,t: IndexRecommendRoom) {
|
||||
fun showInviteDialog(activity: Activity?, t: IndexRecommendRoom) {
|
||||
if (inviteDialog == null) {
|
||||
inviteDialog = activity?.let { InviteDialog(it, t) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user