Coverage Summary for Class: MainActivity (com.vsevolodganin.clicktrack)
Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
MainActivity |
0%
(0/5)
|
0%
(0/4)
|
0%
(0/22)
|
0%
(0/151)
|
MainActivity$onCreate$2 |
0%
(0/1)
|
|
0%
(0/1)
|
0%
(0/20)
|
Total |
0%
(0/6)
|
0%
(0/4)
|
0%
(0/23)
|
0%
(0/171)
|
package com.vsevolodganin.clicktrack
import android.Manifest
import android.content.Intent
import android.media.AudioManager
import android.os.Build
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.view.WindowCompat
import com.arkivanov.decompose.defaultComponentContext
import com.vsevolodganin.clicktrack.di.component.MainActivityComponent
import com.vsevolodganin.clicktrack.di.component.create
import com.vsevolodganin.clicktrack.ui.RootView
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
private lateinit var component: MainActivityComponent
@OptIn(DelicateCoroutinesApi::class)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
WindowCompat.setDecorFitsSystemWindows(window, false)
installSplashScreen()
component = MainActivityComponent::class.create(
applicationComponent = applicationComponent,
activity = this,
componentContext = defaultComponentContext(),
)
// FIXME: Initializing eagerly for proper registration of Activity Result API
component.soundChooser
component.permissionsHelper
component.migrationManager.tryMigrate()
setContent {
RootView(component.rootViewModel)
}
if (savedInstanceState == null) {
component.intentProcessor.process(intent)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
GlobalScope.launch {
component.permissionsHelper.requestPermission(Manifest.permission.POST_NOTIFICATIONS)
}
}
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
component.intentProcessor.process(intent)
}
override fun onResume() {
super.onResume()
volumeControlStream = AudioManager.STREAM_MUSIC
component.inAppReview.tryLaunchRequestReview()
}
}