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