From f338a0501fd390c566e47fa504ad27baa997b389 Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Mon, 7 Sep 2020 09:09:23 +0100 Subject: [PATCH] Fixed the "eternal refresh" bug & crash #18 --- .../com/rtbishop/look4sat/ui/MainActivity.kt | 1 - .../look4sat/ui/fragments/PassListFragment.kt | 33 ++++++++----------- app/src/main/res/drawable/ic_exit_app.xml | 28 ---------------- app/src/main/res/layout/drawer_header.xml | 22 +------------ app/src/main/res/values-ru/strings.xml | 3 +- app/src/main/res/values/strings.xml | 4 +-- 6 files changed, 18 insertions(+), 73 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_exit_app.xml diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt b/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt index f60a6f5c..faa9dad1 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt @@ -173,7 +173,6 @@ class MainActivity : AppCompatActivity(), TleSourcesDialogFragment.SourcesSubmit val githubIntent = Intent(Intent.ACTION_VIEW, Uri.parse(gitHubUrl)) startActivity(githubIntent) } - drawerBinding.drawerBtnExit.setOnClickListener { finish() } } override fun onSourcesSubmit(list: List) { diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/fragments/PassListFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/fragments/PassListFragment.kt index 02d91532..ef3c5186 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/fragments/PassListFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/fragments/PassListFragment.kt @@ -45,6 +45,7 @@ import com.rtbishop.look4sat.databinding.FragmentPassListBinding import com.rtbishop.look4sat.ui.MainActivity import com.rtbishop.look4sat.ui.SharedViewModel import com.rtbishop.look4sat.ui.adapters.SatPassAdapter +import com.rtbishop.look4sat.utility.GeneralUtils.toast import kotlinx.coroutines.launch import java.util.* import java.util.concurrent.TimeUnit @@ -86,8 +87,11 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) { setupObservers(binding) setupComponents(binding) + } - if (satPassList.isEmpty()) { + override fun onStart() { + super.onStart() + if (satPassAdapter.itemCount == 0) { viewModel.calculatePasses() } } @@ -135,10 +139,9 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) { lifecycleScope.launch { val list = viewModel.getAllEntries() as MutableList if (list.isEmpty()) { - Toast.makeText(requireContext(), "Please, update TLE", Toast.LENGTH_SHORT) - .show() + getString(R.string.err_update_data).toast(mainActivity, Toast.LENGTH_SHORT) } else { - showSelectSatDialog(list, binding) + showSelectSatDialog(list) } } } @@ -160,29 +163,23 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) { val elevation = elevationStr.toDouble() when { hours < 1 || hours > 168 -> { - Toast.makeText( + getString(R.string.pref_hours_ahead_input_error).toast( mainActivity, - getString(R.string.pref_hours_ahead_input_error), Toast.LENGTH_SHORT - ).show() + ) } elevation < 0 || elevation > 90 -> { - Toast.makeText( + getString(R.string.pref_min_el_input_error).toast( mainActivity, - getString(R.string.pref_min_el_input_error), Toast.LENGTH_SHORT - ).show() + ) } else -> { viewModel.setPassPrefs(hours, elevation) viewModel.calculatePasses() } } - } else Toast.makeText( - mainActivity, - getString(R.string.err_enter_value), - Toast.LENGTH_SHORT - ).show() + } else getString(R.string.err_enter_value).toast(mainActivity, Toast.LENGTH_SHORT) } setNegativeButton(getString(android.R.string.cancel)) { dialog, _ -> @@ -194,13 +191,9 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) { } } - private fun showSelectSatDialog( - tleMainList: MutableList, - binding: FragmentPassListBinding - ) { + private fun showSelectSatDialog(tleMainList: MutableList) { val listener = object : SatEntryDialogFragment.EntriesSubmitListener { override fun onEntriesSubmit(catNumList: MutableList) { - binding.refLayoutPassList.isRefreshing = true viewModel.updateEntriesSelection(catNumList) } } diff --git a/app/src/main/res/drawable/ic_exit_app.xml b/app/src/main/res/drawable/ic_exit_app.xml deleted file mode 100644 index 0a13b438..00000000 --- a/app/src/main/res/drawable/ic_exit_app.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - diff --git a/app/src/main/res/layout/drawer_header.xml b/app/src/main/res/layout/drawer_header.xml index de58bb89..6334e909 100644 --- a/app/src/main/res/layout/drawer_header.xml +++ b/app/src/main/res/layout/drawer_header.xml @@ -127,35 +127,15 @@ android:id="@+id/drawer_btn_github" style="@style/DrawerHeader.Button" android:layout_width="0dp" - android:layout_marginEnd="1dp" android:drawableEnd="@drawable/ic_goto_github" android:text="@string/goto_github" app:layout_constraintBottom_toTopOf="@+id/guidelineBottom" - app:layout_constraintEnd_toStartOf="@+id/guidelineCenter" + app:layout_constraintEnd_toStartOf="@+id/guidelineRight" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintHorizontal_chainStyle="spread_inside" app:layout_constraintStart_toStartOf="@+id/guidelineLeft" app:layout_constraintTop_toBottomOf="@+id/drawer_btn_tle_url" /> - - - - Импорт данных по ссылке Данные спутников обновлены Ошибка импорта данных - Выход + Ссылка на GitHub Список пролетов Карта мира @@ -68,6 +68,7 @@ Не найдены трансиверы для этого спутника Отсутствуют необходимые разрешения + Пожалуйста, обновите данные спутников Пожалуйста, введите значение Не выбраны спутники diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c0c04921..81ec898b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -32,8 +32,7 @@ Import data from web Satellite data was updated Satellite data import failed - GitHub - Exit + Link to GitHub List of Passes Polar View @@ -79,6 +78,7 @@ No transceivers found for this satellite Missing permissions + Please, update satellite data Please, enter the value No satellites selected