Rename Checkmark to Entry

This commit is contained in:
2020-12-23 19:08:31 -06:00
parent a3cf2877b8
commit 71597ca89b
64 changed files with 452 additions and 471 deletions

View File

@@ -22,15 +22,15 @@ package org.isoron.uhabits;
import org.isoron.uhabits.core.models.*;
import org.isoron.uhabits.core.utils.DateUtils;
import static org.isoron.uhabits.core.models.Checkmark.*;
import static org.isoron.uhabits.core.models.Entry.*;
public class HabitFixtures
{
public boolean LONG_HABIT_CHECKS[] = {
public boolean LONG_HABIT_ENTRIES[] = {
true, false, false, true, true, true, false, false, true, true
};
public int LONG_NUMERICAL_HABIT_CHECKS[] = {
public int LONG_NUMERICAL_HABIT_ENTRIES[] = {
200000, 0, 150000, 137000, 0, 0, 500000, 30000, 100000, 0, 300000,
100000, 0, 100000
};
@@ -75,7 +75,7 @@ public class HabitFixtures
81, 83, 89, 90, 91, 95, 102, 103, 108, 109, 120};
for (int mark : marks)
habit.getOriginalCheckmarks().setValue(today.minus(mark), YES_MANUAL);
habit.getOriginalEntries().setValue(today.minus(mark), YES_MANUAL);
return habit;
}
@@ -109,7 +109,7 @@ public class HabitFixtures
582, 583, 584, 586, 589};
for (int mark : marks)
habit.getOriginalCheckmarks().setValue(today.minus(mark), YES_MANUAL);
habit.getOriginalEntries().setValue(today.minus(mark), YES_MANUAL);
return habit;
}
@@ -126,9 +126,9 @@ public class HabitFixtures
habitList.add(habit);
Timestamp timestamp = DateUtils.getToday();
for (int value : LONG_NUMERICAL_HABIT_CHECKS)
for (int value : LONG_NUMERICAL_HABIT_ENTRIES)
{
habit.getOriginalCheckmarks().setValue(timestamp, value);
habit.getOriginalEntries().setValue(timestamp, value);
timestamp = timestamp.minus(1);
}
@@ -144,9 +144,9 @@ public class HabitFixtures
habitList.add(habit);
Timestamp timestamp = DateUtils.getToday();
for (boolean c : LONG_HABIT_CHECKS)
for (boolean c : LONG_HABIT_ENTRIES)
{
if (c) habit.getOriginalCheckmarks().setValue(timestamp, YES_MANUAL);
if (c) habit.getOriginalEntries().setValue(timestamp, YES_MANUAL);
timestamp = timestamp.minus(1);
}

View File

@@ -42,7 +42,7 @@ class TestModule {
interface HabitsActivityTestComponent {
fun getCheckmarkPanelViewFactory(): CheckmarkPanelViewFactory
fun getHabitCardViewFactory(): HabitCardViewFactory
fun getCheckmarkButtonViewFactory(): CheckmarkButtonViewFactory
fun getEntryButtonViewFactory(): CheckmarkButtonViewFactory
fun getNumberButtonViewFactory(): NumberButtonViewFactory
fun getNumberPanelViewFactory(): NumberPanelViewFactory
}

View File

@@ -46,8 +46,8 @@ public class BarChartTest extends BaseViewTest
Habit habit = fixtures.createLongNumericalHabit();
view = new BarChart(targetContext);
Timestamp today = DateUtils.getToday();
CheckmarkList checkmarks = habit.getComputedCheckmarks();
view.setCheckmarks(checkmarks.getByInterval(today.minus(20), today));
CheckmarkList entries = habit.getComputedEntries();
view.setEntries(entries.getByInterval(today.minus(20), today));
view.setColor(PaletteUtilsKt.toThemedAndroidColor(habit.getColor(), targetContext));
view.setTarget(200.0);
measureView(view, dpToPixels(300), dpToPixels(200));

View File

@@ -46,7 +46,7 @@ public class FrequencyChartTest extends BaseViewTest
Habit habit = fixtures.createLongHabit();
view = new FrequencyChart(targetContext);
view.setFrequency(habit.getOriginalCheckmarks().getWeekdayFrequency());
view.setFrequency(habit.getOriginalEntries().getWeekdayFrequency());
view.setColor(PaletteUtilsKt.toFixedAndroidColor(habit.getColor()));
measureView(view, dpToPixels(300), dpToPixels(100));
}

View File

@@ -44,7 +44,7 @@ public class HistoryChartTest extends BaseViewTest
Timestamp today;
private OnToggleCheckmarkListener onToggleCheckmarkListener;
private OnToggleCheckmarkListener onToggleEntryListener;
@Override
@Before
@@ -58,12 +58,12 @@ public class HistoryChartTest extends BaseViewTest
chart = new HistoryChart(targetContext);
chart.setSkipEnabled(true);
chart.setCheckmarks(habit.getComputedCheckmarks().getAllValues());
chart.setEntries(habit.getComputedEntries().getAllValues());
chart.setColor(PaletteUtilsKt.toFixedAndroidColor(habit.getColor()));
measureView(chart, dpToPixels(400), dpToPixels(200));
onToggleCheckmarkListener = mock(OnToggleCheckmarkListener.class);
chart.setOnToggleCheckmarkListener(onToggleCheckmarkListener);
onToggleEntryListener = mock(OnToggleCheckmarkListener.class);
chart.setOnToggleCheckmarkListener(onToggleEntryListener);
}
@Test
@@ -73,7 +73,7 @@ public class HistoryChartTest extends BaseViewTest
chart.tap(dpToPixels(118), dpToPixels(13)); // header
chart.tap(dpToPixels(336), dpToPixels(60)); // tomorrow's square
chart.tap(dpToPixels(370), dpToPixels(60)); // right axis
verifyNoMoreInteractions(onToggleCheckmarkListener);
verifyNoMoreInteractions(onToggleEntryListener);
}
@Test
@@ -81,18 +81,18 @@ public class HistoryChartTest extends BaseViewTest
{
chart.setIsEditable(true);
chart.tap(dpToPixels(340), dpToPixels(40));
verify(onToggleCheckmarkListener).onToggleCheckmark(today, Checkmark.SKIP);
verifyNoMoreInteractions(onToggleCheckmarkListener);
verify(onToggleEntryListener).onToggleEntry(today, Entry.SKIP);
verifyNoMoreInteractions(onToggleEntryListener);
}
@Test
public void tapDate_withEmptyHabit()
{
chart.setIsEditable(true);
chart.setCheckmarks(new int[]{});
chart.setEntries(new int[]{});
chart.tap(dpToPixels(340), dpToPixels(40));
verify(onToggleCheckmarkListener).onToggleCheckmark(today, Checkmark.YES_MANUAL);
verifyNoMoreInteractions(onToggleCheckmarkListener);
verify(onToggleEntryListener).onToggleEntry(today, Entry.YES_MANUAL);
verifyNoMoreInteractions(onToggleEntryListener);
}
@Test
@@ -100,7 +100,7 @@ public class HistoryChartTest extends BaseViewTest
{
chart.setIsEditable(false);
chart.tap(dpToPixels(340), dpToPixels(40));
verifyNoMoreInteractions(onToggleCheckmarkListener);
verifyNoMoreInteractions(onToggleEntryListener);
}
@Test

View File

@@ -29,7 +29,7 @@ import org.junit.runner.*
@RunWith(AndroidJUnit4::class)
@MediumTest
class CheckmarkButtonViewTest : BaseViewTest() {
class EntryButtonViewTest : BaseViewTest() {
private val PATH = "habits/list/CheckmarkButtonView"
lateinit var view: CheckmarkButtonView
@@ -39,8 +39,8 @@ class CheckmarkButtonViewTest : BaseViewTest() {
@Before
override fun setUp() {
super.setUp()
view = component.getCheckmarkButtonViewFactory().create().apply {
value = Checkmark.NO
view = component.getEntryButtonViewFactory().create().apply {
value = Entry.NO
color = PaletteUtils.getAndroidTestColor(5)
onToggle = { toggled = true }
}
@@ -49,19 +49,19 @@ class CheckmarkButtonViewTest : BaseViewTest() {
@Test
fun testRender_explicitCheck() {
view.value = Checkmark.YES_MANUAL
view.value = Entry.YES_MANUAL
assertRendersCheckedExplicitly()
}
@Test
fun testRender_implicitCheck() {
view.value = Checkmark.YES_AUTO
view.value = Entry.YES_AUTO
assertRendersCheckedImplicitly()
}
@Test
fun testRender_unchecked() {
view.value = Checkmark.NO
view.value = Entry.NO
assertRendersUnchecked()
}

View File

@@ -25,16 +25,16 @@ import org.hamcrest.CoreMatchers.*
import org.hamcrest.MatcherAssert.*
import org.isoron.uhabits.*
import org.isoron.uhabits.core.models.*
import org.isoron.uhabits.core.models.Checkmark.Companion.NO
import org.isoron.uhabits.core.models.Checkmark.Companion.YES_AUTO
import org.isoron.uhabits.core.models.Checkmark.Companion.YES_MANUAL
import org.isoron.uhabits.core.models.Entry.Companion.NO
import org.isoron.uhabits.core.models.Entry.Companion.YES_AUTO
import org.isoron.uhabits.core.models.Entry.Companion.YES_MANUAL
import org.isoron.uhabits.utils.*
import org.junit.*
import org.junit.runner.*
@RunWith(AndroidJUnit4::class)
@MediumTest
class CheckmarkPanelViewTest : BaseViewTest() {
class EntryPanelViewTest : BaseViewTest() {
private val PATH = "habits/list/CheckmarkPanelView"
private lateinit var view: CheckmarkPanelView

View File

@@ -43,7 +43,7 @@ class HabitCardViewTest : BaseViewTest() {
habit2 = fixtures.createLongNumericalHabit()
view = component.getHabitCardViewFactory().create().apply {
habit = habit1
values = habit1.computedCheckmarks.allValues
values = habit1.computedEntries.allValues
score = habit1.scores.todayValue
isSelected = false
buttonCount = 5
@@ -70,7 +70,7 @@ class HabitCardViewTest : BaseViewTest() {
fun testRender_numerical() {
view.apply {
habit = habit2
values = habit2.computedCheckmarks.allValues
values = habit2.computedEntries.allValues
}
assertRenders(view, "$PATH/render_numerical.png")
}

View File

@@ -52,7 +52,7 @@ public class PerformanceTest extends BaseAndroidTest
for (int i = 0; i < 100000; i++)
{
habit.getScores().getTodayValue();
habit.getComputedCheckmarks().getTodayValue();
habit.getComputedEntries().getTodayValue();
}
}

View File

@@ -31,7 +31,7 @@ import org.junit.runner.*;
import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.*;
import static org.isoron.uhabits.core.models.Checkmark.*;
import static org.isoron.uhabits.core.models.Entry.*;
@RunWith(AndroidJUnit4.class)
@MediumTest
@@ -41,7 +41,7 @@ public class CheckmarkWidgetTest extends BaseViewTest
private Habit habit;
private CheckmarkList checkmarks;
private CheckmarkList entries;
private FrameLayout view;
@@ -54,11 +54,11 @@ public class CheckmarkWidgetTest extends BaseViewTest
prefs.setSkipEnabled(true);
habit = fixtures.createVeryLongHabit();
checkmarks = habit.getComputedCheckmarks();
entries = habit.getComputedEntries();
CheckmarkWidget widget = new CheckmarkWidget(targetContext, 0, habit);
view = convertToView(widget, 150, 200);
assertThat(checkmarks.getTodayValue(), equalTo(YES_MANUAL));
assertThat(entries.getTodayValue(), equalTo(YES_MANUAL));
}
@Test
@@ -71,11 +71,11 @@ public class CheckmarkWidgetTest extends BaseViewTest
// possible to capture intents sent to BroadcastReceivers.
button.performClick();
sleep(1000);
assertThat(checkmarks.getTodayValue(), equalTo(SKIP));
assertThat(entries.getTodayValue(), equalTo(SKIP));
button.performClick();
sleep(1000);
assertThat(checkmarks.getTodayValue(), equalTo(NO));
assertThat(entries.getTodayValue(), equalTo(NO));
}
@Test

View File

@@ -51,8 +51,8 @@ public class CheckmarkWidgetViewTest extends BaseViewTest
float percentage = (float) score;
view.setActiveColor(PaletteUtils.getAndroidTestColor(0));
view.setCheckmarkState(habit.getComputedCheckmarks().getTodayValue());
view.setCheckmarkValue(habit.getComputedCheckmarks().getTodayValue());
view.setEntryState(habit.getComputedEntries().getTodayValue());
view.setEntryValue(habit.getComputedEntries().getTodayValue());
view.setPercentage(percentage);
view.setName(habit.getName());
view.refresh();

View File

@@ -63,7 +63,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
this.onToggleCheckmarkListener = new OnToggleCheckmarkListener()
{
@Override
public void onToggleCheckmark(@NotNull Timestamp timestamp, int value)
public void onToggleEntry(@NotNull Timestamp timestamp, int value)
{
}
};
@@ -124,7 +124,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
@Override
public void onPause()
{
habit.getComputedCheckmarks().observable.removeListener(this);
habit.getComputedEntries().observable.removeListener(this);
super.onPause();
}
@@ -142,7 +142,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
getDialog().getWindow().setLayout(width, height);
refreshData();
habit.getComputedCheckmarks().observable.addListener(this);
habit.getComputedEntries().observable.addListener(this);
}
@Override
@@ -175,7 +175,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
@Override
public void doInBackground()
{
checkmarks = habit.getComputedCheckmarks().getAllValues();
checkmarks = habit.getComputedEntries().getAllValues();
}
@Override
@@ -186,7 +186,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
int color = PaletteUtilsKt.toThemedAndroidColor(habit.getColor(), getContext());
historyChart.setColor(color);
historyChart.setCheckmarks(checkmarks);
historyChart.setEntries(checkmarks);
historyChart.setNumerical(habit.isNumerical());
historyChart.setTarget(habit.getTargetValue() / habit.getFrequency().getDenominator());
}

View File

@@ -74,7 +74,7 @@ public class BarChart extends ScrollableChart
private int gridColor;
@Nullable
private List<Checkmark> checkmarks;
private List<Entry> entries;
private int bucketSize = 7;
@@ -115,17 +115,17 @@ public class BarChart extends ScrollableChart
public void populateWithRandomData()
{
Random random = new Random();
List<Checkmark> checkmarks = new LinkedList<>();
List<Entry> entries = new LinkedList<>();
Timestamp today = DateUtils.getToday();
for (int i = 1; i < 100; i++)
{
int value = random.nextInt(1000);
checkmarks.add(new Checkmark(today.minus(i), value));
entries.add(new Entry(today.minus(i), value));
}
setCheckmarks(checkmarks);
setEntries(entries);
setTarget(0.5);
}
@@ -135,13 +135,13 @@ public class BarChart extends ScrollableChart
postInvalidate();
}
public void setCheckmarks(@NonNull List<Checkmark> checkmarks)
public void setEntries(@NonNull List<Entry> entries)
{
this.checkmarks = checkmarks;
this.entries = entries;
maxValue = 1.0;
for (Checkmark c : checkmarks)
maxValue = Math.max(maxValue, c.getValue());
for (Entry e : entries)
maxValue = Math.max(maxValue, e.getValue());
maxValue = Math.ceil(maxValue / 1000 * 1.05) * 1000;
postInvalidate();
@@ -186,7 +186,7 @@ public class BarChart extends ScrollableChart
activeCanvas = canvas;
}
if (checkmarks == null) return;
if (entries == null) return;
rect.set(0, 0, nColumns * columnWidth, columnHeight);
rect.offset(0, paddingTop);
@@ -204,10 +204,10 @@ public class BarChart extends ScrollableChart
for (int k = 0; k < nColumns; k++)
{
int offset = nColumns - k - 1 + getDataOffset();
if (offset >= checkmarks.size()) continue;
if (offset >= entries.size()) continue;
double value = checkmarks.get(offset).getValue();
Timestamp timestamp = checkmarks.get(offset).getTimestamp();
double value = entries.get(offset).getValue();
Timestamp timestamp = entries.get(offset).getTimestamp();
int height = (int) (columnHeight * value / maxValue);
rect.set(0, 0, baseSize, height);

View File

@@ -40,7 +40,7 @@ import java.text.*;
import java.util.*;
import static org.isoron.uhabits.utils.InterfaceUtils.*;
import static org.isoron.uhabits.core.models.Checkmark.*;
import static org.isoron.uhabits.core.models.Entry.*;
public class HistoryChart extends ScrollableChart
{
@@ -158,12 +158,12 @@ public class HistoryChart extends ScrollableChart
if (offset < checkmarks.length)
{
if(skipsEnabled)
newValue = Checkmark.Companion.nextToggleValueWithSkip(checkmarks[offset]);
newValue = Entry.Companion.nextToggleValueWithSkip(checkmarks[offset]);
else
newValue = Checkmark.Companion.nextToggleValueWithoutSkip(checkmarks[offset]);
newValue = Entry.Companion.nextToggleValueWithoutSkip(checkmarks[offset]);
}
onToggleCheckmarkListener.onToggleCheckmark(timestamp, newValue);
onToggleCheckmarkListener.onToggleEntry(timestamp, newValue);
postInvalidate();
return true;
@@ -187,7 +187,7 @@ public class HistoryChart extends ScrollableChart
}
}
public void setCheckmarks(int[] checkmarks)
public void setEntries(int[] checkmarks)
{
this.checkmarks = checkmarks;
postInvalidate();
@@ -454,7 +454,7 @@ public class HistoryChart extends ScrollableChart
onToggleCheckmarkListener = new OnToggleCheckmarkListener()
{
@Override
public void onToggleCheckmark(@NotNull Timestamp timestamp, int value)
public void onToggleEntry(@NotNull Timestamp timestamp, int value)
{
}
};

View File

@@ -27,10 +27,10 @@ import android.view.View.MeasureSpec.*
import com.google.auto.factory.*
import org.isoron.uhabits.*
import org.isoron.uhabits.core.models.*
import org.isoron.uhabits.core.models.Checkmark.Companion.NO
import org.isoron.uhabits.core.models.Checkmark.Companion.SKIP
import org.isoron.uhabits.core.models.Checkmark.Companion.UNKNOWN
import org.isoron.uhabits.core.models.Checkmark.Companion.YES_MANUAL
import org.isoron.uhabits.core.models.Entry.Companion.NO
import org.isoron.uhabits.core.models.Entry.Companion.SKIP
import org.isoron.uhabits.core.models.Entry.Companion.UNKNOWN
import org.isoron.uhabits.core.models.Entry.Companion.YES_MANUAL
import org.isoron.uhabits.core.preferences.*
import org.isoron.uhabits.inject.*
import org.isoron.uhabits.utils.*
@@ -66,9 +66,9 @@ class CheckmarkButtonView(
fun performToggle() {
value = if(preferences.isSkipEnabled) {
Checkmark.nextToggleValueWithSkip(value)
Entry.nextToggleValueWithSkip(value)
} else {
Checkmark.nextToggleValueWithoutSkip(value)
Entry.nextToggleValueWithoutSkip(value)
}
onToggle(value)
performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)

View File

@@ -22,7 +22,7 @@ package org.isoron.uhabits.activities.habits.list.views
import android.content.*
import com.google.auto.factory.*
import org.isoron.uhabits.core.models.*
import org.isoron.uhabits.core.models.Checkmark.Companion.UNKNOWN
import org.isoron.uhabits.core.models.Entry.Companion.UNKNOWN
import org.isoron.uhabits.core.preferences.*
import org.isoron.uhabits.core.utils.*
import org.isoron.uhabits.inject.*

View File

@@ -28,7 +28,7 @@ import org.isoron.uhabits.databinding.*
import org.isoron.uhabits.utils.*
data class BarCardViewModel(
val checkmarks: List<Checkmark>,
val entries: List<Entry>,
val bucketSize: Int,
val color: PaletteColor,
val isNumerical: Boolean,
@@ -44,7 +44,7 @@ class BarCard(context: Context, attrs: AttributeSet) : LinearLayout(context, att
var onBoolSpinnerPosition: (position: Int) -> Unit = {}
fun update(data: BarCardViewModel) {
binding.barChart.setCheckmarks(data.checkmarks)
binding.barChart.setEntries(data.entries)
binding.barChart.setBucketSize(data.bucketSize)
val androidColor = data.color.toThemedAndroidColor(context)
binding.title.setTextColor(androidColor)
@@ -95,13 +95,13 @@ class BarCardPresenter(
} else {
boolBucketSizes[boolSpinnerPosition]
}
val checkmarks = if (bucketSize == 1) {
habit.computedCheckmarks.all
val entries = if (bucketSize == 1) {
habit.computedEntries.all
} else {
habit.computedCheckmarks.groupBy(getTruncateField(bucketSize), firstWeekday)
habit.computedEntries.groupBy(getTruncateField(bucketSize), firstWeekday)
}
return BarCardViewModel(
checkmarks = checkmarks,
entries = entries,
bucketSize = bucketSize,
color = habit.color,
isNumerical = habit.isNumerical,

View File

@@ -52,7 +52,7 @@ class FrequencyCardPresenter(
) {
fun present() = FrequencyCardViewModel(
color = habit.color,
frequency = habit.originalCheckmarks.weekdayFrequency,
frequency = habit.originalEntries.weekdayFrequency,
firstWeekday = firstWeekday,
)
}

View File

@@ -27,7 +27,7 @@ import org.isoron.uhabits.databinding.*
import org.isoron.uhabits.utils.*
data class HistoryCardViewModel(
val checkmarks: IntArray,
val entries: IntArray,
val color: PaletteColor,
val firstWeekday: Int,
val isNumerical: Boolean,
@@ -48,7 +48,7 @@ class HistoryCard(context: Context, attrs: AttributeSet) : LinearLayout(context,
fun update(data: HistoryCardViewModel) {
binding.historyChart.setFirstWeekday(data.firstWeekday)
binding.historyChart.setSkipEnabled(data.isSkipEnabled)
binding.historyChart.setCheckmarks(data.checkmarks)
binding.historyChart.setEntries(data.entries)
val androidColor = data.color.toThemedAndroidColor(context)
binding.title.setTextColor(androidColor)
binding.historyChart.setColor(androidColor)
@@ -66,7 +66,7 @@ class HistoryCardPresenter(
val isSkipEnabled: Boolean,
) {
fun present() = HistoryCardViewModel(
checkmarks = habit.computedCheckmarks.allValues,
entries = habit.computedEntries.allValues,
color = habit.color,
firstWeekday = firstWeekday,
isNumerical = habit.isNumerical,

View File

@@ -79,7 +79,7 @@ class OverviewCardPresenter(val habit: Habit) {
scoreToday = scoreToday,
scoreMonthDiff = scoreToday - scoreLastMonth,
scoreYearDiff = scoreToday - scoreLastYear,
totalCount = habit.originalCheckmarks.totalCount,
totalCount = habit.originalEntries.totalCount,
)
}
}

View File

@@ -57,12 +57,12 @@ class TargetCardPresenter(
val resources: Resources,
) {
suspend fun present(): TargetCardViewModel = Dispatchers.IO {
val checkmarks = habit.computedCheckmarks
val valueToday = checkmarks.todayValue / 1e3
val valueThisWeek = checkmarks.getThisWeekValue(firstWeekday) / 1e3
val valueThisMonth = checkmarks.thisMonthValue / 1e3
val valueThisQuarter = checkmarks.thisQuarterValue / 1e3
val valueThisYear = checkmarks.thisYearValue / 1e3
val entries = habit.computedEntries
val valueToday = entries.todayValue / 1e3
val valueThisWeek = entries.getThisWeekValue(firstWeekday) / 1e3
val valueThisMonth = entries.thisMonthValue / 1e3
val valueThisQuarter = entries.thisQuarterValue / 1e3
val valueThisYear = entries.thisYearValue / 1e3
val cal = DateUtils.getStartOfTodayCalendarWithOffset()
val daysInMonth = cal.getActualMaximum(Calendar.DAY_OF_MONTH)

View File

@@ -46,12 +46,12 @@ open class CheckmarkWidget(
setActiveColor(habit.color.toThemedAndroidColor(context))
setName(habit.name)
setCheckmarkValue(habit.computedCheckmarks.todayValue)
setEntryValue(habit.computedEntries.todayValue)
if (habit.isNumerical) {
setNumerical(true)
setCheckmarkState(getNumericalCheckmarkState())
setEntryState(getNumericalEntryState())
} else {
setCheckmarkState(habit.computedCheckmarks.todayValue)
setEntryState(habit.computedEntries.todayValue)
}
setPercentage(habit.scores.todayValue.toFloat())
refresh()
@@ -65,11 +65,11 @@ open class CheckmarkWidget(
override fun getDefaultHeight() = 125
override fun getDefaultWidth() = 125
private fun getNumericalCheckmarkState(): Int {
private fun getNumericalEntryState(): Int {
return if (habit.isCompletedToday) {
Checkmark.YES_MANUAL
Entry.YES_MANUAL
} else {
Checkmark.NO
Entry.NO
}
}

View File

@@ -44,7 +44,7 @@ class FrequencyWidget(
(widgetView.dataView as FrequencyChart).apply {
setFirstWeekday(firstWeekday)
setColor(habit.color.toThemedAndroidColor(context))
setFrequency(habit.originalCheckmarks.weekdayFrequency)
setFrequency(habit.originalEntries.weekdayFrequency)
}
}

View File

@@ -46,7 +46,7 @@ class HistoryWidget(
setFirstWeekday(firstWeekday)
setSkipEnabled(prefs.isSkipEnabled)
setColor(habit.color.toThemedAndroidColor(context))
setCheckmarks(habit.computedCheckmarks.allValues)
setEntries(habit.computedEntries.allValues)
setNumerical(habit.isNumerical)
setTarget(habit.targetValue / habit.frequency.denominator)
}

View File

@@ -71,7 +71,7 @@ class NumericalCheckmarkWidgetActivity : Activity(), ListHabitsBehavior.NumberPi
val app = this.applicationContext as HabitsApplication
AndroidThemeSwitcher(this, app.component.preferences).apply()
val numberPickerFactory = NumberPickerFactory(context)
numberPickerFactory.create(data.habit.computedCheckmarks.today!!.value.toDouble() / 1000,
numberPickerFactory.create(data.habit.computedEntries.today!!.value.toDouble() / 1000,
data.habit.unit,
this).show()
}

View File

@@ -48,9 +48,9 @@ public class CheckmarkWidgetView extends HabitWidgetView {
protected TextView label;
protected int checkmarkValue;
protected int entryValue;
protected int checkmarkState;
protected int entryState;
protected boolean isNumerical;
@@ -77,9 +77,9 @@ public class CheckmarkWidgetView extends HabitWidgetView {
int bgColor;
int fgColor;
switch (checkmarkState) {
case Checkmark.YES_MANUAL:
case Checkmark.SKIP:
switch (entryState) {
case Entry.YES_MANUAL:
case Entry.SKIP:
bgColor = activeColor;
fgColor = res.getColor(R.attr.highContrastReverseTextColor);
setShadowAlpha(0x4f);
@@ -87,9 +87,9 @@ public class CheckmarkWidgetView extends HabitWidgetView {
frame.setBackgroundDrawable(background);
break;
case Checkmark.YES_AUTO:
case Checkmark.NO:
case Checkmark.UNKNOWN:
case Entry.YES_AUTO:
case Entry.NO:
case Entry.UNKNOWN:
default:
bgColor = res.getColor(R.attr.cardBgColor);
fgColor = res.getColor(R.attr.mediumContrastTextColor);
@@ -109,28 +109,28 @@ public class CheckmarkWidgetView extends HabitWidgetView {
postInvalidate();
}
public void setCheckmarkState(int checkmarkState)
public void setEntryState(int entryState)
{
this.checkmarkState = checkmarkState;
this.entryState = entryState;
}
protected String getText()
{
if (isNumerical) return NumberButtonViewKt.toShortString(checkmarkValue / 1000.0);
switch (checkmarkState) {
case Checkmark.YES_MANUAL:
case Checkmark.YES_AUTO:
if (isNumerical) return NumberButtonViewKt.toShortString(entryValue / 1000.0);
switch (entryState) {
case Entry.YES_MANUAL:
case Entry.YES_AUTO:
return getResources().getString(R.string.fa_check);
case Checkmark.SKIP:
case Entry.SKIP:
return getResources().getString(R.string.fa_skipped);
case Checkmark.UNKNOWN:
case Entry.UNKNOWN:
{
if (preferences.areQuestionMarksEnabled())
return getResources().getString(R.string.fa_question);
else
getResources().getString(R.string.fa_times);
}
case Checkmark.NO:
case Entry.NO:
default:
return getResources().getString(R.string.fa_times);
}
@@ -141,9 +141,9 @@ public class CheckmarkWidgetView extends HabitWidgetView {
this.activeColor = activeColor;
}
public void setCheckmarkValue(int checkmarkValue)
public void setEntryValue(int entryValue)
{
this.checkmarkValue = checkmarkValue;
this.entryValue = entryValue;
}
public void setName(@NonNull String name)
@@ -218,7 +218,7 @@ public class CheckmarkWidgetView extends HabitWidgetView {
percentage = 0.75f;
name = "Wake up early";
activeColor = PaletteUtils.getAndroidTestColor(6);
checkmarkValue = Checkmark.YES_MANUAL;
entryValue = Entry.YES_MANUAL;
refresh();
}
}