Advertisement
Guest User

SWITCH

a guest
Jan 19th, 2020
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.40 KB | None | 0 0
  1. package com.example.fullcurrpro
  2.  
  3. import android.annotation.SuppressLint
  4. import android.content.Intent
  5. import android.os.Bundle
  6. import android.util.Log.e
  7. import android.widget.EditText
  8. import android.widget.ImageView
  9. import android.widget.TextView
  10. import android.widget.Toast
  11. import androidx.appcompat.app.AppCompatActivity
  12. import com.backendless.Backendless
  13. import com.backendless.async.callback.AsyncCallback
  14. import com.backendless.exceptions.BackendlessFault
  15. import kotlinx.android.synthetic.main.activity_exchange.*
  16. import java.math.BigDecimal
  17. import java.math.MathContext
  18.  
  19.  
  20. class ExchangeActivity : AppCompatActivity() {
  21.  
  22. lateinit var rateForSP: String
  23. var resultForSP: String = ""
  24.  
  25. override fun onCreate(savedInstanceState: Bundle?) {
  26. super.onCreate(savedInstanceState)
  27. setContentView(R.layout.activity_exchange)
  28.  
  29. var flagImage = intent.getStringExtra("CURRENCYCODE")!!
  30. e("currCode", flagImage, null)
  31.  
  32. var countryName = intent.getStringExtra("COUNTRY")!!
  33. country2.text = countryName.toString()
  34.  
  35. //var unit = intent.getStringExtra("UNIT").toDouble()
  36.  
  37. getFlag(flagImage)
  38. setPointer()
  39. btnSendShare()
  40.  
  41. }
  42.  
  43. private fun btnSendShare() {
  44.  
  45. btn_share.setOnClickListener {
  46. var tempResult = resultForSP
  47. if (tempResult == "") {
  48. tempResult = 1.toString()
  49. }
  50. try {
  51. val message: String =
  52. "Country:${country2.text}\nrate:${rateForSP}\nresult:${tempResult}"
  53. var intent = Intent()
  54. intent.action = (Intent.ACTION_SEND)
  55. intent.putExtra(Intent.EXTRA_TEXT, message)
  56. intent.type = "text/plain"
  57. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
  58. startActivity(Intent.createChooser(intent, "Please select app"))
  59.  
  60. } catch (e: Exception) {
  61. e("", "RunTimeException: ${e}", null)
  62. }
  63. }
  64. }
  65.  
  66.  
  67.  
  68. @SuppressLint("WrongViewCast")
  69. private fun setPointer() {
  70.  
  71. //var unit = intent.getDoubleExtra("UNIT",1.0)
  72. var setNum = findViewById<EditText>(R.id.setNum)
  73.  
  74.  
  75. var rate = intent.getDoubleExtra("RATE", 1.0)
  76. setNum.setText(rate.toString())
  77. rateForSP = rate.toString()
  78. e("rate", rate.toString(), null)
  79. var getNum = findViewById<EditText>(R.id.getNum) as EditText
  80. e("getNum", rate.toString(), null)
  81. getNum.setText("1")
  82.  
  83. btnClose.setOnClickListener {
  84. finish()
  85. }
  86.  
  87. btn_save.setOnClickListener {
  88. saveNewContact()
  89. }
  90.  
  91. btn_exchange.setOnClickListener {
  92.  
  93. var setNum = findViewById<EditText>(R.id.setNum)
  94.  
  95. var unit = setNum.text.toString().toDouble()
  96.  
  97. var result = unit / rate
  98. e("result", result.toString(), null)
  99. //reducing the number to 6 digits
  100. var dc = BigDecimal(result)
  101. dc = dc.round(MathContext(5))
  102.  
  103. val roundedResult: Double = dc.toDouble()
  104.  
  105. resultForSP = roundedResult.toString()
  106. getNum.setText(roundedResult.toString())
  107.  
  108. }
  109. btn_test.setOnClickListener {
  110.  
  111.  
  112. var setNum = findViewById<EditText>(R.id.setNum)
  113. var tempSetNum = setNum
  114.  
  115. var getNum = findViewById<EditText>(R.id.getNum)
  116. var tempGetNum = getNum
  117.  
  118. var unit = setNum.text.toString().toDouble()
  119. e("unit", unit.toString(), null)
  120. var tempRate= rate
  121. tempRate= 1.0 / rate as Double
  122. e("tempRate", tempRate.toString(), null)
  123.  
  124. var result = unit / tempRate
  125. e("result", result.toString(), null)
  126. //reducing the number to 6 digits
  127. var dc = BigDecimal(result)
  128. dc = dc.round(MathContext(3))
  129.  
  130. val roundedResult: Double = dc.toDouble()
  131.  
  132. resultForSP = roundedResult.toString()
  133. getNum.setText(roundedResult.toString())
  134.  
  135.  
  136.  
  137. var fromCurImage = findViewById<ImageView>(R.id.fromCurImage)
  138. var toCurrImage = findViewById<ImageView>(R.id.toCurrImage)
  139.  
  140. var tempFromCurrImage= fromCurImage.drawable
  141. var tempTocurrImage= toCurrImage.drawable
  142.  
  143. fromCurImage.setImageDrawable(tempTocurrImage)
  144. toCurrImage.setImageDrawable(tempFromCurrImage)
  145.  
  146. var country1 = findViewById<TextView>(R.id.country1)
  147. var country2 = findViewById<TextView>(R.id.country2)
  148.  
  149. var tempC1= country1.text
  150. var tempC2= country2.text
  151.  
  152. country1.setText(tempC2)
  153. country2.setText(tempC1)
  154.  
  155.  
  156.  
  157.  
  158. }
  159. }
  160.  
  161. private fun saveNewContact() {
  162.  
  163. val thread = Thread(Runnable {
  164. try { //Your code goes here
  165. val saved_exchange = HashMap<Any, Any>()
  166. saved_exchange["unit"] = setNum.text.toString()
  167. saved_exchange["result"] = resultForSP.toFloat().toString()
  168.  
  169. // save object asynchronously
  170. Backendless.Persistence.of("saved_exchange")
  171. .save(saved_exchange, object : AsyncCallback<Map<*, *>?> {
  172. override fun handleResponse(response: Map<*, *>?) {
  173. Toast.makeText(
  174. applicationContext,
  175. "data saved successfully",
  176. Toast.LENGTH_SHORT
  177. ).show()
  178.  
  179. }
  180.  
  181. override fun handleFault(fault: BackendlessFault) {
  182. Toast.makeText(applicationContext, fault.message, Toast.LENGTH_SHORT)
  183. .show()
  184. }
  185. })
  186.  
  187. } catch (e: Exception) {
  188. e.printStackTrace()
  189. }
  190. })
  191.  
  192. thread.start()
  193.  
  194. }
  195.  
  196. private fun getFlag(flagImage: String?) {
  197.  
  198. when (flagImage) {
  199. "USD" -> {
  200. toCurrImage.setImageResource(R.drawable.icons8_usa_50)
  201. }
  202. "GBP" -> {
  203. toCurrImage.setImageResource(R.drawable.icons8_great_britain_50)
  204. }
  205. "JPY" -> {
  206. toCurrImage.setImageResource(R.drawable.icons8_japan_50)
  207. }
  208. "EUR" -> {
  209. toCurrImage.setImageResource(R.drawable.icons8_flag_of_europe_50)
  210. }
  211. "AUD" -> {
  212. toCurrImage.setImageResource(R.drawable.icons8_australia_50)
  213. }
  214. "CAD" -> {
  215. toCurrImage.setImageResource(R.drawable.icons8_canada_48)
  216. }
  217. "DKK" -> {
  218. toCurrImage.setImageResource(R.drawable.icons8_denmark_50)
  219. }
  220. "NOK" -> {
  221. toCurrImage.setImageResource(R.drawable.icons8_norway_50)
  222. }
  223. "ZAR" -> {
  224. toCurrImage.setImageResource(R.drawable.icons8_south_africa_50)
  225. }
  226. "SEK" -> {
  227. toCurrImage.setImageResource(R.drawable.icons8_sweden_50)
  228. }
  229. "CHF" -> {
  230. toCurrImage.setImageResource(R.drawable.icons8_switzerland_50)
  231. }
  232. "JOD" -> {
  233. toCurrImage.setImageResource(R.drawable.icons8_jordan_50)
  234. }
  235. "LBP" -> {
  236. toCurrImage.setImageResource(R.drawable.icons8_lebanon_50)
  237. }
  238. "EGP" -> {
  239. toCurrImage.setImageResource(R.drawable.icons8_egypt_50)
  240. }
  241. }
  242. }
  243.  
  244. private fun setFlag(flagImage: String?,flagImage2: String?) {
  245.  
  246. when (flagImage) {
  247. "USD" -> {
  248. toCurrImage.setImageResource(R.drawable.icons8_usa_50)
  249. }
  250. "GBP" -> {
  251. toCurrImage.setImageResource(R.drawable.icons8_great_britain_50)
  252. }
  253. "JPY" -> {
  254. toCurrImage.setImageResource(R.drawable.icons8_japan_50)
  255. }
  256. "EUR" -> {
  257. toCurrImage.setImageResource(R.drawable.icons8_flag_of_europe_50)
  258. }
  259. "AUD" -> {
  260. toCurrImage.setImageResource(R.drawable.icons8_australia_50)
  261. }
  262. "CAD" -> {
  263. toCurrImage.setImageResource(R.drawable.icons8_canada_48)
  264. }
  265. "DKK" -> {
  266. toCurrImage.setImageResource(R.drawable.icons8_denmark_50)
  267. }
  268. "NOK" -> {
  269. toCurrImage.setImageResource(R.drawable.icons8_norway_50)
  270. }
  271. "ZAR" -> {
  272. toCurrImage.setImageResource(R.drawable.icons8_south_africa_50)
  273. }
  274. "SEK" -> {
  275. toCurrImage.setImageResource(R.drawable.icons8_sweden_50)
  276. }
  277. "CHF" -> {
  278. toCurrImage.setImageResource(R.drawable.icons8_switzerland_50)
  279. }
  280. "JOD" -> {
  281. toCurrImage.setImageResource(R.drawable.icons8_jordan_50)
  282. }
  283. "LBP" -> {
  284. toCurrImage.setImageResource(R.drawable.icons8_lebanon_50)
  285. }
  286. "EGP" -> {
  287. toCurrImage.setImageResource(R.drawable.icons8_egypt_50)
  288. }
  289. }
  290.  
  291. }
  292. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement