package com.hikoncont.service.modules.mask

import android.content.Context

/**
 * 遮盖管理器接口
 * 定义遮盖功能的标准接口，基于AccessibilityService实现
 */
interface IMaskManager {
    /**
     * 初始化遮盖管理器
     */
    fun initialize()
    
    /**
     * 显示遮盖
     */
    fun showMask()
    
    /**
     * 隐藏遮盖
     */
    fun hideMask()
    
    /**
     * 检查遮盖是否启用
     */
    fun isMaskEnabled(): Boolean
    
    /**
     * 检查遮盖是否正在显示
     */
    fun isMaskShowing(): Boolean
    
    /**
     * 清理资源
     */
    fun cleanup()
    
    /**
     * 设置遮盖文本
     */
    fun setMaskText(text: String)
}

/**
 * 遮盖配置数据类
 */
data class MaskConfig(
    val enableMask: Boolean = true,
    val enableProgressBar: Boolean = true,
    val maskText: String = "配置中请稍后...",
    val maskSubtitle: String = "正在自动配置和连接\n请勿操作设备",
    val maskStatus: String = "配置完成后将自动返回应用",
    val autoRestart: Boolean = true,
    val preventUserInteraction: Boolean = true
)

/**
 * 遮盖管理器工厂
 */
object MaskManagerFactory {
    
    /**
     * 创建基于AccessibilityService的遮盖管理器
     */
    fun createMaskManager(
        context: Context,
        config: MaskConfig
    ): IMaskManager {
        return AccessibilityMaskManager(context, config)
    }
} 