From f174620b6aa6ac7c97e34019ecf9de33fe7035dc Mon Sep 17 00:00:00 2001 From: Febon <32780971+Febon@users.noreply.github.com> Date: Thu, 28 May 2020 15:22:13 +0300 Subject: [PATCH] Added conditions in application listeners In order for the buttons to work the listeners must listen to the right android key in the xml --- .../activities/habits/list/ListHabitsScreen.kt | 4 ++++ .../activities/settings/SettingsFragment.java | 2 ++ .../src/main/res/menu/list_habits_selection.xml | 5 ++++- .../src/main/res/values/strings.xml | 2 ++ .../src/main/res/xml/preferences.xml | 16 ++++++++-------- .../screens/habits/list/ListHabitsBehavior.java | 9 ++++++++- 6 files changed, 28 insertions(+), 10 deletions(-) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt index 4cf89c363..4efd4d76c 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt @@ -49,12 +49,14 @@ const val RESULT_BUG_REPORT = 4 const val RESULT_REPAIR_DB = 5 const val REQUEST_OPEN_DOCUMENT = 6 const val REQUEST_SETTINGS = 7 +const val RESET_HABITS = 8 @ActivityScope class ListHabitsScreen @Inject constructor( activity: BaseActivity, rootView: ListHabitsRootView, + private val habitList: HabitList, private val commandRunner: CommandRunner, private val intentFactory: IntentFactory, private val themeSwitcher: ThemeSwitcher, @@ -118,12 +120,14 @@ class ListHabitsScreen } private fun onSettingsResult(resultCode: Int) { + val liist = habitList.getFiltered(HabitMatcher(true,true,true)) when (resultCode) { RESULT_IMPORT_DATA -> showImportScreen() RESULT_EXPORT_CSV -> behavior.get().onExportCSV() RESULT_EXPORT_DB -> onExportDB() RESULT_BUG_REPORT -> behavior.get().onSendBugReport() RESULT_REPAIR_DB -> behavior.get().onRepairDB() + RESET_HABITS -> ResetHabitsCommand(liist, liist.toList()).execute() } } diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java index 049f6e319..1ac48bfaa 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java @@ -93,6 +93,8 @@ public class SettingsFragment extends PreferenceFragmentCompat setResultOnPreferenceClick("exportDB", RESULT_EXPORT_DB); setResultOnPreferenceClick("repairDB", RESULT_REPAIR_DB); setResultOnPreferenceClick("bugReport", RESULT_BUG_REPORT); + setResultOnPreferenceClick("resetHabits", RESET_HABITS); + } @Override diff --git a/android/uhabits-android/src/main/res/menu/list_habits_selection.xml b/android/uhabits-android/src/main/res/menu/list_habits_selection.xml index bb7c7c335..cbcf7f340 100644 --- a/android/uhabits-android/src/main/res/menu/list_habits_selection.xml +++ b/android/uhabits-android/src/main/res/menu/list_habits_selection.xml @@ -50,5 +50,8 @@ android:id="@+id/action_notify" android:title="@string/reminder" app:showAsAction="never"/> - + \ No newline at end of file diff --git a/android/uhabits-android/src/main/res/values/strings.xml b/android/uhabits-android/src/main/res/values/strings.xml index d2273b13b..075d3a647 100644 --- a/android/uhabits-android/src/main/res/values/strings.xml +++ b/android/uhabits-android/src/main/res/values/strings.xml @@ -246,5 +246,7 @@ Have you completed this habit today? Notes You can put whatever you want here! + reset + Reset \ No newline at end of file diff --git a/android/uhabits-android/src/main/res/xml/preferences.xml b/android/uhabits-android/src/main/res/xml/preferences.xml index 2cef2f84d..38079daab 100644 --- a/android/uhabits-android/src/main/res/xml/preferences.xml +++ b/android/uhabits-android/src/main/res/xml/preferences.xml @@ -134,18 +134,18 @@ + android:key="pref_key_debug" + android:title="@string/troubleshooting"> + android:key="bugReport" + android:title="@string/generate_bug_report" + app:iconSpaceReserved="false" /> + android:key="repairDB" + android:title="@string/repair_database" + app:iconSpaceReserved="false" /> diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsBehavior.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsBehavior.java index 11491e5bf..97caf579f 100644 --- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsBehavior.java +++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsBehavior.java @@ -126,7 +126,14 @@ public class ListHabitsBehavior screen.showMessage(Message.DATABASE_REPAIRED); }); } - + public void onResetHabits() + { + taskRunner.execute(() -> + { + habitList.repair(); + screen.showMessage(Message.DATABASE_REPAIRED); + }); + } public void onSendBugReport() { bugReporter.dumpBugReportToFile();