package com.craigvg.lichun_android import android.app.Application import com.craigvg.lichun_android.managers.AnalyticsManager import com.craigvg.lichun_android.managers.BillingManager import com.craigvg.lichun_android.managers.PushNotificationManager import com.craigvg.lichun_android.managers.SoundManager import com.craigvg.lichun_android.network.WebSocketManager import com.craigvg.lichun_android.utils.AppLifecycleObserver import com.craigvg.lichun_android.utils.NetworkMonitor import dagger.hilt.android.HiltAndroidApp import javax.inject.Inject @HiltAndroidApp class BaoLifeApp : Application() { @Inject lateinit var appLifecycleObserver: AppLifecycleObserver @Inject lateinit var networkMonitor: NetworkMonitor @Inject lateinit var billingManager: BillingManager @Inject lateinit var analyticsManager: AnalyticsManager @Inject lateinit var pushNotificationManager: PushNotificationManager @Inject lateinit var webSocketManager: WebSocketManager @Inject lateinit var soundManager: SoundManager override fun onCreate() { super.onCreate() appLifecycleObserver.initialize() networkMonitor.startMonitoring() billingManager.initialize() analyticsManager.initialize() pushNotificationManager.initialize() soundManager.initialize() } override fun onTerminate() { soundManager.release() webSocketManager.cleanup() super.onTerminate() } }