Coverage Summary for Class: MigrationManager (com.vsevolodganin.clicktrack.migration)

Class Class, % Method, % Branch, % Line, % Instruction, %
MigrationManager 0% (0/1) 0% (0/3) 0% (0/2) 0% (0/9) 0% (0/36)


 package com.vsevolodganin.clicktrack.migration
 
 import com.vsevolodganin.clicktrack.common.BuildConfig
 import com.vsevolodganin.clicktrack.di.component.MainControllerScope
 import com.vsevolodganin.clicktrack.storage.UserPreferencesRepository
 import me.tatarka.inject.annotations.Inject
 
 @MainControllerScope
 @Inject
 class MigrationManager(
     private val userPreferencesRepository: UserPreferencesRepository,
     private val canMigrate: Set<CanMigrate>,
     private val buildConfig: BuildConfig,
 ) {
     fun tryMigrate() {
         userPreferencesRepository.appVersionCode.edit { fromVersion ->
             val toVersion = buildConfig.versionCode
 
             if (fromVersion == toVersion) return@edit toVersion
 
             canMigrate.forEach { it.migrate(fromVersion, toVersion) }
 
             toVersion
         }
     }
 }