forked from github/szkolny
[UI/Dialogs] Remove debug toasts. Remove old Event List Dialog.
This commit is contained in:
parent
ddf66ef061
commit
ff0de8afc2
@ -5,7 +5,6 @@
|
||||
package pl.szczodrzynski.edziennik.ui.dialogs.day
|
||||
|
||||
import android.view.View
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.Observer
|
||||
@ -88,7 +87,6 @@ class DayDialog(
|
||||
adapter = EventListAdapter(
|
||||
activity,
|
||||
onItemClick = {
|
||||
Toast.makeText(activity, "Event clicked ${it.topic}", Toast.LENGTH_SHORT).show()
|
||||
EventDetailsDialog(
|
||||
activity,
|
||||
it,
|
||||
|
@ -11,7 +11,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import kotlinx.coroutines.*
|
||||
import pl.szczodrzynski.edziennik.*
|
||||
import pl.szczodrzynski.edziennik.data.api.szkolny.SzkolnyApi
|
||||
import pl.szczodrzynski.edziennik.data.api.task.SzkolnyTask
|
||||
import pl.szczodrzynski.edziennik.data.db.modules.events.EventFull
|
||||
import pl.szczodrzynski.edziennik.databinding.DialogEventDetailsBinding
|
||||
import pl.szczodrzynski.edziennik.utils.models.Date
|
||||
@ -38,8 +37,6 @@ class EventDetailsDialog(
|
||||
override val coroutineContext: CoroutineContext
|
||||
get() = job + Dispatchers.Main
|
||||
|
||||
private lateinit var adapter: EventListAdapter
|
||||
|
||||
private val api by lazy {
|
||||
SzkolnyApi(app)
|
||||
}
|
||||
|
@ -1,141 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Kacper Ziubryniewicz 2019-11-30
|
||||
*/
|
||||
|
||||
package pl.szczodrzynski.edziennik.ui.dialogs.event
|
||||
|
||||
import android.graphics.Typeface
|
||||
import android.view.View
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.Job
|
||||
import pl.szczodrzynski.edziennik.App
|
||||
import pl.szczodrzynski.edziennik.R
|
||||
import pl.szczodrzynski.edziennik.data.db.modules.timetable.Lesson
|
||||
import pl.szczodrzynski.edziennik.data.db.modules.timetable.LessonFull
|
||||
import pl.szczodrzynski.edziennik.databinding.DialogEventListBinding
|
||||
import pl.szczodrzynski.edziennik.utils.models.Date
|
||||
import pl.szczodrzynski.edziennik.utils.models.Time
|
||||
import kotlin.coroutines.CoroutineContext
|
||||
|
||||
class EventListDialog(
|
||||
val activity: AppCompatActivity,
|
||||
val profileId: Int,
|
||||
val date: Date,
|
||||
val time: Time? = null,
|
||||
val onShowListener: ((tag: String) -> Unit)? = null,
|
||||
val onDismissListener: ((tag: String) -> Unit)? = null
|
||||
) : CoroutineScope {
|
||||
|
||||
companion object {
|
||||
const val TAG = "EventListDialog"
|
||||
}
|
||||
|
||||
private lateinit var job: Job
|
||||
override val coroutineContext: CoroutineContext
|
||||
get() = job + Dispatchers.Main
|
||||
|
||||
private val app by lazy { activity.application as App }
|
||||
private lateinit var b: DialogEventListBinding
|
||||
private lateinit var dialog: AlertDialog
|
||||
private lateinit var adapter: EventListAdapter
|
||||
|
||||
private var lesson: LessonFull? = null
|
||||
|
||||
init {
|
||||
run {
|
||||
if (activity.isFinishing)
|
||||
return@run
|
||||
job = Job()
|
||||
onShowListener?.invoke(TAG)
|
||||
b = DialogEventListBinding.inflate(activity.layoutInflater)
|
||||
|
||||
dialog = MaterialAlertDialogBuilder(activity)
|
||||
.setTitle(date.formattedString + (time?.let { ", " + it.stringHM } ?: ""))
|
||||
.setView(b.root)
|
||||
.setPositiveButton(R.string.close) { dialog, _ -> dialog.dismiss() }
|
||||
.setNeutralButton(R.string.add) { _, _ ->
|
||||
EventManualDialog(
|
||||
activity,
|
||||
lesson?.profileId ?: profileId,
|
||||
lesson,
|
||||
date,
|
||||
time,
|
||||
onShowListener = onShowListener,
|
||||
onDismissListener = onDismissListener
|
||||
)
|
||||
}
|
||||
.setOnDismissListener {
|
||||
onDismissListener?.invoke(TAG)
|
||||
}
|
||||
.show()
|
||||
|
||||
app.db.timetableDao().getForDate(profileId, date).observe(activity, Observer { lessons ->
|
||||
lesson = lessons.firstOrNull { it.displayStartTime == time }
|
||||
update()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
fun dismiss() = dialog.dismiss()
|
||||
|
||||
private fun update() {
|
||||
b.eventListLessonDetails.visibility = if (lesson == null) View.GONE else View.VISIBLE
|
||||
|
||||
if (lesson != null) {
|
||||
dialog.setTitle(if (time == null) date.formattedString else (lesson?.displaySubjectName
|
||||
?: date.formattedString) + ", " + time.stringHM)
|
||||
|
||||
b.eventListLessonDate.text = app.getString(R.string.date_time_format, date.formattedString, "")
|
||||
|
||||
if (lesson?.type == Lesson.TYPE_CANCELLED) {
|
||||
b.eventListLessonChange.text = app.getString(R.string.lesson_cancelled)
|
||||
b.eventListLessonChange.setTypeface(null, Typeface.BOLD_ITALIC)
|
||||
b.eventListTeacher.visibility = View.GONE
|
||||
b.eventListClassroom.visibility = View.GONE
|
||||
} else {
|
||||
b.eventListLessonChange.text = lesson?.changeSubjectName
|
||||
b.eventListLessonChange.setTypeface(null, Typeface.ITALIC)
|
||||
b.eventListLessonChange.visibility = if (lesson?.isSubjectNameChanged == true) View.VISIBLE else View.GONE
|
||||
|
||||
b.eventListTeacher.text = lesson?.changeTeacherName
|
||||
b.eventListTeacher.setTypeface(null, if (lesson?.isTeacherNameChanged == true) Typeface.ITALIC else Typeface.NORMAL)
|
||||
|
||||
b.eventListClassroom.text = lesson?.changeClassroom
|
||||
b.eventListClassroom.setTypeface(null, if (lesson?.isClassroomChanged == true) Typeface.ITALIC else Typeface.NORMAL)
|
||||
}
|
||||
}
|
||||
|
||||
b.eventListView.apply {
|
||||
setHasFixedSize(false)
|
||||
isNestedScrollingEnabled = true
|
||||
layoutManager = LinearLayoutManager(activity)
|
||||
}
|
||||
|
||||
adapter = EventListAdapter(activity) {
|
||||
Toast.makeText(activity, "Event clicked ${it.topic}", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
b.eventListView.adapter = adapter
|
||||
|
||||
app.db.eventDao().getAllByDateTime(profileId, date, time).observe(activity, Observer { events ->
|
||||
if (events.isNullOrEmpty()) {
|
||||
b.eventListView.visibility = View.GONE
|
||||
b.textNoEvents.visibility = View.VISIBLE
|
||||
} else {
|
||||
adapter.run {
|
||||
/*items.apply {
|
||||
clear()
|
||||
addAll(events)
|
||||
}*/
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
@ -611,15 +611,15 @@ class EventManualDialog(
|
||||
val profile = app.db.profileDao().getByIdNow(profileId)
|
||||
|
||||
if (!share && !editingShared) {
|
||||
Toast.makeText(activity, "Save without sharing", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(activity, R.string.event_manual_saving, Toast.LENGTH_SHORT).show()
|
||||
finishAdding(eventObject, metadataObject)
|
||||
}
|
||||
else if (editingShared && !editingOwn) {
|
||||
Toast.makeText(activity, "Request editing somebody's event", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(activity, "Opcja edycji wydarzeń innych uczniów nie została jeszcze zaimplementowana.", Toast.LENGTH_LONG).show()
|
||||
// TODO
|
||||
}
|
||||
else if (!share && editingShared) {
|
||||
Toast.makeText(activity, "Unshare own event", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(activity, R.string.event_manual_unshare, Toast.LENGTH_SHORT).show()
|
||||
|
||||
eventObject.apply {
|
||||
sharedBy = null
|
||||
@ -639,7 +639,7 @@ class EventManualDialog(
|
||||
finishAdding(eventObject, metadataObject)
|
||||
}
|
||||
else if (share) {
|
||||
Toast.makeText(activity, "Share/update own event", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(activity, R.string.event_manual_share, Toast.LENGTH_SHORT).show()
|
||||
|
||||
eventObject.apply {
|
||||
sharedBy = profile?.userCode
|
||||
@ -669,7 +669,7 @@ class EventManualDialog(
|
||||
private fun removeEvent() {
|
||||
launch {
|
||||
if (editingShared && editingOwn) {
|
||||
Toast.makeText(activity, "Unshare + remove own event", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(activity, R.string.event_manual_unshare_remove, Toast.LENGTH_SHORT).show()
|
||||
|
||||
val response = withContext(Dispatchers.Default) {
|
||||
api.unshareEvent(editingEvent!!)
|
||||
@ -682,10 +682,10 @@ class EventManualDialog(
|
||||
|
||||
finishRemoving()
|
||||
} else if (editingShared && !editingOwn) {
|
||||
Toast.makeText(activity, "Remove + blacklist somebody's event", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(activity, "Nie zaimplementowana opcja :(", Toast.LENGTH_SHORT).show()
|
||||
// TODO
|
||||
} else {
|
||||
Toast.makeText(activity, "Remove event", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(activity, R.string.event_manual_remove, Toast.LENGTH_SHORT).show()
|
||||
finishRemoving()
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ package pl.szczodrzynski.edziennik.ui.dialogs.timetable
|
||||
|
||||
import android.content.Intent
|
||||
import android.view.View
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.Observer
|
||||
@ -166,7 +165,6 @@ class LessonDetailsDialog(
|
||||
adapter = EventListAdapter(
|
||||
activity,
|
||||
onItemClick = {
|
||||
Toast.makeText(activity, "Event clicked ${it.topic}", Toast.LENGTH_SHORT).show()
|
||||
EventDetailsDialog(
|
||||
activity,
|
||||
it,
|
||||
|
@ -1152,4 +1152,9 @@
|
||||
<string name="timetable_generate_no_colors">Do wydruku (czarno-białe)</string>
|
||||
<string name="timetable_generate_selected_week">Na wybrany tydzień</string>
|
||||
<string name="edziennik_progress_endpoint_lessons">Pobieranie listy lekcji…</string>
|
||||
<string name="event_manual_saving">Zapisuję wydarzenie...</string>
|
||||
<string name="event_manual_unshare">Usuwam wydarzenie u reszty klasy...</string>
|
||||
<string name="event_manual_share">Udostępniam wydarzenie...</string>
|
||||
<string name="event_manual_unshare_remove">Usuwam udostępnione wydarzenie...</string>
|
||||
<string name="event_manual_remove">Usuwam wydarzenie...</string>
|
||||
</resources>
|
||||
|
Loading…
x
Reference in New Issue
Block a user