Fix task list snackbar crash

pull/1136/head
Alex Baker 5 years ago
parent 59f5e7b32a
commit 9a6b369c2a

@ -262,12 +262,12 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener {
taskListFragment.onTaskCreated(model.uuid)
if (!isNullOrEmpty(model.calendarURI)) {
taskListFragment.makeSnackbar(R.string.calendar_event_created, model.title)
.setAction(R.string.action_open) {
?.setAction(R.string.action_open) {
val uri = model.calendarURI
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(uri))
taskListFragment.startActivity(intent)
}
.show()
?.show()
}
}
}

@ -444,16 +444,17 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
refresh()
}
fun makeSnackbar(@StringRes res: Int, vararg args: Any?): Snackbar {
fun makeSnackbar(@StringRes res: Int, vararg args: Any?): Snackbar? {
return makeSnackbar(getString(res, *args))
}
private fun makeSnackbar(text: String): Snackbar {
val snackbar = Snackbar.make(coordinatorLayout, text, 8000)
.setTextColor(requireActivity().getColor(R.color.snackbar_text_color))
.setActionTextColor(requireActivity().getColor(R.color.snackbar_action_color))
snackbar.view.setBackgroundColor(requireActivity().getColor(R.color.snackbar_background))
return snackbar
private fun makeSnackbar(text: String): Snackbar? = activity?.let {
Snackbar.make(coordinatorLayout, text, 8000)
.setTextColor(it.getColor(R.color.snackbar_text_color))
.setActionTextColor(it.getColor(R.color.snackbar_action_color))
.apply {
view.setBackgroundColor(it.getColor(R.color.snackbar_background))
}
}
override fun onPause() {
@ -745,7 +746,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
taskDeleter.markDeleted(tasks)
}
result.forEach { onTaskDelete(it) }
makeSnackbar(R.string.delete_multiple_tasks_confirmation, result.size.toString()).show()
makeSnackbar(R.string.delete_multiple_tasks_confirmation, result.size.toString())?.show()
}
private fun copySelectedItems(tasks: List<Long>) = lifecycleScope.launch {
@ -754,7 +755,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
taskDuplicator.duplicate(tasks)
}
onTaskCreated(duplicates)
makeSnackbar(R.string.copy_multiple_tasks_confirmation, duplicates.size.toString()).show()
makeSnackbar(R.string.copy_multiple_tasks_confirmation, duplicates.size.toString())?.show()
}
fun clearCollapsed() = taskAdapter.clearCollapsed()
@ -821,7 +822,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
val dueDateString = DateUtilities.getRelativeDateTime(
context, newDueDate, locale.locale, FormatStyle.LONG, true)
makeSnackbar(R.string.repeat_snackbar, task!!.title, dueDateString)
.setAction(R.string.DLG_undo) {
?.setAction(R.string.DLG_undo) {
task.setDueDateAdjustingHideUntil(oldDueDate)
task.completionDate = 0L
try {
@ -838,7 +839,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
taskDao.save(task)
}
}
.show()
?.show()
} catch (e: Exception) {
firebase.reportException(e)
}

Loading…
Cancel
Save