From ea3250845fb266a2ecd5ebeba561bc99101bf3de Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 15 Apr 2020 11:26:51 -0300 Subject: [wallet] rename history to transactions --- .../net/taler/wallet/history/HistoryManager.kt | 79 ---------------------- 1 file changed, 79 deletions(-) delete mode 100644 wallet/src/main/java/net/taler/wallet/history/HistoryManager.kt (limited to 'wallet/src/main/java/net/taler/wallet/history/HistoryManager.kt') diff --git a/wallet/src/main/java/net/taler/wallet/history/HistoryManager.kt b/wallet/src/main/java/net/taler/wallet/history/HistoryManager.kt deleted file mode 100644 index 7ce4f5b..0000000 --- a/wallet/src/main/java/net/taler/wallet/history/HistoryManager.kt +++ /dev/null @@ -1,79 +0,0 @@ -/* - * This file is part of GNU Taler - * (C) 2020 Taler Systems S.A. - * - * GNU Taler is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 3, or (at your option) any later version. - * - * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * GNU Taler; see the file COPYING. If not, see - */ - -package net.taler.wallet.history - -import androidx.lifecycle.LiveData -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.asLiveData -import androidx.lifecycle.switchMap -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.module.kotlin.readValue -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.channels.awaitClose -import kotlinx.coroutines.flow.callbackFlow -import kotlinx.coroutines.flow.onCompletion -import kotlinx.coroutines.flow.onStart -import net.taler.wallet.backend.WalletBackendApi - -sealed class HistoryResult { - object Error : HistoryResult() - class Success(val history: History) : HistoryResult() -} - -@Suppress("EXPERIMENTAL_API_USAGE") -class HistoryManager( - private val walletBackendApi: WalletBackendApi, - private val mapper: ObjectMapper -) { - - private val mProgress = MutableLiveData() - val progress: LiveData = mProgress - - val showAll = MutableLiveData() - - var selectedEvent: HistoryEvent? = null - - val history: LiveData = showAll.switchMap { showAll -> - loadHistory(showAll) - .onStart { mProgress.postValue(true) } - .onCompletion { mProgress.postValue(false) } - .asLiveData(Dispatchers.IO) - } - - private fun loadHistory(showAll: Boolean) = callbackFlow { - walletBackendApi.sendRequest("getHistory", null) { isError, result -> - if (isError) { - offer(HistoryResult.Error) - close() - return@sendRequest - } - val history = History() - val json = result.getJSONArray("history") - for (i in 0 until json.length()) { - val event: HistoryEvent = mapper.readValue(json.getString(i)) - event.json = json.getJSONObject(i) - history.add(event) - } - history.reverse() // show latest first - val filtered = if (showAll) history else history.filter { it.showToUser } as History - offer(HistoryResult.Success(filtered)) - close() - } - awaitClose() - } - -} -- cgit v1.2.3