Closed Frozen-Burrito closed 2 years ago
Otro problema relacionado a los cambios introducidos para el progreso de metas es en la gráfica de hidratación por día. Los totales incluyen el día de hoy, por lo que. aunque el último registro sea del día de ayer, será mostrado en la gráfica como si fuera de hoy.
Cuando la app inicia, los progresos de las metas siempre son 0. Al navegar a una nueva vista, los valores obtenidos por GoalSliverList
son actualizados con las sumas totales.
Output en consola como ejemplo:
I/flutter (27285): Progress towards goals: [0, 0, 0]
I/flutter (27285): Progress towards goals: [0, 0, 0]
I/flutter (27285): Progress towards goals: [0, 0, 0]
I/flutter (27285): Progress towards goals: [1839, 1581, 1938] // <-- Aquí se navegó a la página de ajustes.
I/flutter (27285): Progress towards goals: [1839, 1581, 1938] // <-- Son mostrados cuando se cambia de tab en la vista principal.
I/flutter (27285): Progress towards goals: [1839, 1581, 1938]
Probablemente no hay sincronización adecuada entre HydrationRecordProvider
y GoalProvider
. (Se necesitan las metas Y los registros de hidratación para obtener el progreso)
Los totales tampoco son correctos y tienen fechas incongruentes.
Todos los problemas solucionados:
int daysOfRecords = max(diffBetweenDates.inDays, goal.term.inDays);
siempre resultaba en el valor mayor ( si diffBetweenDates
era 8 y la meta era diaria con goal.term.inDays == 1
, se obtenían registros de 8 días en vez de solo 1. Esto fue arreglado usando min()
en vez de max()
.
Problema
El indicador de progreso lineal de todas las metas esta completado al 100% (su valor es 1.0). Es raro, dados los totales de los registros de hidratación de días pasados y los periodos de las metas.
Tareas
getGoalsProgressValuesInMl()
y_totalsFromPrevDaysInMl()
en el debugger.