|
|
|
|
@ -32,7 +32,7 @@ import java.util.* |
|
|
|
|
|
|
|
|
|
open class InputFragment(val row: RowRepresentable) : BottomSheetDialogFragment() { |
|
|
|
|
|
|
|
|
|
// lateinit var row: RowRepresentable |
|
|
|
|
// lateinit var row: RowRepresentable |
|
|
|
|
lateinit var delegate: RowEditableDelegate |
|
|
|
|
var currentCurrency: Currency? = null |
|
|
|
|
var valueHasPlaceholder: Boolean = false |
|
|
|
|
@ -45,27 +45,29 @@ open class InputFragment(val row: RowRepresentable) : BottomSheetDialogFragment( |
|
|
|
|
|
|
|
|
|
const val REQUEST_CODE_ADD_NEW_OBJECT = 100 |
|
|
|
|
|
|
|
|
|
fun buildAndShow( |
|
|
|
|
row: RowRepresentable, |
|
|
|
|
delegate: RowEditableDelegate, |
|
|
|
|
dataSource: RowEditableDataSource?, |
|
|
|
|
isDeletable: Boolean? = false, |
|
|
|
|
valueHasPlaceholder: Boolean? = null |
|
|
|
|
) { |
|
|
|
|
if (delegate !is Fragment) throw PokerAnalyticsException.InputFragmentException |
|
|
|
|
if (dataSource?.descriptorType == RowEditableDescriptorType.DATE) { |
|
|
|
|
DateTimePickerManager.buildAndShow(row, delegate, dataSource.descriptors.first()) |
|
|
|
|
} else { |
|
|
|
|
val bottomSheetFragment = row.inputFragmentType.newInstance(row) |
|
|
|
|
bottomSheetFragment.show(delegate.fragmentManager, "bottomSheet") |
|
|
|
|
bottomSheetFragment.delegate = delegate |
|
|
|
|
bottomSheetFragment.rowEditableDescriptors = dataSource?.descriptors |
|
|
|
|
bottomSheetFragment.isClearable = row.valueCanBeClearedWhenEditing |
|
|
|
|
bottomSheetFragment.isDeletable = isDeletable ?: true |
|
|
|
|
bottomSheetFragment.valueHasPlaceholder = valueHasPlaceholder ?: true |
|
|
|
|
bottomSheetFragment.currentCurrency = dataSource?.currency |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
fun buildAndShow( |
|
|
|
|
row: RowRepresentable, |
|
|
|
|
delegate: RowEditableDelegate, |
|
|
|
|
dataSource: RowEditableDataSource?, |
|
|
|
|
isDeletable: Boolean? = false, |
|
|
|
|
valueHasPlaceholder: Boolean? = null |
|
|
|
|
) { |
|
|
|
|
if (delegate !is Fragment) throw PokerAnalyticsException.InputFragmentException |
|
|
|
|
if (dataSource?.descriptorType == RowEditableDescriptorType.DATE) { |
|
|
|
|
DateTimePickerManager.buildAndShow(row, delegate, dataSource.descriptors.first()) |
|
|
|
|
} else { |
|
|
|
|
delegate.fragmentManager?.let { fragmentManager -> |
|
|
|
|
val bottomSheetFragment = row.inputFragmentType.newInstance(row) |
|
|
|
|
bottomSheetFragment.show(fragmentManager, "bottomSheet") |
|
|
|
|
bottomSheetFragment.delegate = delegate |
|
|
|
|
bottomSheetFragment.rowEditableDescriptors = dataSource?.descriptors |
|
|
|
|
bottomSheetFragment.isClearable = row.valueCanBeClearedWhenEditing |
|
|
|
|
bottomSheetFragment.isDeletable = isDeletable ?: true |
|
|
|
|
bottomSheetFragment.valueHasPlaceholder = valueHasPlaceholder ?: true |
|
|
|
|
bottomSheetFragment.currentCurrency = dataSource?.currency |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
|
|
@ -97,9 +99,9 @@ open class InputFragment(val row: RowRepresentable) : BottomSheetDialogFragment( |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@SuppressLint("RestrictedApi") |
|
|
|
|
override fun setupDialog(dialog: Dialog?, style: Int) { |
|
|
|
|
override fun setupDialog(dialog: Dialog, style: Int) { |
|
|
|
|
super.setupDialog(dialog, style) |
|
|
|
|
dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) |
|
|
|
|
dialog.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|