From 26228306686bb37c18a48b25eba59c354379150c Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 2 Sep 2019 10:50:45 +0200 Subject: implement backend settings --- .../java/net/taler/merchantpos/MerchantSettings.kt | 111 ++++++++++++++++++++- 1 file changed, 109 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/net/taler/merchantpos/MerchantSettings.kt') diff --git a/app/src/main/java/net/taler/merchantpos/MerchantSettings.kt b/app/src/main/java/net/taler/merchantpos/MerchantSettings.kt index 1903bce..7797dcb 100644 --- a/app/src/main/java/net/taler/merchantpos/MerchantSettings.kt +++ b/app/src/main/java/net/taler/merchantpos/MerchantSettings.kt @@ -1,21 +1,128 @@ package net.taler.merchantpos +import android.content.Context import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Button +import android.widget.EditText +import android.widget.TextView +import androidx.lifecycle.ViewModelProviders +import com.android.volley.Request +import com.android.volley.RequestQueue +import com.android.volley.Response +import com.android.volley.VolleyError +import com.android.volley.toolbox.Volley +import com.google.android.material.snackbar.Snackbar +import org.json.JSONObject /** * Fragment that displays merchant settings. */ class MerchantSettings : Fragment() { + + private lateinit var queue: RequestQueue + private lateinit var model: PosTerminalViewModel + + private var newConfig: MerchantConfig? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + model = activity?.run { + ViewModelProviders.of(this)[PosTerminalViewModel::class.java] + } ?: throw Exception("Invalid Activity") + + queue = Volley.newRequestQueue(context) + } + + private fun reset(view: View) { + val backendUrlEdit = view.findViewById(R.id.edit_settings_backend_url) + backendUrlEdit.setText(model.merchantConfig!!.baseUrl, TextView.BufferType.EDITABLE) + + val backendInstanceEdit = view.findViewById(R.id.edit_settings_instance) + backendInstanceEdit.setText(model.merchantConfig!!.instance, TextView.BufferType.EDITABLE) + + val backendApiKeyEdit = view.findViewById(R.id.edit_settings_apikey) + backendApiKeyEdit.setText(model.merchantConfig!!.apiKey, TextView.BufferType.EDITABLE) + + val currencyView = view.findViewById(R.id.text_settings_currency) + currencyView.text = model.merchantConfig!!.currency + } + + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_merchant_settings, container, false) + val view = inflater.inflate(R.layout.fragment_merchant_settings, container, false) + + reset(view) + + val buttonApply = view.findViewById