From 85a2d7f51a32cd747e27ab68bc8699a54419b6c7 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期一, 03 三月 2025 10:02:04 +0800 Subject: [PATCH] fix :包裹列表 --- app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt | 38 ++++++++++++++++++++++++++++++-------- 1 files changed, 30 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt b/app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt index e47a4a6..dae2211 100644 --- a/app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt +++ b/app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt @@ -1,13 +1,35 @@ package com.example.firstapp.ui.dashboard -import androidx.lifecycle.LiveData -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.ViewModel +import android.app.Application +import androidx.lifecycle.AndroidViewModel +import androidx.lifecycle.asLiveData +import androidx.lifecycle.viewModelScope +import com.example.firstapp.AppDatabase +import com.example.firstapp.model.PackageInfo +import com.example.firstapp.repository.PackageRepository +import kotlinx.coroutines.launch -class DashboardViewModel : ViewModel() { - - private val _text = MutableLiveData<String>().apply { - value = "This is dashboard Fragment" +class DashboardViewModel(application: Application) : AndroidViewModel(application) { + + private val repository: PackageRepository + + init { + val packageDao = AppDatabase.getInstance(application).packageDao() + repository = PackageRepository(packageDao) } - val text: LiveData<String> = _text + + fun getPackages(date: Long, dateType: String) = + repository.getPackages(date, dateType).asLiveData() + + fun getCourierStats(date: Long) = repository.getCourierStats(date).asLiveData() + + fun getDailyStats(date: Long) = repository.getDailyStats(date).asLiveData() + + fun updatePackageStatus(packageInfo: PackageInfo) = viewModelScope.launch { + repository.update(packageInfo) + } + + fun insert(packageInfo: PackageInfo) = viewModelScope.launch { + repository.insert(packageInfo) + } } \ No newline at end of file -- Gitblit v1.9.3