mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-03-03 10:57:41 +01:00
prefill the months screen as soon as possible, even if without events
This commit is contained in:
parent
ead01b5926
commit
c77b7e885f
@ -24,6 +24,7 @@ public class CalendarImpl implements DBHelper.DBOperationsListener {
|
||||
mCallback = callback;
|
||||
mContext = context;
|
||||
mToday = new DateTime().toString(Formatter.DAYCODE_PATTERN);
|
||||
mEvents = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void updateCalendar(DateTime targetDate) {
|
||||
@ -33,6 +34,10 @@ public class CalendarImpl implements DBHelper.DBOperationsListener {
|
||||
new DBHelper(mContext, this).getEvents(startTS, endTS);
|
||||
}
|
||||
|
||||
public void setTargetDate(DateTime dateTime) {
|
||||
mTargetDate = dateTime;
|
||||
}
|
||||
|
||||
public void getPrevMonth() {
|
||||
updateCalendar(mTargetDate.minusMonths(1));
|
||||
}
|
||||
@ -41,7 +46,7 @@ public class CalendarImpl implements DBHelper.DBOperationsListener {
|
||||
updateCalendar(mTargetDate.plusMonths(1));
|
||||
}
|
||||
|
||||
private void getDays() {
|
||||
public void getDays() {
|
||||
final List<Day> days = new ArrayList<>(DAYS_CNT);
|
||||
|
||||
final int currMonthDays = mTargetDate.dayOfMonth().getMaximumValue();
|
||||
|
@ -29,12 +29,12 @@ class MonthFragment : Fragment(), Calendar {
|
||||
private var mSundayFirst: Boolean = false
|
||||
private var mDayCode: String = ""
|
||||
|
||||
private var mCalendar: CalendarImpl? = null
|
||||
private var mListener: NavigationListener? = null
|
||||
|
||||
lateinit var mRes: Resources
|
||||
lateinit var mHolder: RelativeLayout
|
||||
lateinit var mConfig: Config
|
||||
lateinit var mCalendar: CalendarImpl
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||
val view = inflater!!.inflate(R.layout.month_fragment, container, false)
|
||||
@ -51,22 +51,23 @@ class MonthFragment : Fragment(), Calendar {
|
||||
mDayTextSize = mRes.getDimension(R.dimen.day_text_size) / mRes.displayMetrics.density
|
||||
mTodayTextSize = mRes.getDimension(R.dimen.today_text_size) / mRes.displayMetrics.density
|
||||
setupLabels()
|
||||
mCalendar = CalendarImpl(this, context)
|
||||
|
||||
return view
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
mCalendar = CalendarImpl(this, context)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (mConfig.isSundayFirst != mSundayFirst) {
|
||||
mSundayFirst = mConfig.isSundayFirst
|
||||
setupLabels()
|
||||
}
|
||||
mCalendar!!.updateCalendar(Formatter.getDateTimeFromCode(mDayCode))
|
||||
|
||||
mCalendar.apply {
|
||||
targetDate = Formatter.getDateTimeFromCode(mDayCode)
|
||||
getDays() // prefill the screen asap, even if without events
|
||||
updateCalendar(Formatter.getDateTimeFromCode(mDayCode))
|
||||
}
|
||||
}
|
||||
|
||||
override fun updateCalendar(month: String, days: List<Day>) {
|
||||
@ -112,7 +113,7 @@ class MonthFragment : Fragment(), Calendar {
|
||||
val datePicker = view.findViewById(R.id.date_picker) as DatePicker
|
||||
hideDayPicker(datePicker)
|
||||
|
||||
val dateTime = DateTime(mCalendar!!.targetDate.toString())
|
||||
val dateTime = DateTime(mCalendar.targetDate.toString())
|
||||
datePicker.init(dateTime.year, dateTime.monthOfYear - 1, 1, null)
|
||||
|
||||
alertDialog.apply {
|
||||
|
Loading…
x
Reference in New Issue
Block a user