Compare commits

..

No commits in common. "a2862a2587c2083c1a72117916c394107168d3b5" and "054e9366573bf6aeff803495b266db31991f3173" have entirely different histories.

View File

@ -28,7 +28,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
updateItems(this.items)
}
private fun unmarkSnackbar(item: SelfossModel.Item, position: Int) {
private fun unmarkSnackbar(position: Int) {
val s = Snackbar
.make(
app.findViewById(R.id.coordLayout),
@ -37,7 +37,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
)
.setAction(R.string.undo_string) {
CoroutineScope(Dispatchers.IO).launch {
unreadItemAtIndex(item, position, false)
unreadItemAtIndex(position, false)
}
}
@ -47,7 +47,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
s.show()
}
private fun markSnackbar(item: SelfossModel.Item, position: Int) {
private fun markSnackbar(position: Int) {
val s = Snackbar
.make(
app.findViewById(R.id.coordLayout),
@ -55,7 +55,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
Snackbar.LENGTH_LONG
)
.setAction(R.string.undo_string) {
readItemAtIndex(item, position, false)
readItemAtIndex(position)
}
val view = s.view
@ -66,36 +66,37 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
fun handleItemAtIndex(position: Int) {
if (items[position].unread) {
readItemAtIndex(items[position], position)
readItemAtIndex(position)
} else {
unreadItemAtIndex(items[position], position)
unreadItemAtIndex(position)
}
}
private fun readItemAtIndex(item: SelfossModel.Item, position: Int, showSnackbar: Boolean = true) {
private fun readItemAtIndex(position: Int, showSnackbar: Boolean = true) {
val i = items[position]
CoroutineScope(Dispatchers.IO).launch {
repository.markAsRead(item)
repository.markAsRead(i)
}
if (repository.displayedItems == ItemType.UNREAD) {
items.remove(item)
items.remove(i)
notifyItemRemoved(position)
updateItems(items)
} else {
notifyItemChanged(position)
}
if (showSnackbar) {
unmarkSnackbar(item, position)
unmarkSnackbar(position)
}
}
private fun unreadItemAtIndex(item: SelfossModel.Item, position: Int, showSnackbar: Boolean = true) {
private fun unreadItemAtIndex(position: Int, showSnackbar: Boolean = true) {
CoroutineScope(Dispatchers.IO).launch {
repository.unmarkAsRead(item)
repository.unmarkAsRead(items[position])
}
notifyItemChanged(position)
if (showSnackbar) {
markSnackbar(item, position)
markSnackbar(position)
}
}