From d8343105eca65b3d18d3e21467a57e1b4b2dd6c5 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Tue, 11 Nov 2014 04:40:05 -0500 Subject: [PATCH] Fixes timezone bug and arithmetic overflow --- src/org/isoron/uhabits/dialogs/ShowHabitsFragment.java | 4 ++-- src/org/isoron/uhabits/models/Habit.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/org/isoron/uhabits/dialogs/ShowHabitsFragment.java b/src/org/isoron/uhabits/dialogs/ShowHabitsFragment.java index 637dbb984..49bb5f798 100644 --- a/src/org/isoron/uhabits/dialogs/ShowHabitsFragment.java +++ b/src/org/isoron/uhabits/dialogs/ShowHabitsFragment.java @@ -231,8 +231,8 @@ public class ShowHabitsFragment extends Fragment implements OnSavedListener, OnI listView.setOnTouchListener(controller); listView.setDragEnabled(true); - GregorianCalendar day = new GregorianCalendar(); - day.setTimeInMillis(DateHelper.getLocalTime()); + GregorianCalendar day = new GregorianCalendar(TimeZone.getTimeZone("GMT")); + day.setTimeInMillis(DateHelper.getStartOfDay(DateHelper.getLocalTime())); for (int i = 0; i < button_count; i++) { diff --git a/src/org/isoron/uhabits/models/Habit.java b/src/org/isoron/uhabits/models/Habit.java index cf1fdfcfd..62c3a9ee9 100644 --- a/src/org/isoron/uhabits/models/Habit.java +++ b/src/org/isoron/uhabits/models/Habit.java @@ -9,6 +9,7 @@ import org.isoron.uhabits.R; import android.annotation.SuppressLint; import android.graphics.Color; +import android.util.Log; import com.activeandroid.Model; import com.activeandroid.annotation.Column; @@ -258,7 +259,7 @@ public class Habit extends Model public int[] getReps(long timeFrom, long timeTo) { - long timeFromExtended = timeFrom - freq_den * DateHelper.millisecondsInOneDay; + long timeFromExtended = timeFrom - (long)(freq_den) * DateHelper.millisecondsInOneDay; List reps = selectRepsFromTo(timeFromExtended, timeTo).execute(); int nDaysExtended = (int) ((timeTo - timeFromExtended) / DateHelper.millisecondsInOneDay);