Magrate schedule domain to flow

This commit is contained in:
2026-02-16 11:58:24 +03:00
parent a885ba7b1f
commit 9ca225db94
14 changed files with 139 additions and 57 deletions

View File

@@ -6,10 +6,13 @@ import androidx.activity.ComponentActivity
import androidx.lifecycle.lifecycleScope
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import ru.fincode.tsudesk.core.common.model.DataResult
import ru.fincode.tsudesk.feature.schedule.domain.model.ScheduleType
import ru.fincode.tsudesk.feature.schedule.domain.usecase.GetScheduleUseCase
import javax.inject.Inject
private const val LOG_TAG = "NETWORK_DEBUG"
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
@Inject
@@ -19,13 +22,22 @@ class MainActivity : ComponentActivity() {
super.onCreate(savedInstanceState)
lifecycleScope.launch {
try {
val result = getScheduleUseCase(
ScheduleType.Group("220631")
)
Log.d("TSUDesk", result.toString())
} catch (e: Exception) {
Log.e("TSUDesk", "Error loading schedule", e)
getScheduleUseCase(
ScheduleType.Group("220631") // пример группы
).collect { result ->
when (result) {
is DataResult.Cache -> {
Log.d(LOG_TAG, "CACHE: ${result.data}")
}
is DataResult.Network -> {
Log.d(LOG_TAG, "NETWORK: ${result.data}")
}
is DataResult.Error -> {
Log.e(LOG_TAG, "ERROR: ${result.throwable}")
}
}
}
}
}

View File

@@ -5,7 +5,7 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import ru.fincode.tsudesk.BuildConfig
import ru.fincode.tsudesk.core.common.config.AppConfig
import ru.fincode.tsudesk.core.common.app.AppConfig
import javax.inject.Singleton
@Module