Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions app/src/main/java/com/konkuk/medicarecall/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import android.app.NotificationManager
import android.os.Build
import android.util.Log
import com.google.firebase.messaging.FirebaseMessaging
import com.konkuk.medicarecall.data.di.statisticsModule
import com.konkuk.medicarecall.data.di.settingsModules
import com.konkuk.medicarecall.data.di.calendarModule
import com.konkuk.medicarecall.data.di.homeDetailModule
Expand All @@ -30,13 +31,16 @@ class App : Application(), KoinComponent {

override fun onCreate() {
super.onCreate()

startKoin {
androidLogger()
androidContext(this@App)
modules(
settingsModules,
calendarModule,
homeModule,
homeDetailModule,
statisticsModule,
)
}
createNotificationChannel()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.konkuk.medicarecall.data.di

import com.konkuk.medicarecall.data.api.elders.StatisticsService
import com.konkuk.medicarecall.data.repository.EldersHealthInfoRepository
import com.konkuk.medicarecall.data.repository.StatisticsRepository
import com.konkuk.medicarecall.data.repositoryimpl.StatisticsRepositoryImpl
import com.konkuk.medicarecall.ui.feature.statistics.viewmodel.StatisticsViewModel
import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.dsl.module
import retrofit2.Retrofit

val statisticsModule = module {
// API Service
single { get<Retrofit>().create(StatisticsService::class.java) }

// Repository
single<StatisticsRepository> { StatisticsRepositoryImpl(get<StatisticsService>(), get()) }

// ViewModel
viewModel { StatisticsViewModel(get(), get()) }
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@ import com.konkuk.medicarecall.data.repository.EldersHealthInfoRepository
import com.konkuk.medicarecall.data.repository.StatisticsRepository
import retrofit2.HttpException
import java.time.LocalDate
import javax.inject.Inject

class StatisticsRepositoryImpl @Inject constructor(
class StatisticsRepositoryImpl(
private val statisticsService: StatisticsService,
private val eldersHealthInfoRepository: EldersHealthInfoRepository,
) : StatisticsRepository {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.compose.LocalLifecycleOwner
Expand All @@ -50,15 +49,16 @@ import com.konkuk.medicarecall.ui.feature.statistics.weeklycard.WeeklySleepCard
import com.konkuk.medicarecall.ui.feature.statistics.weeklycard.WeeklySummaryCard
import com.konkuk.medicarecall.ui.theme.MediCareCallTheme
import kotlinx.coroutines.flow.MutableStateFlow
import org.koin.androidx.compose.koinViewModel
import java.time.LocalDate

@Composable
fun StatisticsScreen(
modifier: Modifier = Modifier,
navController: NavHostController,
navigateToAlarm: () -> Unit = {},
homeViewModel: HomeViewModel,
statisticsViewModel: StatisticsViewModel = hiltViewModel(),
homeViewModel: HomeViewModel = koinViewModel(),
statisticsViewModel: StatisticsViewModel = koinViewModel(),
) {
LaunchedEffect(key1 = true) {
homeViewModel.fetchElderList() // 어르신 목록 호출
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.konkuk.medicarecall.data.repository.EldersHealthInfoRepository
import com.konkuk.medicarecall.data.repository.StatisticsRepository
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
Expand All @@ -17,16 +16,14 @@ import java.time.DayOfWeek
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.time.temporal.TemporalAdjusters
import javax.inject.Inject

data class StatisticsUiState(
val isLoading: Boolean = false,
val summary: WeeklySummaryUiState? = null,
val error: String? = null,
)

@HiltViewModel
class StatisticsViewModel @Inject constructor(
class StatisticsViewModel(
private val repository: StatisticsRepository,
private val eldersHealthInfoRepository: EldersHealthInfoRepository,
) : ViewModel() {
Expand Down
Loading