30 lines
798 B
Kotlin
30 lines
798 B
Kotlin
package cash.z.ecc.android.ext
|
|
|
|
import android.view.inputmethod.EditorInfo.IME_ACTION_DONE
|
|
import android.widget.EditText
|
|
import android.widget.TextView
|
|
import cash.z.wallet.sdk.ext.convertZecToZatoshi
|
|
import cash.z.wallet.sdk.ext.safelyConvertToBigDecimal
|
|
import cash.z.wallet.sdk.ext.twig
|
|
|
|
fun EditText.onEditorActionDone(block: (EditText) -> Unit) {
|
|
this.setOnEditorActionListener { _, actionId, _ ->
|
|
if (actionId == IME_ACTION_DONE) {
|
|
block(this)
|
|
true
|
|
} else {
|
|
false
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
fun TextView.convertZecToZatoshi(): Long? {
|
|
return try {
|
|
text.toString().safelyConvertToBigDecimal()?.convertZecToZatoshi() ?: null
|
|
} catch (t: Throwable) {
|
|
twig("Failed to convert text to Zatoshi: $text")
|
|
null
|
|
}
|
|
}
|