64 lines
2.3 KiB
Kotlin
64 lines
2.3 KiB
Kotlin
package code.name.monkey.retromusic.dialogs
|
|
|
|
import android.content.Intent
|
|
import android.net.Uri
|
|
import android.os.Bundle
|
|
import android.text.TextUtils
|
|
import android.view.LayoutInflater
|
|
import android.view.View
|
|
import android.view.ViewGroup
|
|
import code.name.monkey.appthemehelper.util.MaterialUtil
|
|
import code.name.monkey.retromusic.R
|
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
import kotlinx.android.synthetic.main.fragment_upi_payment_dialog.*
|
|
|
|
class UpiPaymentBottomSheetDialogFragment : BottomSheetDialogFragment() {
|
|
companion object {
|
|
const val TAG: String = "UpiPaymentBottomSheetDialogFragment"
|
|
}
|
|
|
|
override fun onCreateView(
|
|
inflater: LayoutInflater,
|
|
container: ViewGroup?,
|
|
savedInstanceState: Bundle?
|
|
): View? {
|
|
return inflater.inflate(R.layout.fragment_upi_payment_dialog, container, false)
|
|
}
|
|
|
|
private fun upi(name: String, amount: String, note: String) {
|
|
val currentTime = System.currentTimeMillis() / 1000
|
|
val transactionId = "${currentTime}UPI"
|
|
val upi =
|
|
"upi://pay?pa=retromusic@ybl&pn=$name&mc=0000&tid=$transactionId&tr=$transactionId&tn=$note&am=$amount&cu=INR&refUrl=refurl".replace(
|
|
" ",
|
|
"+"
|
|
)
|
|
val intent = Intent();
|
|
intent.action = Intent.ACTION_VIEW;
|
|
intent.data = Uri.parse(upi);
|
|
val chooser = Intent.createChooser(intent, "Pay with...");
|
|
startActivityForResult(chooser, 1, null)
|
|
}
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
super.onViewCreated(view, savedInstanceState)
|
|
MaterialUtil.setTint(submit)
|
|
submit.setOnClickListener {
|
|
val name = nameText.text.toString()
|
|
if (TextUtils.isEmpty(name)) {
|
|
nameContainer.error = "Name is empty"
|
|
return@setOnClickListener
|
|
} else {
|
|
nameContainer.error = null
|
|
}
|
|
val amount = amountText.text.toString()
|
|
if (TextUtils.isEmpty(amount)) {
|
|
amountContainer.error = "Amount is empty"
|
|
return@setOnClickListener
|
|
} else {
|
|
amountContainer.error = null
|
|
}
|
|
upi(name, amount, noteText.text.toString())
|
|
}
|
|
}
|
|
} |