From b66bd6fec94a1227f84aaf26dd4884fe1f81c437 Mon Sep 17 00:00:00 2001 From: Kacper Ziubryniewicz Date: Sat, 21 Dec 2019 20:46:26 +0100 Subject: [PATCH] [Dialog/BellSync] Add showing info when there are no lessons. --- .../ui/dialogs/bell/BellSyncDialog.kt | 4 + .../dialogs/bell/BellSyncTimeChooseDialog.kt | 61 ++++-- .../ui/modules/home/CounterActivity.java | 4 +- .../{HomeFragmentV2.kt => HomeFragment.kt} | 8 +- ...HomeFragment.java => HomeFragmentOld.java} | 17 +- .../ui/modules/home/HomeTimetableCard.kt | 177 ------------------ .../ui/modules/home/HomeTimetableCardOld.java | 10 +- .../ui/modules/homework/HomeworkAdapter.java | 6 +- .../modules/settings/SettingsNewFragment.java | 26 +-- .../modules/timetable/TimetableFragment.java | 4 +- .../edziennik/utils/models/Time.java | 4 +- app/src/main/res/layout/fragment_home.xml | 101 +--------- app/src/main/res/layout/fragment_home_old.xml | 101 ++++++++++ app/src/main/res/layout/fragment_home_v2.xml | 20 -- 14 files changed, 196 insertions(+), 347 deletions(-) rename app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/{HomeFragmentV2.kt => HomeFragment.kt} (97%) rename app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/{HomeFragment.java => HomeFragmentOld.java} (98%) delete mode 100644 app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/HomeTimetableCard.kt create mode 100644 app/src/main/res/layout/fragment_home_old.xml delete mode 100644 app/src/main/res/layout/fragment_home_v2.xml diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/bell/BellSyncDialog.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/bell/BellSyncDialog.kt index 85d531ba..738408eb 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/bell/BellSyncDialog.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/bell/BellSyncDialog.kt @@ -59,6 +59,10 @@ class BellSyncDialog( .setTitle(R.string.bell_sync_title) .setView(b.root) .setNeutralButton(R.string.cancel) { dialog, _ -> dialog.dismiss() } + .setOnDismissListener { + counterJob?.cancel() + onDismissListener?.invoke(TAG) + } .show() initView() }} diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/bell/BellSyncTimeChooseDialog.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/bell/BellSyncTimeChooseDialog.kt index 33e35e59..3934d8e0 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/bell/BellSyncTimeChooseDialog.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/bell/BellSyncTimeChooseDialog.kt @@ -12,7 +12,6 @@ import pl.szczodrzynski.edziennik.App import pl.szczodrzynski.edziennik.MainActivity import pl.szczodrzynski.edziennik.R import pl.szczodrzynski.edziennik.databinding.DialogBellSyncTimeChooseBinding -import pl.szczodrzynski.edziennik.onClick import pl.szczodrzynski.edziennik.utils.TextInputDropDown import pl.szczodrzynski.edziennik.utils.models.Date import pl.szczodrzynski.edziennik.utils.models.Time @@ -26,6 +25,8 @@ class BellSyncTimeChooseDialog( companion object { const val TAG = "BellSyncTimeChooseDialog" + + private const val MAX_DIFF_MINUTES = 10 } private lateinit var job: Job @@ -39,7 +40,7 @@ class BellSyncTimeChooseDialog( private val today = Date.getToday() private val selectedTime: Time? - get() = b.timeDropdown.selected?.id?.let { Time.fromValue(it.toInt()) } + get() = b.timeDropdown.selected?.tag as Time? init { apply { if (activity.isFinishing) @@ -57,15 +58,15 @@ class BellSyncTimeChooseDialog( } } .setNegativeButton(R.string.cancel) { dialog, _ -> dialog.dismiss() } - .setNeutralButton(R.string.reset, null) .setOnDismissListener { onDismissListener?.invoke(TAG) } - .show() - - dialog.getButton(AlertDialog.BUTTON_NEUTRAL).onClick { - showResetDialog() - } + .create() + .apply { + setButton(AlertDialog.BUTTON_NEUTRAL, app.getString(R.string.reset)) { _, _ -> + showResetDialog() + } + } initView() }} @@ -85,6 +86,17 @@ class BellSyncTimeChooseDialog( loadTimeList() } + private fun checkForLessons(timeList: List