package com.cooleshow.teacher.contract;

import android.view.View;

import com.cooleshow.base.presenter.view.BaseView;
import com.cooleshow.teacher.bean.LiveRoomInfoBean;

import java.util.List;

import cn.rongcloud.rtc.api.stream.RCRTCVideoView;
import io.rong.imlib.model.Message;
import io.rong.imlib.model.MessageContent;

/**
 * 创建日期：2022/5/20 15:02
 *
 * @author Ryan
 * 类说明：
 */
public interface LiveRoomContract {
    interface LiveRoomView extends BaseView {
        /**
         * 获取房间信息成功
         *
         * @param roomInfoBean
         */
        void getRoomInfoSuccess(LiveRoomInfoBean roomInfoBean);

        /**
         * 获取房间信息失败
         *
         * @param throwable
         */
        void getRoomInfoError(Throwable throwable);

        /**
         * 显示finishview
         */
        void showFinishView();

        /**
         * 添加多条公屏消息
         */
        void addMessageList(List<MessageContent> messageContents, boolean isReset);

        /**
         * 添加单条公屏消息
         */
        void addMessageContent(Message message, boolean isReset);


        /**
         * 设置房间数据
         */
        void setRoomData(LiveRoomInfoBean roomInfoBean);

        /**
         * 推流成功
         */
        void onPublishSuccess();

        View getContentView();

        void addVideoPreview(RCRTCVideoView videoView);

        void openCameraSuccess(Boolean data);

        void openCameraError(String errorMsg);
    }

    interface Presenter {
    }
}
