package com.example.godeye.utils

object Constants {
    // WebSocket события
    object SocketEvents {
        const val REGISTER_ANDROID = "register:android"
        const val REGISTER_SUCCESS = "register:success"
        const val REGISTER_ERROR = "register:error"
        const val CAMERA_REQUEST = "camera:request"
        const val CAMERA_RESPONSE = "camera:response"
        const val CAMERA_DISCONNECT = "camera:disconnect"
        const val CAMERA_SWITCH = "camera:switch"
        const val WEBRTC_OFFER = "webrtc:offer"
        const val WEBRTC_ANSWER = "webrtc:answer"
        const val WEBRTC_ICE_CANDIDATE = "webrtc:ice-candidate"
    }

    // Типы камер
    object CameraTypes {
        const val BACK = "back"
        const val FRONT = "front"
        const val WIDE = "wide"
        const val TELEPHOTO = "telephoto"
    }

    // SharedPreferences ключи
    object PreferenceKeys {
        const val SERVER_URL = "server_url"
        const val DEVICE_ID = "device_id"
        const val AUTO_ACCEPT_REQUESTS = "auto_accept_requests"
        const val CAMERA_QUALITY = "camera_quality"
        const val NOTIFICATION_ENABLED = "notification_enabled"
    }

    // Настройки по умолчанию
    const val DEFAULT_SERVER_URL = "http://10.0.2.2:3001"  // Специальный IP для Android эмулятора
    const val SOCKET_CONNECTION_TIMEOUT = 10000L
    const val WEBRTC_CONNECTION_TIMEOUT = 15000L

    // Уведомления
    const val NOTIFICATION_CHANNEL_ID = "godeye_service_channel"
    const val FOREGROUND_SERVICE_ID = 1001

    // WebRTC настройки
    val STUN_SERVERS = listOf(
        "stun:stun.l.google.com:19302",
        "stun:stun1.l.google.com:19302"
    )
}
