mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-07 17:48:52 -06:00
EntryList: remove getValues
This commit is contained in:
@@ -22,6 +22,7 @@ package org.isoron.uhabits.activities.common.views;
|
||||
import androidx.test.ext.junit.runners.*;
|
||||
import androidx.test.filters.*;
|
||||
|
||||
import org.apache.commons.lang3.*;
|
||||
import org.isoron.uhabits.*;
|
||||
import org.isoron.uhabits.core.models.*;
|
||||
import org.isoron.uhabits.core.ui.callbacks.*;
|
||||
@@ -56,9 +57,16 @@ public class HistoryChartTest extends BaseViewTest
|
||||
habit = fixtures.createLongHabit();
|
||||
today = new Timestamp(DateUtils.getStartOfToday());
|
||||
|
||||
Integer[] entries = habit
|
||||
.getComputedEntries()
|
||||
.getByInterval(today.minus(300), today)
|
||||
.stream()
|
||||
.map(Entry::getValue)
|
||||
.toArray(Integer[]::new);
|
||||
|
||||
chart = new HistoryChart(targetContext);
|
||||
chart.setSkipEnabled(true);
|
||||
chart.setEntries(habit.getComputedEntries().getAllValues());
|
||||
chart.setEntries(ArrayUtils.toPrimitive(entries));
|
||||
chart.setColor(PaletteUtilsKt.toFixedAndroidColor(habit.getColor()));
|
||||
measureView(chart, dpToPixels(400), dpToPixels(200));
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import org.isoron.uhabits.BaseViewTest
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.models.Timestamp
|
||||
import org.isoron.uhabits.core.utils.DateUtils
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -37,6 +38,7 @@ class HabitCardViewTest : BaseViewTest() {
|
||||
private lateinit var view: HabitCardView
|
||||
private lateinit var habit1: Habit
|
||||
private lateinit var habit2: Habit
|
||||
private lateinit var today: Timestamp
|
||||
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
@@ -44,11 +46,16 @@ class HabitCardViewTest : BaseViewTest() {
|
||||
|
||||
habit1 = fixtures.createLongHabit()
|
||||
habit2 = fixtures.createLongNumericalHabit()
|
||||
val today = DateUtils.getTodayWithOffset()
|
||||
today = DateUtils.getTodayWithOffset()
|
||||
|
||||
val entries = habit1
|
||||
.computedEntries
|
||||
.getByInterval(today.minus(300), today)
|
||||
.map { it.value }.toIntArray()
|
||||
|
||||
view = component.getHabitCardViewFactory().create().apply {
|
||||
habit = habit1
|
||||
values = habit1.computedEntries.getAllValues()
|
||||
values = entries
|
||||
score = habit1.scores.get(today).value
|
||||
isSelected = false
|
||||
buttonCount = 5
|
||||
@@ -73,9 +80,14 @@ class HabitCardViewTest : BaseViewTest() {
|
||||
|
||||
@Test
|
||||
fun testRender_numerical() {
|
||||
val entries = habit2
|
||||
.computedEntries
|
||||
.getByInterval(today.minus(300), today)
|
||||
.map { it.value }.toIntArray()
|
||||
|
||||
view.apply {
|
||||
habit = habit2
|
||||
values = habit2.computedEntries.getAllValues()
|
||||
values = entries
|
||||
}
|
||||
assertRenders(view, "$PATH/render_numerical.png")
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import android.util.*;
|
||||
|
||||
import org.isoron.uhabits.*;
|
||||
import org.isoron.uhabits.activities.common.views.*;
|
||||
import org.isoron.uhabits.activities.habits.show.views.*;
|
||||
import org.isoron.uhabits.core.commands.*;
|
||||
import org.isoron.uhabits.core.models.*;
|
||||
import org.isoron.uhabits.core.preferences.*;
|
||||
@@ -178,7 +179,12 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
|
||||
@Override
|
||||
public void doInBackground()
|
||||
{
|
||||
checkmarks = habit.getComputedEntries().getAllValues();
|
||||
HistoryCardViewModel model = new HistoryCardPresenter(
|
||||
habit,
|
||||
prefs.getFirstWeekday(),
|
||||
prefs.isSkipEnabled()
|
||||
).present();
|
||||
checkmarks = model.getEntries();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,6 +24,7 @@ import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.utils.DateUtils
|
||||
import org.isoron.uhabits.databinding.ShowHabitHistoryBinding
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
|
||||
@@ -63,11 +64,17 @@ class HistoryCardPresenter(
|
||||
val firstWeekday: Int,
|
||||
val isSkipEnabled: Boolean,
|
||||
) {
|
||||
fun present() = HistoryCardViewModel(
|
||||
entries = habit.computedEntries.getAllValues(),
|
||||
color = habit.color,
|
||||
firstWeekday = firstWeekday,
|
||||
isNumerical = habit.isNumerical,
|
||||
isSkipEnabled = isSkipEnabled,
|
||||
)
|
||||
fun present(): HistoryCardViewModel {
|
||||
val today = DateUtils.getTodayWithOffset()
|
||||
val oldest = habit.computedEntries.getKnown().lastOrNull()?.timestamp ?: today
|
||||
val entries = habit.computedEntries.getByInterval(oldest, today).map { it.value }.toIntArray()
|
||||
|
||||
return HistoryCardViewModel(
|
||||
entries = entries,
|
||||
color = habit.color,
|
||||
firstWeekday = firstWeekday,
|
||||
isNumerical = habit.isNumerical,
|
||||
isSkipEnabled = isSkipEnabled,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.app.PendingIntent
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import org.isoron.uhabits.activities.common.views.HistoryChart
|
||||
import org.isoron.uhabits.activities.habits.show.views.HistoryCardPresenter
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import org.isoron.uhabits.widgets.views.GraphWidgetView
|
||||
@@ -42,12 +43,17 @@ class HistoryWidget(
|
||||
val widgetView = view as GraphWidgetView
|
||||
widgetView.setBackgroundAlpha(preferedBackgroundAlpha)
|
||||
if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f)
|
||||
val model = HistoryCardPresenter(
|
||||
habit = habit,
|
||||
isSkipEnabled = prefs.isSkipEnabled,
|
||||
firstWeekday = prefs.firstWeekday,
|
||||
).present()
|
||||
(widgetView.dataView as HistoryChart).apply {
|
||||
setFirstWeekday(firstWeekday)
|
||||
setSkipEnabled(prefs.isSkipEnabled)
|
||||
setColor(habit.color.toThemedAndroidColor(context))
|
||||
setEntries(habit.computedEntries.getAllValues())
|
||||
setNumerical(habit.isNumerical)
|
||||
setFirstWeekday(model.firstWeekday)
|
||||
setSkipEnabled(model.isSkipEnabled)
|
||||
setColor(model.color.toThemedAndroidColor(context))
|
||||
setEntries(model.entries)
|
||||
setNumerical(model.isNumerical)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user