diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
index 4b55d1b97..e59b165b7 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
@@ -114,7 +114,10 @@ class CheckmarkButtonView(
val id = when (value) {
SKIP -> R.string.fa_skipped
NO -> R.string.fa_times
- UNKNOWN -> R.string.fa_question
+ UNKNOWN -> {
+ if(preferences.areQuestionMarksEnabled()) R.string.fa_question
+ else R.string.fa_times
+ }
else -> R.string.fa_check
}
val label = resources.getString(id)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
index fd554d2c7..91747167e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
@@ -31,6 +31,7 @@ import org.isoron.uhabits.*;
import org.isoron.uhabits.activities.habits.list.views.*;
import org.isoron.uhabits.core.models.*;
import org.isoron.uhabits.activities.common.views.*;
+import org.isoron.uhabits.core.preferences.*;
import org.isoron.uhabits.utils.*;
import static org.isoron.androidbase.utils.InterfaceUtils.getDimension;
@@ -53,6 +54,8 @@ public class CheckmarkWidgetView extends HabitWidgetView {
protected boolean isNumerical;
+ private Preferences preferences;
+
public CheckmarkWidgetView(Context context)
{
super(context);
@@ -121,7 +124,12 @@ public class CheckmarkWidgetView extends HabitWidgetView {
case Checkmark.SKIP:
return getResources().getString(R.string.fa_skipped);
case Checkmark.UNKNOWN:
- return getResources().getString(R.string.fa_question);
+ {
+ if (preferences.areQuestionMarksEnabled())
+ return getResources().getString(R.string.fa_question);
+ else
+ getResources().getString(R.string.fa_times);
+ }
case Checkmark.NO:
default:
return getResources().getString(R.string.fa_times);
@@ -196,6 +204,10 @@ public class CheckmarkWidgetView extends HabitWidgetView {
private void init()
{
+ HabitsApplicationComponent appComponent;
+ appComponent = (HabitsApplicationComponent) getContext().getApplicationContext();
+ preferences = appComponent.getPreferences();
+
ring = (RingView) findViewById(R.id.scoreRing);
label = (TextView) findViewById(R.id.label);
diff --git a/android/uhabits-android/src/main/res/values/strings.xml b/android/uhabits-android/src/main/res/values/strings.xml
index 7f807dccd..3ed35315c 100644
--- a/android/uhabits-android/src/main/res/values/strings.xml
+++ b/android/uhabits-android/src/main/res/values/strings.xml
@@ -203,4 +203,6 @@
Decrement
Enable skip days
Toggle twice to add a skip instead of a checkmark. Skips keep your score unchanged and don\'t break your streak.
+ Show question marks for missing data
+ Differentiate days without data from actual lapses. To enter a lapse, toggle twice.
\ 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 7b0d75489..183447762 100644
--- a/android/uhabits-android/src/main/res/xml/preferences.xml
+++ b/android/uhabits-android/src/main/res/xml/preferences.xml
@@ -38,6 +38,13 @@
android:title="@string/pref_skip_title"
app:iconSpaceReserved="false" />
+
+