Skip to content

Commit 9b73ac7

Browse files
author
Jesse Hoobergs
committed
Improved Efficiency of checking whether there is an AllDay event in the visible period or not
1 parent 1399bc3 commit 9b73ac7

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

library/src/main/java/com/alamkanak/weekview/WeekView.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ private void drawHeaderRowAndEvents(Canvas canvas) {
517517
mHeaderColumnWidth = mTimeTextWidth + mHeaderColumnPadding *2;
518518
mWidthPerDay = getWidth() - mHeaderColumnWidth - mColumnGap * (mNumberOfVisibleDays - 1);
519519
mWidthPerDay = mWidthPerDay/mNumberOfVisibleDays;
520-
int maxAmountOfAllDayEventsInOneDay = 0;
520+
boolean containsAllDayEvent = false;
521521
if (mEventRects != null && mEventRects.size() > 0) {
522522
for (int dayNumber = 0;
523523
dayNumber < mNumberOfVisibleDays;
@@ -528,13 +528,21 @@ private void drawHeaderRowAndEvents(Canvas canvas) {
528528
for (int i = 0; i < mEventRects.size(); i++) {
529529

530530
if (isSameDay(mEventRects.get(i).event.getStartTime(), day) && mEventRects.get(i).event.isAllDay()) {
531-
amountOfAllDayEvents++;
531+
containsAllDayEvent = true;
532+
break;
532533
}
533534
}
534-
maxAmountOfAllDayEventsInOneDay = Math.max(maxAmountOfAllDayEventsInOneDay, amountOfAllDayEvents);
535+
if(containsAllDayEvent){
536+
break;
537+
}
535538
}
536539
}
537-
mHeaderHeight = mHeaderTextHeight + (mAllDayEventHeight + mHeaderMarginBottom) * Math.min(1, maxAmountOfAllDayEventsInOneDay);
540+
if(containsAllDayEvent) {
541+
mHeaderHeight = mHeaderTextHeight + (mAllDayEventHeight + mHeaderMarginBottom);
542+
}
543+
else{
544+
mHeaderHeight = mHeaderTextHeight;
545+
}
538546
Calendar today = today();
539547

540548
if (mAreDimensionsInvalid) {

0 commit comments

Comments
 (0)