@@ -5,6 +5,7 @@ import android.view.View
55import com.blogspot.e_kanivets.moneytracker.R
66import com.blogspot.e_kanivets.moneytracker.activity.base.BaseFragment
77import com.blogspot.e_kanivets.moneytracker.adapter.RecordAdapter
8+ import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController
89import com.blogspot.e_kanivets.moneytracker.controller.data.RecordController
910import com.blogspot.e_kanivets.moneytracker.controller.data.TransferController
1011import com.blogspot.e_kanivets.moneytracker.entity.data.Account
@@ -16,6 +17,8 @@ import javax.inject.Inject
1617
1718class AccountOperationsFragment : BaseFragment () {
1819
20+ @Inject
21+ internal lateinit var accountController: AccountController
1922 @Inject
2023 internal lateinit var recordController: RecordController
2124 @Inject
@@ -38,19 +41,19 @@ class AccountOperationsFragment : BaseFragment() {
3841 val accountRecords = recordController.getRecordsForAccount(account)
3942 val accountTransfers = transferController.getTransfersForAccount(account)
4043
41- accountRecords + = calculateRecordsFromTransfers (accountTransfers)
44+ accountRecords + = obtainRecordsFromTransfers (accountTransfers)
4245 accountRecords.sortByDescending { it.time }
4346
4447 return accountRecords
4548 }
4649
47- private fun calculateRecordsFromTransfers (transfers : List <Transfer >): List <Record > {
50+ private fun obtainRecordsFromTransfers (transfers : List <Transfer >): List <Record > {
4851 val records = mutableListOf<Record >()
4952
5053 transfers.forEach {
5154 val type = if (it.fromAccountId == account.id) Record .TYPE_EXPENSE else Record .TYPE_INCOME
52- val title = " Transfer ${ if (type == Record . TYPE_EXPENSE ) " to " else " from " } "
53- val category = Category (" transfer" )
55+ val title = constructRecordTitle (type, it)
56+ val category = Category (getString( R .string. transfer).toLowerCase() )
5457 val price = if (type == Record .TYPE_EXPENSE ) it.fromAmount else it.toAmount
5558 val decimals = if (type == Record .TYPE_EXPENSE ) it.fromDecimals else it.toDecimals
5659
@@ -60,6 +63,13 @@ class AccountOperationsFragment : BaseFragment() {
6063 return records.toList()
6164 }
6265
66+ private fun constructRecordTitle (type : Int , transfer : Transfer ): String {
67+ val titlePrefix = getString(if (type == Record .TYPE_EXPENSE ) R .string.to else R .string.from)
68+ val oppositeAccountId = if (type == Record .TYPE_EXPENSE ) transfer.toAccountId else transfer.fromAccountId
69+ val oppositeAccountTitle = " $titlePrefix ${accountController.read(oppositeAccountId)?.title} "
70+ return " ${getString(R .string.transfer)} $oppositeAccountTitle " .toLowerCase()
71+ }
72+
6373 companion object {
6474
6575 private const val KEY_ACCOUNT = " key_account"
0 commit comments