package com.adealink.weparty.commonui.widget.floatview.data

enum class FloatWindowType(val type: String) {
    NETWORK_DISCONNECT_TIP("network_disconnect_tip"),
    MEMORY_USAGE("memory_usage"),
    MINIMIZE_ROOM("minimize_room"),
    CALL_1V1_CALLING("call_1v1_calling"),
}


const val DEFAULT_PRIORITY = 100

interface IFloatData {

    fun windowType(): FloatWindowType

    @WindowMode
    fun windowMode(): Int

    /**
     * 仅一个视图
     */
    fun showOnlyOne(): Boolean {
        return true
    }

    /**
     * 视图唯一标识
     *
     * showOnlyOne 返回false时需要重写windowTag()
     */
    fun windowTag(): String {
        return windowType().type
    }

    fun priority(): Int {
        return DEFAULT_PRIORITY
    }

    //System模式下，是否把息屏开屏状态考虑进来
    //fun checkScreenStatusForSystemMode(): Boolean = true
}