|
|
|
|
@ -27,6 +27,15 @@ import net.pokeranalytics.android.ui.view.rowrepresentable.TransactionRow |
|
|
|
|
import net.pokeranalytics.android.ui.viewmodel.BottomSheetViewModel |
|
|
|
|
import java.util.* |
|
|
|
|
|
|
|
|
|
class BottomSheetConfig(var row: RowRepresentable, |
|
|
|
|
var delegate: RowRepresentableDelegate, |
|
|
|
|
var rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>?, |
|
|
|
|
var isClearable: Boolean? = true, |
|
|
|
|
var currentCurrency: Currency? = null, |
|
|
|
|
var isDeletable: Boolean? = false, |
|
|
|
|
var valueHasPlaceholder: Boolean? = null) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
open class BottomSheetFragment : BottomSheetDialogFragment() { |
|
|
|
|
|
|
|
|
|
@ -37,17 +46,10 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { |
|
|
|
|
ViewModelProviders.of(this).get(BottomSheetViewModel::class.java) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var row: RowRepresentable? = null |
|
|
|
|
var delegate: RowRepresentableDelegate? = null |
|
|
|
|
var currentCurrency: Currency? = null |
|
|
|
|
var valueAsPlaceholder: Boolean = false |
|
|
|
|
|
|
|
|
|
private var isClearable: Boolean = true |
|
|
|
|
private var isDeletable: Boolean = false |
|
|
|
|
private var rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>? = null |
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
|
|
|
|
|
|
private var config: BottomSheetConfig? = null |
|
|
|
|
|
|
|
|
|
const val REQUEST_CODE_ADD_NEW_OBJECT = 100 |
|
|
|
|
|
|
|
|
|
fun create( |
|
|
|
|
@ -62,14 +64,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { |
|
|
|
|
): BottomSheetFragment { |
|
|
|
|
val bottomSheetFragment = newInstance(row.bottomSheetType) |
|
|
|
|
bottomSheetFragment.show(fragmentManager, "bottomSheet") |
|
|
|
|
// bottomSheetFragment.configure(row, delegate, rowRepresentableEditDescriptors, isClearable, currentCurrency, isDeletable, valueHasPlaceholder) |
|
|
|
|
bottomSheetFragment.row = row |
|
|
|
|
bottomSheetFragment.delegate = delegate |
|
|
|
|
bottomSheetFragment.rowRepresentableEditDescriptors = rowRepresentableEditDescriptors |
|
|
|
|
bottomSheetFragment.isClearable = isClearable ?: true |
|
|
|
|
bottomSheetFragment.isDeletable = isDeletable ?: true |
|
|
|
|
bottomSheetFragment.valueAsPlaceholder = valueHasPlaceholder ?: true |
|
|
|
|
bottomSheetFragment.currentCurrency = currentCurrency |
|
|
|
|
this.config = BottomSheetConfig(row, delegate, rowRepresentableEditDescriptors, isClearable, currentCurrency, isDeletable, valueHasPlaceholder) |
|
|
|
|
return bottomSheetFragment |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -92,24 +87,6 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private fun configure(row: RowRepresentable, |
|
|
|
|
delegate: RowRepresentableDelegate, |
|
|
|
|
rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>?, |
|
|
|
|
isClearable: Boolean? = true, |
|
|
|
|
currentCurrency: Currency? = null, |
|
|
|
|
isDeletable: Boolean? = false, |
|
|
|
|
valueHasPlaceholder: Boolean? = null) { |
|
|
|
|
|
|
|
|
|
this.viewModel.row = row |
|
|
|
|
this.viewModel.delegate = delegate |
|
|
|
|
this.viewModel.rowRepresentableEditDescriptors = rowRepresentableEditDescriptors |
|
|
|
|
this.viewModel.isClearable = isClearable ?: true |
|
|
|
|
this.viewModel.currentCurrency = currentCurrency |
|
|
|
|
this.viewModel.isDeletable = isDeletable ?: false |
|
|
|
|
this.viewModel.valueAsPlaceholder = valueHasPlaceholder ?: false |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
|
|
//TODO: When dependency 'com.google.android.material:material:1.1.0' will be available in stable version, upgrade and remove that |
|
|
|
|
val contextThemeWrapper = ContextThemeWrapper(activity, R.style.PokerAnalyticsTheme) |
|
|
|
|
@ -118,11 +95,28 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { |
|
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
|
|
|
|
super.onViewCreated(view, savedInstanceState) |
|
|
|
|
this.configure(this.row!!, this.delegate!!, this.rowRepresentableEditDescriptors, this.isClearable, this.currentCurrency, this.isDeletable, this.valueAsPlaceholder) |
|
|
|
|
|
|
|
|
|
config?.let { |
|
|
|
|
this.configure(it) |
|
|
|
|
config = null |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.viewModel.load() |
|
|
|
|
initUI() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private fun configure(configuration: BottomSheetConfig) { |
|
|
|
|
|
|
|
|
|
this.viewModel.row = configuration.row |
|
|
|
|
this.viewModel.delegate = configuration.delegate |
|
|
|
|
this.viewModel.rowRepresentableEditDescriptors = configuration.rowRepresentableEditDescriptors |
|
|
|
|
this.viewModel.isClearable = configuration.isClearable ?: true |
|
|
|
|
this.viewModel.currentCurrency = configuration.currentCurrency |
|
|
|
|
this.viewModel.isDeletable = configuration.isDeletable ?: false |
|
|
|
|
this.viewModel.valueAsPlaceholder = configuration.valueHasPlaceholder ?: false |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { |
|
|
|
|
super.onActivityResult(requestCode, resultCode, data) |
|
|
|
|
|
|
|
|
|
|