From e9dc166e1e73377c92d48501d2edda0fa9869478 Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Mon, 7 Feb 2022 18:34:02 +0000 Subject: [PATCH] Added a function to clear the database #79 --- .../look4sat/framework/local/LocalSource.kt | 5 ++++ .../settingsScreen/SettingsFragment.kt | 1 + .../settingsScreen/SettingsViewModel.kt | 4 ++++ app/src/main/res/layout/card_prefs_update.xml | 24 +++++++++++++++---- app/src/main/res/values/styles.xml | 4 +++- .../rtbishop/look4sat/data/DataRepository.kt | 8 +++++++ .../rtbishop/look4sat/data/ILocalSource.kt | 2 ++ .../look4sat/domain/IDataRepository.kt | 2 ++ 8 files changed, 44 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/rtbishop/look4sat/framework/local/LocalSource.kt b/app/src/main/java/com/rtbishop/look4sat/framework/local/LocalSource.kt index 8f600c0b..468a6026 100644 --- a/app/src/main/java/com/rtbishop/look4sat/framework/local/LocalSource.kt +++ b/app/src/main/java/com/rtbishop/look4sat/framework/local/LocalSource.kt @@ -69,4 +69,9 @@ class LocalSource( override suspend fun updateTransmitters(transmitters: List) { transmittersDao.updateTransmitters(transmitters.toFramework()) } + + override suspend fun clearData() { + entriesDao.deleteEntries() + transmittersDao.deleteTransmitters() + } } diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt index 16b5eb88..206f5290 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt @@ -116,6 +116,7 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { binding.prefsData.updateBtnWeb.setOnClickListener { findNavController().navigateSafe(R.id.action_prefs_to_sources) } + binding.prefsData.updateBtnClear.setOnClickListener { viewModel.clearData() } getNavResult>(R.id.nav_settings, "sources") { sources -> viewModel.updateDataFromWeb(sources) } diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsViewModel.kt index 1754a2c7..7304a05c 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsViewModel.kt @@ -25,6 +25,10 @@ class SettingsViewModel @Inject constructor( repository.updateDataFromWeb(sources) } + fun clearData() { + repository.clearData() + } + fun getUseUTC(): Boolean = settings.getUseUTC() fun setUseUTC(value: Boolean) = settings.setUseUTC(value) diff --git a/app/src/main/res/layout/card_prefs_update.xml b/app/src/main/res/layout/card_prefs_update.xml index 414ae195..e305ba97 100644 --- a/app/src/main/res/layout/card_prefs_update.xml +++ b/app/src/main/res/layout/card_prefs_update.xml @@ -35,11 +35,11 @@ style="@style/AppButton" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="4dp" + android:layout_marginStart="8dp" android:layout_marginTop="4dp" android:layout_marginBottom="4dp" android:drawableStart="@drawable/ic_update_web" - android:text="@string/update_web" + android:text="Web" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/update_btn_file" app:layout_constraintHorizontal_bias="0.5" @@ -51,13 +51,27 @@ style="@style/AppButton" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginEnd="4dp" + android:layout_marginStart="8dp" + android:layout_marginEnd="8dp" android:drawableStart="@drawable/ic_update_file" - android:text="@string/update_file" + android:text="File" + app:layout_constraintBaseline_toBaselineOf="@+id/update_btn_web" + app:layout_constraintEnd_toStartOf="@+id/update_btn_clear" + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintStart_toEndOf="@+id/update_btn_web" /> + +