IConsultantAudioHomeActivityContract.kt 1.79 KB
Newer Older
严久程 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
package com.ydl.consultantim.contract

import com.ydl.ydl_av.chat.bean.AudioMessageBean
import com.ydl.ydlcommon.mvp.base.IModel
import com.ydl.ydlcommon.mvp.base.IPresenter
import com.ydl.ydlcommon.mvp.base.IView

/**
 * @author jiucheng
 * @描述:声网倾诉首页约束类
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2018/10/30
 */
interface IConsultantAudioHomeActivityContract {

    interface View : IView {
        fun listenStatusPushResponse()

        fun channelTokenResponse(token: String?,needJoinChannel: Boolean)

        // 执行接听操作
        // canExcute是否执行
        fun executeCall(canExcute: Boolean)

        // 关闭当前页面,并提示用户已挂断
        fun executeFinish()
    }


    interface Presenter : IPresenter<View> {
        /**
         * 通话开始(更新专家状态)
         * @param param 请求参数
         * @param isSwitchAxb 是否切换axb
         */
//        fun connectStart(param: ConnectStartCommand)

        /**
         * 通话结束(更新专家状态)
         * @param param 请求参数
         * @param isSwitchAxb 是否切换axb
         */
//        fun connectFinish(param: ConnectFinishCommand)

        /**
         * 获取频道token
         *
         */
        fun getChannelToken(mAudioMessageBean: AudioMessageBean?, needJoinChannel: Boolean = true)

        /**
         * 判断用户是否在频道中
         */
        fun userIsInChannel(channelName: String, agoraUid: String)
    }


    interface Model : IModel {
        /**
         * 通话开始回调(更新专家状态)
         */
//        fun connectStart(param: ConnectStartCommand)

        /**
         * 通话结束(更新专家状态)
         */
//        fun connectFinish(param: ConnectFinishCommand)
    }
}