@ -1,6 +1,10 @@
@@ -1,6 +1,10 @@
package cc.niushuai.dididone.ui.calendar ;
import android.app.Instrumentation ;
import android.content.Context ;
import android.graphics.Canvas ;
import android.graphics.RectF ;
import android.graphics.drawable.Drawable ;
import android.os.Bundle ;
import android.util.Log ;
import android.view.Gravity ;
@ -18,22 +22,23 @@ import androidx.lifecycle.ViewModelProvider;
@@ -18,22 +22,23 @@ import androidx.lifecycle.ViewModelProvider;
import com.github.clans.fab.FloatingActionButton ;
import com.github.clans.fab.FloatingActionMenu ;
import com.lxj.xpopup.XPopup ;
import com.lxj.xpopup.interfaces.OnSelectListener ;
import com.mikepenz.community_material_typeface_library.CommunityMaterial ;
import com.mikepenz.iconics.IconicsDrawable ;
import com.mikepenz.iconics.view.IconicsImageView ;
import com.necer.calendar.BaseCalendar ;
import com.necer.entity.Lunar ;
import com.necer.enumeration.DateChangeBehavior ;
import com.necer.listener.OnCalendarChangedListener ;
import com.necer.painter.CalendarPainter ;
import com.necer.painter.InnerPainter ;
import com.necer.utils.CalendarUtil ;
import org.joda.time.LocalDate ;
import org.reactivestreams.Subscription ;
import java.util.Collection ;
import java.lang.reflect.Method ;
import java.lang.reflect.Proxy ;
import java.util.List ;
import java.util.stream.Collectors ;
import cc.niushuai.dididone.R ;
import cc.niushuai.dididone.biz.BizGlobal ;
@ -48,7 +53,6 @@ import cc.niushuai.dididone.util.XLog;
@@ -48,7 +53,6 @@ import cc.niushuai.dididone.util.XLog;
import cn.hutool.core.date.DatePattern ;
import cn.hutool.core.date.DateTime ;
import cn.hutool.core.date.DateUtil ;
import cn.hutool.core.thread.ThreadUtil ;
import cn.hutool.core.util.StrUtil ;
import io.reactivex.Completable ;
import io.reactivex.CompletableObserver ;
@ -62,6 +66,7 @@ public class CalendarFragment extends Fragment {
@@ -62,6 +66,7 @@ public class CalendarFragment extends Fragment {
private FragmentCalendarBinding binding ;
// 默认当天
private String lastDate ;
// private List<Project> floatingActionProjectList;
@ -81,7 +86,7 @@ public class CalendarFragment extends Fragment {
@@ -81,7 +86,7 @@ public class CalendarFragment extends Fragment {
}
private void init ( ) {
// initPointList();
initPointList ( ) ;
// 构建弹出框内容
// fetchNewestActionButtonData();
@ -89,9 +94,32 @@ public class CalendarFragment extends Fragment {
@@ -89,9 +94,32 @@ public class CalendarFragment extends Fragment {
// check entry
}
private void initPointList ( List < String > pointList ) {
InnerPainter painter = ( InnerPainter ) binding . miui10Calendar . getCalendarPainter ( ) ;
painter . addPointList ( pointList ) ;
private void initPointList ( ) {
// 获取当前月视图中存在record的日期
DateTime currMonth ;
if ( null = = lastDate ) {
currMonth = DateUtil . date ( ) ;
} else {
currMonth = DateUtil . parseDate ( lastDate ) ;
}
long startTime = DateUtil . beginOfMonth ( currMonth ) . getTime ( ) ;
long endTime = DateUtil . endOfMonth ( currMonth ) . getTime ( ) ;
Flowable < List < Record > > listFlowable = DBManager . INSTANCE . recordDao ( ) . queryPointByDate ( startTime , endTime ) ;
listFlowable . subscribeOn ( Schedulers . io ( ) )
. observeOn ( AndroidSchedulers . mainThread ( ) )
. subscribe ( recordList - > {
List < String > checkDateList = recordList . stream ( )
. map ( Record : : getCheckDate )
. map ( item - > DateUtil . date ( item ) . toDateStr ( ) )
. collect ( Collectors . toList ( ) ) ;
InnerPainter painter = ( InnerPainter ) binding . miui10Calendar . getCalendarPainter ( ) ;
painter . setPointList ( checkDateList ) ;
} ) ;
}
private void setListeners ( ) {