Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.fullcurrpro
- import android.annotation.SuppressLint
- import android.content.Intent
- import android.os.Bundle
- import android.util.Log.e
- import android.widget.EditText
- import android.widget.ImageView
- import android.widget.TextView
- import android.widget.Toast
- import androidx.appcompat.app.AppCompatActivity
- import com.backendless.Backendless
- import com.backendless.async.callback.AsyncCallback
- import com.backendless.exceptions.BackendlessFault
- import kotlinx.android.synthetic.main.activity_exchange.*
- import java.math.BigDecimal
- import java.math.MathContext
- class ExchangeActivity : AppCompatActivity() {
- lateinit var rateForSP: String
- var resultForSP: String = ""
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_exchange)
- var flagImage = intent.getStringExtra("CURRENCYCODE")!!
- e("currCode", flagImage, null)
- var countryName = intent.getStringExtra("COUNTRY")!!
- country2.text = countryName.toString()
- //var unit = intent.getStringExtra("UNIT").toDouble()
- getFlag(flagImage)
- setPointer()
- btnSendShare()
- }
- private fun btnSendShare() {
- btn_share.setOnClickListener {
- var tempResult = resultForSP
- if (tempResult == "") {
- tempResult = 1.toString()
- }
- try {
- val message: String =
- "Country:${country2.text}\nrate:${rateForSP}\nresult:${tempResult}"
- var intent = Intent()
- intent.action = (Intent.ACTION_SEND)
- intent.putExtra(Intent.EXTRA_TEXT, message)
- intent.type = "text/plain"
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
- startActivity(Intent.createChooser(intent, "Please select app"))
- } catch (e: Exception) {
- e("", "RunTimeException: ${e}", null)
- }
- }
- }
- @SuppressLint("WrongViewCast")
- private fun setPointer() {
- //var unit = intent.getDoubleExtra("UNIT",1.0)
- var setNum = findViewById<EditText>(R.id.setNum)
- var rate = intent.getDoubleExtra("RATE", 1.0)
- setNum.setText(rate.toString())
- rateForSP = rate.toString()
- e("rate", rate.toString(), null)
- var getNum = findViewById<EditText>(R.id.getNum) as EditText
- e("getNum", rate.toString(), null)
- getNum.setText("1")
- btnClose.setOnClickListener {
- finish()
- }
- btn_save.setOnClickListener {
- saveNewContact()
- }
- btn_exchange.setOnClickListener {
- var setNum = findViewById<EditText>(R.id.setNum)
- var unit = setNum.text.toString().toDouble()
- var result = unit / rate
- e("result", result.toString(), null)
- //reducing the number to 6 digits
- var dc = BigDecimal(result)
- dc = dc.round(MathContext(5))
- val roundedResult: Double = dc.toDouble()
- resultForSP = roundedResult.toString()
- getNum.setText(roundedResult.toString())
- }
- btn_test.setOnClickListener {
- var setNum = findViewById<EditText>(R.id.setNum)
- var tempSetNum = setNum
- var getNum = findViewById<EditText>(R.id.getNum)
- var tempGetNum = getNum
- var unit = setNum.text.toString().toDouble()
- e("unit", unit.toString(), null)
- var tempRate= rate
- tempRate= 1.0 / rate as Double
- e("tempRate", tempRate.toString(), null)
- var result = unit / tempRate
- e("result", result.toString(), null)
- //reducing the number to 6 digits
- var dc = BigDecimal(result)
- dc = dc.round(MathContext(3))
- val roundedResult: Double = dc.toDouble()
- resultForSP = roundedResult.toString()
- getNum.setText(roundedResult.toString())
- var fromCurImage = findViewById<ImageView>(R.id.fromCurImage)
- var toCurrImage = findViewById<ImageView>(R.id.toCurrImage)
- var tempFromCurrImage= fromCurImage.drawable
- var tempTocurrImage= toCurrImage.drawable
- fromCurImage.setImageDrawable(tempTocurrImage)
- toCurrImage.setImageDrawable(tempFromCurrImage)
- var country1 = findViewById<TextView>(R.id.country1)
- var country2 = findViewById<TextView>(R.id.country2)
- var tempC1= country1.text
- var tempC2= country2.text
- country1.setText(tempC2)
- country2.setText(tempC1)
- }
- }
- private fun saveNewContact() {
- val thread = Thread(Runnable {
- try { //Your code goes here
- val saved_exchange = HashMap<Any, Any>()
- saved_exchange["unit"] = setNum.text.toString()
- saved_exchange["result"] = resultForSP.toFloat().toString()
- // save object asynchronously
- Backendless.Persistence.of("saved_exchange")
- .save(saved_exchange, object : AsyncCallback<Map<*, *>?> {
- override fun handleResponse(response: Map<*, *>?) {
- Toast.makeText(
- applicationContext,
- "data saved successfully",
- Toast.LENGTH_SHORT
- ).show()
- }
- override fun handleFault(fault: BackendlessFault) {
- Toast.makeText(applicationContext, fault.message, Toast.LENGTH_SHORT)
- .show()
- }
- })
- } catch (e: Exception) {
- e.printStackTrace()
- }
- })
- thread.start()
- }
- private fun getFlag(flagImage: String?) {
- when (flagImage) {
- "USD" -> {
- toCurrImage.setImageResource(R.drawable.icons8_usa_50)
- }
- "GBP" -> {
- toCurrImage.setImageResource(R.drawable.icons8_great_britain_50)
- }
- "JPY" -> {
- toCurrImage.setImageResource(R.drawable.icons8_japan_50)
- }
- "EUR" -> {
- toCurrImage.setImageResource(R.drawable.icons8_flag_of_europe_50)
- }
- "AUD" -> {
- toCurrImage.setImageResource(R.drawable.icons8_australia_50)
- }
- "CAD" -> {
- toCurrImage.setImageResource(R.drawable.icons8_canada_48)
- }
- "DKK" -> {
- toCurrImage.setImageResource(R.drawable.icons8_denmark_50)
- }
- "NOK" -> {
- toCurrImage.setImageResource(R.drawable.icons8_norway_50)
- }
- "ZAR" -> {
- toCurrImage.setImageResource(R.drawable.icons8_south_africa_50)
- }
- "SEK" -> {
- toCurrImage.setImageResource(R.drawable.icons8_sweden_50)
- }
- "CHF" -> {
- toCurrImage.setImageResource(R.drawable.icons8_switzerland_50)
- }
- "JOD" -> {
- toCurrImage.setImageResource(R.drawable.icons8_jordan_50)
- }
- "LBP" -> {
- toCurrImage.setImageResource(R.drawable.icons8_lebanon_50)
- }
- "EGP" -> {
- toCurrImage.setImageResource(R.drawable.icons8_egypt_50)
- }
- }
- }
- private fun setFlag(flagImage: String?,flagImage2: String?) {
- when (flagImage) {
- "USD" -> {
- toCurrImage.setImageResource(R.drawable.icons8_usa_50)
- }
- "GBP" -> {
- toCurrImage.setImageResource(R.drawable.icons8_great_britain_50)
- }
- "JPY" -> {
- toCurrImage.setImageResource(R.drawable.icons8_japan_50)
- }
- "EUR" -> {
- toCurrImage.setImageResource(R.drawable.icons8_flag_of_europe_50)
- }
- "AUD" -> {
- toCurrImage.setImageResource(R.drawable.icons8_australia_50)
- }
- "CAD" -> {
- toCurrImage.setImageResource(R.drawable.icons8_canada_48)
- }
- "DKK" -> {
- toCurrImage.setImageResource(R.drawable.icons8_denmark_50)
- }
- "NOK" -> {
- toCurrImage.setImageResource(R.drawable.icons8_norway_50)
- }
- "ZAR" -> {
- toCurrImage.setImageResource(R.drawable.icons8_south_africa_50)
- }
- "SEK" -> {
- toCurrImage.setImageResource(R.drawable.icons8_sweden_50)
- }
- "CHF" -> {
- toCurrImage.setImageResource(R.drawable.icons8_switzerland_50)
- }
- "JOD" -> {
- toCurrImage.setImageResource(R.drawable.icons8_jordan_50)
- }
- "LBP" -> {
- toCurrImage.setImageResource(R.drawable.icons8_lebanon_50)
- }
- "EGP" -> {
- toCurrImage.setImageResource(R.drawable.icons8_egypt_50)
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement