Skip to content

Commit

Permalink
Codeclimate fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Futsch1 committed Feb 9, 2025
1 parent 3c07f04 commit d1b97a4
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,11 @@ class EditMedicineMenuProvider(
menuInflater.inflate(R.menu.edit_medicine, menu)
menu.setGroupDividerEnabled(true)

menu.findItem(R.id.activate_all).setOnMenuItemClickListener { _: MenuItem? ->
MedicinesMenu.setupActivateMenu(menu, R.id.activate_all) {
setRemindersActive(true)
true
}
menu.findItem(R.id.deactivate_all).setOnMenuItemClickListener { _: MenuItem? ->
MedicinesMenu.setupActivateMenu(menu, R.id.deactivate_all) {
setRemindersActive(false)
true
}
setupDeleteMenu(menu)
}
Expand Down
17 changes: 13 additions & 4 deletions app/src/main/java/com/futsch1/medtimer/medicine/MedicinesMenu.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,11 @@ class MedicinesMenu(
menuInflater.inflate(R.menu.medicines, menu)
menu.setGroupDividerEnabled(true)

menu.findItem(R.id.activate_all).setOnMenuItemClickListener { _: MenuItem? ->
setupActivateMenu(menu, R.id.activate_all) {
setRemindersActive(true)
true
}
menu.findItem(R.id.deactivate_all).setOnMenuItemClickListener { _: MenuItem? ->
setupActivateMenu(menu, R.id.deactivate_all) {
setRemindersActive(false)
true
}
}

Expand All @@ -50,4 +48,15 @@ class MedicinesMenu(
return false
}

companion object {
fun setupActivateMenu(
menu: Menu, menuId: Int, activateCallback: () -> Unit
) {
menu.findItem(menuId).setOnMenuItemClickListener { _: MenuItem? ->
activateCallback()
true
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,40 @@ class TagViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
text = tagWithState.tag.name
isChecked = tagWithState.isSelected
gravity = Gravity.CENTER
if (selectCallback != null) {
setOnCheckedChangeListener { _, isChecked ->
tagWithState.isSelected = isChecked
selectCallback(tagWithState)
}
} else {
isCheckable = false
setOnClickListener {
(this.parent as View).performClick()
}
rippleColor = ColorStateList.valueOf(Color.TRANSPARENT)
isFocusable = false
setupSelectable(selectCallback, tagWithState)
setupDeletable(deleteCallback, tagWithState)
}
}

private fun Chip.setupDeletable(
deleteCallback: TagCallback?,
tagWithState: TagWithState
) {
if (deleteCallback != null) {
setOnCloseIconClickListener {
deleteCallback(tagWithState)
}
} else {
isCloseIconVisible = false
}
}

private fun Chip.setupSelectable(
selectCallback: TagCallback?,
tagWithState: TagWithState
) {
if (selectCallback != null) {
setOnCheckedChangeListener { _, isChecked ->
tagWithState.isSelected = isChecked
selectCallback(tagWithState)
}
if (deleteCallback != null) {
setOnCloseIconClickListener {
deleteCallback(tagWithState)
}
} else {
isCloseIconVisible = false
} else {
isCheckable = false
setOnClickListener {
(this.parent as View).performClick()
}
rippleColor = ColorStateList.valueOf(Color.TRANSPARENT)
isFocusable = false
}
}
}

0 comments on commit d1b97a4

Please sign in to comment.