Skip to content

Commit c12bb67

Browse files
committed
calculateAlarmTime
fixes bug "incorrect alarm times when using hours begin at sunset (24)" (#28)
1 parent 2fcb895 commit c12bb67

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

app/src/main/java/com/forrestguice/suntimes/naturalhour/data/NaturalHourProvider.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,12 @@ public static long calculateAlarmTime(@NonNull Context context, @Nullable String
476476
Calendar day = Calendar.getInstance();
477477
NaturalHourData data = new NaturalHourData(day.getTimeInMillis(), latitude, longitude, altitude);
478478
calculator.calculateData(resolver, data, false, false);
479-
eventTime = data.getNaturalHour(hour[1], momentRatio);
479+
480+
int i = hour[1];
481+
int j = (hour[0] != NaturalHourClockBitmap.HOURMODE_SUNSET) ? i
482+
: (i >= 12) ? i - 12 : i + 12;
483+
484+
eventTime = data.getNaturalHour(j, momentRatio);
480485
if (eventTime != null)
481486
{
482487
eventTime.set(Calendar.SECOND, 0);
@@ -498,7 +503,7 @@ public static long calculateAlarmTime(@NonNull Context context, @Nullable String
498503
day.add(Calendar.DAY_OF_YEAR, 1);
499504
data = new NaturalHourData(day.getTimeInMillis(), latitude, longitude, altitude);
500505
calculator.calculateData(resolver, data, false, false);
501-
eventTime = data.getNaturalHour(hour[1], momentRatio);
506+
eventTime = data.getNaturalHour(j, momentRatio);
502507
if (eventTime != null)
503508
{
504509
eventTime.set(Calendar.SECOND, 0);

0 commit comments

Comments
 (0)