private int mStartPos;
private int mEndPos;
private int mDaysInMonth;

public void setBaseDate(Calendar cal)
{
mBaseDate = (Calendar) cal.clone();
Calendar lastDayInMonth = (Calendar) cal.clone();
lastDayInMonth.add(Calendar.MONTH, 1);
lastDayInMonth.add(Calendar.DATE, -1);
mDaysInMonth = lastDayInMonth.get(Calendar.DATE);

mStartPos = 7 + mBaseDate.get(Calendar.DAY_OF_WEEK) - Calendar.SUNDAY;
mEndPos = mStartPos
+ mDaysInMonth //
+ (int) ((mStartPos - 9 + mDaysInMonth) / 7)
-1;
}

달력 위치값 설정해주는 부분인데요;
mDaysInmonth 에 무슨값이 들어가는지 모르겠습니다;
그리고 mEndPos 를 왜 저런식으로 구하는지 알려주시면 감사합니다. ㅠ