From 29b7f16e60f7f93ca127e01aa626c05468be7bf2 Mon Sep 17 00:00:00 2001 From: GeorgCantor Date: Fri, 22 May 2020 20:04:26 +0300 Subject: [PATCH 1/2] updated gradle dependencies --- app/build.gradle | 5 +++++ build.gradle | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d2966da..1e16a19 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -27,6 +27,11 @@ android { viewBinding { enabled = true } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { diff --git a/build.gradle b/build.gradle index 79adea9..6802644 100644 --- a/build.gradle +++ b/build.gradle @@ -6,16 +6,16 @@ buildscript { 'targetSdk' : 28, 'androidGradle' : '3.6.3', 'androidx' : '1.1.0', - 'androidxAppcompat': '1.0.2', + 'androidxAppcompat': '1.1.0', 'lifecycle' : '2.2.0', 'persistence' : '2.2.5', 'material' : '1.1.0', 'rxAndroid' : '2.1.1', - 'rxJava' : '2.2.8', - 'dagger' : '2.25.4', - 'retrofit' : '2.5.0', - 'okhttp' : '3.12.0', - 'kotlin' : '1.3.71' + 'rxJava' : '2.2.18', + 'dagger' : '2.26', + 'retrofit' : '2.8.1', + 'okhttp' : '4.5.0', + 'kotlin' : '1.3.72' ] repositories { From 7a637f5b9a4bbb24ddbd7ce74c62c5d21eb046ec Mon Sep 17 00:00:00 2001 From: GeorgCantor Date: Fri, 22 May 2020 20:25:21 +0300 Subject: [PATCH 2/2] added showing progress bar when converting --- .../view/CurrencyFragment.kt | 14 ++++++++++++-- .../view/CurrencyViewModel.kt | 10 ++++++++++ app/src/main/res/layout/currency_fragment.xml | 5 +++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/erikjhordanrey/android_kotlin_devises/view/CurrencyFragment.kt b/app/src/main/kotlin/erikjhordanrey/android_kotlin_devises/view/CurrencyFragment.kt index 18cb102..b637c51 100644 --- a/app/src/main/kotlin/erikjhordanrey/android_kotlin_devises/view/CurrencyFragment.kt +++ b/app/src/main/kotlin/erikjhordanrey/android_kotlin_devises/view/CurrencyFragment.kt @@ -21,6 +21,8 @@ import android.os.Bundle import android.view.Gravity import android.view.LayoutInflater import android.view.View +import android.view.View.GONE +import android.view.View.VISIBLE import android.view.ViewGroup import android.widget.ArrayAdapter import android.widget.TextView @@ -57,6 +59,10 @@ class CurrencyFragment : Fragment() { initViewModel() initUI() populateSpinnerAdapter() + + currencyViewModel.isProgressVisible.observe(viewLifecycleOwner, Observer { visible -> + binding.progressBar.visibility = if (visible) VISIBLE else GONE + }) } private fun initializeDagger() { @@ -93,7 +99,10 @@ class CurrencyFragment : Fragment() { } private fun initConvertButton() { - binding.convertButton.setOnClickListener { convert() } + binding.convertButton.setOnClickListener { + convert() + currencyViewModel.progressVisible() + } } // You can move all this logic to the view model @@ -112,6 +121,7 @@ class CurrencyFragment : Fragment() { }) } else { + currencyViewModel.progressInvisible() Toast.makeText(activity, "Could not convert.", Toast.LENGTH_SHORT).show() } } @@ -131,7 +141,7 @@ class CurrencyFragment : Fragment() { val result = quantity.toString() + " " + fromCurrencyKey + " = " + exchangeResult.format(4) + " " + toCurrencyKey showResult(result) - + currencyViewModel.progressInvisible() } private fun showResult(result: String) { diff --git a/app/src/main/kotlin/erikjhordanrey/android_kotlin_devises/view/CurrencyViewModel.kt b/app/src/main/kotlin/erikjhordanrey/android_kotlin_devises/view/CurrencyViewModel.kt index 9a77a48..3f4b23d 100644 --- a/app/src/main/kotlin/erikjhordanrey/android_kotlin_devises/view/CurrencyViewModel.kt +++ b/app/src/main/kotlin/erikjhordanrey/android_kotlin_devises/view/CurrencyViewModel.kt @@ -40,6 +40,16 @@ class CurrencyViewModel(private val currencyRepository: CurrencyRepository) : Vi private var liveCurrencyData: LiveData>? = null private var liveAvailableExchange: LiveData? = null + val isProgressVisible = MutableLiveData().apply { value = false } + + fun progressVisible() { + isProgressVisible.value = true + } + + fun progressInvisible() { + isProgressVisible.value = false + } + fun getAvailableExchange(currencies: String): LiveData? { liveAvailableExchange = null liveAvailableExchange = MutableLiveData() diff --git a/app/src/main/res/layout/currency_fragment.xml b/app/src/main/res/layout/currency_fragment.xml index 070bde4..5dad166 100644 --- a/app/src/main/res/layout/currency_fragment.xml +++ b/app/src/main/res/layout/currency_fragment.xml @@ -50,6 +50,11 @@ android:textSize="18sp" android:textStyle="bold" /> +