Started implementation of event update sheet

This commit is contained in:
denizk0461
2023-04-24 15:43:42 +02:00
parent a53232a814
commit 9b6e267cb0
24 changed files with 410 additions and 53 deletions
@@ -10,6 +10,8 @@ import com.denizk0461.studip.adapter.StudIPEventItemAdapter
import com.denizk0461.studip.adapter.StudIPEventPageAdapter
import com.denizk0461.studip.databinding.FragmentEventBinding
import com.denizk0461.studip.model.StudIPEvent
import com.denizk0461.studip.sheet.ScheduleUpdateSheet
import com.denizk0461.studip.sheet.TextSheet
import com.denizk0461.studip.viewmodel.EventViewModel
import com.google.android.material.tabs.TabLayoutMediator
import java.util.*
@@ -73,8 +75,13 @@ class EventFragment : AppFragment() {
// TODO implement functionality or delete
}
override fun onLongClick(event: StudIPEvent): Boolean {
// TODO implement functionality or delete
return false
// Open a bottom sheet to edit the event
openBottomSheet(ScheduleUpdateSheet(event, onUpdate = { eventToUpdate ->
viewModel.update(eventToUpdate)
}, onDelete = { eventToDelete ->
viewModel.delete(eventToDelete)
}))
return true
}
})
@@ -52,13 +52,31 @@ class SettingsFragment : AppFragment() {
launchWebView()
}
binding.switchAllergens.apply {
isChecked = viewModel.preferenceAllergen
setOnCheckedChangeListener { _, b ->
viewModel.preferenceAllergen = b
// Set up switch for highlighting the next course in the schedule
binding.switchHighlight.apply {
isChecked = viewModel.preferenceCourseHighlighting
setOnCheckedChangeListener { _, newValue ->
viewModel.preferenceCourseHighlighting = newValue
}
}
// Set up switch for displaying allergens
binding.switchAllergens.apply {
isChecked = viewModel.preferenceAllergen
setOnCheckedChangeListener { _, newValue ->
viewModel.preferenceAllergen = newValue
}
}
// Set up switch for crash report opt-in
binding.switchCrashlytics.apply {
isChecked = viewModel.preferenceDataHandling
setOnCheckedChangeListener { _, newValue ->
viewModel.preferenceDataHandling = newValue
}
}
// Set click listener for the data handling dialogue
binding.buttonDataHandling.setOnClickListener {
openBottomSheet(TextSheet(
R.string.settings_data_sheet_header,