package com.rosetta.messenger

import android.app.Application
import com.airbnb.lottie.L
import com.rosetta.messenger.data.DraftManager
import com.rosetta.messenger.network.TransportManager
import com.rosetta.messenger.update.UpdateManager
import com.rosetta.messenger.utils.CrashReportManager

/**
 * Application класс для инициализации глобальных компонентов приложения
 */
class RosettaApplication : Application() {
    
    companion object {
        private const val TAG = "RosettaApplication"
    }
    
    override fun onCreate() {
        super.onCreate()
        
        // Убираем красную букву "L" от Lottie
        L.setTraceEnabled(false)
        
        // Инициализируем crash reporter
        initCrashReporting()
        
        // Инициализируем менеджер черновиков
        DraftManager.init(this)
        
        // Инициализируем менеджер транспорта файлов (streaming download)
        TransportManager.init(this)
        
        // Инициализируем менеджер обновлений (SDU)
        UpdateManager.init(this)
        
    }
    
    /**
     * Инициализация системы сбора crash reports
     */
    private fun initCrashReporting() {
        try {
            CrashReportManager.init(this)
        } catch (e: Exception) {
        }
    }
}
