From aa4472c62acd909cea65dd26102b5d7188c7aacd Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 17 Jul 2020 14:46:09 -0300 Subject: [wallet] Allow to add an exchange manually by providing its base URL --- .../wallet/exchanges/AddExchangeDialogFragment.kt | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt (limited to 'wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt') diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt b/wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt new file mode 100644 index 0000000..5ea763a --- /dev/null +++ b/wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt @@ -0,0 +1,49 @@ +/* + * 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.exchanges + +import android.app.Dialog +import android.os.Bundle +import android.widget.TextView +import androidx.appcompat.app.AlertDialog +import androidx.fragment.app.DialogFragment +import androidx.fragment.app.activityViewModels +import net.taler.wallet.MainViewModel +import net.taler.wallet.R + + +class AddExchangeDialogFragment : DialogFragment() { + + private val model: MainViewModel by activityViewModels() + private val exchangeManager by lazy { model.exchangeManager } + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + return AlertDialog.Builder(requireContext(), R.style.DialogTheme) + .setIcon(R.drawable.ic_account_balance) + .setTitle(R.string.exchange_list_add) + .setView(R.layout.dialog_exchange_add) + .setPositiveButton(R.string.ok) { dialog, _ -> + val urlView: TextView = (dialog as AlertDialog).findViewById(R.id.urlView)!! + exchangeManager.add(urlView.text.toString()) + } + .setNegativeButton(R.string.cancel) { _, _ -> + dismiss() + } + .create() + } + +} -- cgit v1.2.3