mark tasks at the weekly view too

This commit is contained in:
tibbi 2022-02-26 23:04:32 +01:00
parent daf7f8cd70
commit 26c0a55d19
2 changed files with 58 additions and 19 deletions

View File

@ -14,6 +14,7 @@ import android.widget.ImageView
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.collection.LongSparseArray
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.fragment.app.Fragment
import com.simplemobiletools.calendar.pro.R
import com.simplemobiletools.calendar.pro.extensions.*
@ -31,6 +32,7 @@ import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.commons.views.MyTextView
import kotlinx.android.synthetic.main.fragment_week.*
import kotlinx.android.synthetic.main.fragment_week.view.*
import kotlinx.android.synthetic.main.week_event_marker.view.*
import org.joda.time.DateTime
import org.joda.time.Days
import java.util.*
@ -534,7 +536,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
}
val dayColumn = dayColumns[dayOfWeek]
(inflater.inflate(R.layout.week_event_marker, null, false) as TextView).apply {
(inflater.inflate(R.layout.week_event_marker, null, false) as ConstraintLayout).apply {
var backgroundColor = eventTypeColors.get(event.eventType, primaryColor)
var textColor = backgroundColor.getContrastColor()
val currentEventWeeklyView = eventTimeRanges[currentDayCode]!!.get(event.id)
@ -544,12 +546,28 @@ class WeekFragment : Fragment(), WeeklyCalendar {
}
background = ColorDrawable(backgroundColor)
dayColumn.addView(this)
y = currentEventWeeklyView!!.range.lower * minuteHeight
week_event_task_image.beVisibleIf(event.isTask())
if (event.isTask()) {
week_event_task_image.applyColorFilter(textColor)
}
week_event_label.apply {
setTextColor(textColor)
maxLines = if (event.isTask()) 1 else 3
text = event.title
checkViewStrikeThrough(event.isTaskCompleted())
contentDescription = text
dayColumn.addView(this)
y = currentEventWeeklyView!!.range.lower * minuteHeight
minHeight = if (event.startTS == event.endTS) {
minimalHeight
} else {
((currentEventWeeklyView.range.upper - currentEventWeeklyView.range.lower) * minuteHeight).toInt() - 1
}
}
(layoutParams as RelativeLayout.LayoutParams).apply {
width = (dayColumn.width - 1) / currentEventWeeklyView.slot_max
x = (width * (currentEventWeeklyView.slot - 1)).toFloat()
@ -557,12 +575,6 @@ class WeekFragment : Fragment(), WeeklyCalendar {
x += density
width -= density
}
minHeight = if (event.startTS == event.endTS) {
minimalHeight
} else {
((currentEventWeeklyView.range.upper - currentEventWeeklyView.range.lower) * minuteHeight).toInt() - 1
}
}
setOnClickListener {

View File

@ -1,10 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/week_event_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/week_event_task_image"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:adjustViewBounds="true"
android:paddingStart="@dimen/one_dp"
android:paddingTop="@dimen/one_dp"
android:paddingBottom="@dimen/one_dp"
android:scaleType="fitStart"
android:src="@drawable/ic_task_vector"
app:layout_constraintBottom_toBottomOf="@+id/week_event_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/week_event_label" />
<TextView
android:id="@+id/week_event_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="3"
android:paddingStart="@dimen/tiny_margin"
android:paddingEnd="@dimen/tiny_margin"
android:textColor="@android:color/white"
android:textSize="@dimen/small_text_size" />
android:textSize="@dimen/small_text_size"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/week_event_task_image"
app:layout_constraintTop_toTopOf="parent"
tools:text="My event" />
</androidx.constraintlayout.widget.ConstraintLayout>