diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 378b848690ed25f847f6351571012d8c79d60a7c..0c0c3383890637b4721df1f49d0b229e55c0f361 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -3,20 +3,7 @@ <component name="deploymentTargetDropDown"> <value> <entry key="app"> - <State> - <runningDeviceTargetSelectedWithDropDown> - <Target> - <type value="RUNNING_DEVICE_TARGET" /> - <deviceKey> - <Key> - <type value="SERIAL_NUMBER" /> - <value value="adb-RRCT400LBLA-VDbMwR._adb-tls-connect._tcp" /> - </Key> - </deviceKey> - </Target> - </runningDeviceTargetSelectedWithDropDown> - <timeTargetWasSelectedWithDropDown value="2024-04-04T14:49:11.687308500Z" /> - </State> + <State /> </entry> </value> </component> diff --git a/app/src/main/java/com/pbd/psi/repository/SettingsRepository.kt b/app/src/main/java/com/pbd/psi/repository/SettingsRepository.kt index eb50ed452e42641cb7948bf0f656d81461b59264..0d1a7a212977d7c4cb3ef3bf058890bcbd22ee1f 100644 --- a/app/src/main/java/com/pbd/psi/repository/SettingsRepository.kt +++ b/app/src/main/java/com/pbd/psi/repository/SettingsRepository.kt @@ -1,6 +1,7 @@ package com.pbd.psi.repository import android.util.Log +import androidx.lifecycle.LiveData import com.pbd.psi.room.AppDatabase import com.pbd.psi.room.TransactionEntity import kotlinx.coroutines.Dispatchers @@ -8,9 +9,12 @@ import kotlinx.coroutines.withContext import javax.inject.Inject class SettingsRepository @Inject constructor(private val database: AppDatabase) { + val transactionList: LiveData<List<TransactionEntity>> = database.transactionDao().getAllTrans() + suspend fun getAllTrans(): List<TransactionEntity> { return withContext(Dispatchers.IO) { Log.d("button_export", "Repo1") + Log.d("ResponseString", "Response: ${database.transactionDao().getAllTransactions()}") database.transactionDao().getAllTransactions() } } diff --git a/app/src/main/java/com/pbd/psi/ui/settings/SettingsFragment.kt b/app/src/main/java/com/pbd/psi/ui/settings/SettingsFragment.kt index a6976d83971c3ab240d7455ac2ee1988d9dc3e26..5055c86d9870aed08dd626ceba8a5d26a222b9ca 100644 --- a/app/src/main/java/com/pbd/psi/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/com/pbd/psi/ui/settings/SettingsFragment.kt @@ -78,14 +78,23 @@ class SettingsFragment : Fragment() { binding.btnSettings.setOnClickListener { Log.d("button_export", "MASUKKK") - lifecycleScope.launch { - Log.d("button_export", "DALEMM") - val transactions = viewModel.fetchAllTransactions() - Log.d("button_export", "DALEM1") - exportTransactionsToExcel(transactions) - Log.d("button_export", "DALEM2") - Log.d("button_export", "KELUAR") +// lifecycleScope.launch { +// Log.d("button_export", "DALEMM") +// val transactions = viewModel.fetchAllTransactions() +// Log.d("button_export", "DALEM1") +// exportTransactionsToExcel(transactions) +// Log.d("button_export", "DALEM2") +// Log.d("button_export", "KELUAR") +// } + viewModel.transactionList.observe(viewLifecycleOwner) { transItems -> + Log.d("button_export", "MASUKKK") + val transactions = requireNotNull(transItems) { "Transaction list is null" } + val transList = ArrayList(transactions) + Log.d("button_export", "MASUKKK") + Log.d("TransactionList", "TransactionList: $transList") + exportTransactionsToExcel(transList) } + } } diff --git a/app/src/main/java/com/pbd/psi/ui/settings/SettingsViewModel.kt b/app/src/main/java/com/pbd/psi/ui/settings/SettingsViewModel.kt index baf6bf35b873a11325c5c501729df146b5bd2e1b..ab496e3125b4c173d5d94a8f6fcd02dbeafa144c 100644 --- a/app/src/main/java/com/pbd/psi/ui/settings/SettingsViewModel.kt +++ b/app/src/main/java/com/pbd/psi/ui/settings/SettingsViewModel.kt @@ -1,9 +1,12 @@ package com.pbd.psi.ui.transaction import android.util.Log +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.pbd.psi.repository.SettingsRepository +import com.pbd.psi.room.Category import com.pbd.psi.room.TransactionEntity import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.CompletableDeferred @@ -16,13 +19,13 @@ import javax.inject.Inject class SettingsViewModel @Inject constructor( private val repository: SettingsRepository, ) : ViewModel() { - var transactionList: List<TransactionEntity> = emptyList() + var transactionList: LiveData<List<TransactionEntity>> = repository.transactionList - suspend fun fetchAllTransactions(): List<TransactionEntity> { - return withContext(Dispatchers.IO) { - Log.d("button_export", "Repo1") - repository.getAllTrans() - } - } +// fun fetchData() { +// viewModelScope.launch { +// _data = repository.getAllTrans() +// Log.d("SettingsViewModel", "fetchData: $_data") +// } +// } }