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();