diff --git a/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt b/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt index 787c0dac..f712f987 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt @@ -10,6 +10,7 @@ import net.pokeranalytics.android.ui.view.RowViewType interface RowRepresentableDelegate { fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean = false) {} fun onRowValueChanged(value: Any?, row: RowRepresentable) {} + fun onRowDeleted(row: RowRepresentable) {} } /** diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt index f883c7f2..8f38bf64 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt @@ -32,6 +32,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { var currentCurrency: Currency? = null private var isClearable: Boolean = true + private var isDeletable: Boolean = false private var rowRepresentableEditDescriptors: ArrayList? = null companion object { @@ -44,7 +45,8 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { delegate: RowRepresentableDelegate, rowRepresentableEditDescriptors: ArrayList?, isClearable: Boolean? = true, - currentCurrency: Currency? = null + currentCurrency: Currency? = null, + isDeletable: Boolean? = false ): BottomSheetFragment { val bottomSheetFragment = row.bottomSheetType.newInstance() bottomSheetFragment.show(fragmentManager, "bottomSheet") @@ -52,6 +54,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { bottomSheetFragment.delegate = delegate bottomSheetFragment.rowRepresentableEditDescriptors = rowRepresentableEditDescriptors bottomSheetFragment.isClearable = isClearable ?: true + bottomSheetFragment.isDeletable = isDeletable ?: true bottomSheetFragment.currentCurrency = currentCurrency return bottomSheetFragment } @@ -111,6 +114,13 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { dismiss() true } + + bottomSheetToolbar.menu.findItem(R.id.actionDelete).setOnMenuItemClickListener { + delegate.onRowDeleted(row) + dismiss() + true + } + bottomSheetToolbar.menu.findItem(R.id.actionAdd).setOnMenuItemClickListener { when (row) { SessionRow.GAME -> EditableDataActivity.newInstanceForResult( @@ -153,6 +163,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { } bottomSheetToolbar.menu.findItem(R.id.actionClear).isVisible = isClearable + bottomSheetToolbar.menu.findItem(R.id.actionDelete).isVisible = isDeletable } } diff --git a/app/src/main/res/menu/toolbar_bottom_sheet.xml b/app/src/main/res/menu/toolbar_bottom_sheet.xml index 836d374c..7ef0e761 100644 --- a/app/src/main/res/menu/toolbar_bottom_sheet.xml +++ b/app/src/main/res/menu/toolbar_bottom_sheet.xml @@ -2,11 +2,18 @@ + + \ No newline at end of file