When pressing the button "CREATE WALLET" it should ask before continue

master
dtvv 2018-09-19 21:27:00 -05:00
parent a7d30fb0ff
commit f311352bbd
4 changed files with 66 additions and 36 deletions

View File

@ -10,7 +10,7 @@ import butterknife.ButterKnife
import butterknife.OnClick import butterknife.OnClick
import butterknife.OnTextChanged import butterknife.OnTextChanged
import cy.agorise.crystalwallet.R import cy.agorise.crystalwallet.R
import cy.agorise.crystalwallet.dialogs.material.CrystalDialog import cy.agorise.crystalwallet.dialogs.material.*
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequests import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequests
import cy.agorise.crystalwallet.requestmanagers.ValidateCreateBitsharesAccountRequest import cy.agorise.crystalwallet.requestmanagers.ValidateCreateBitsharesAccountRequest
import cy.agorise.crystalwallet.requestmanagers.ValidateExistBitsharesAccountRequest import cy.agorise.crystalwallet.requestmanagers.ValidateExistBitsharesAccountRequest
@ -167,39 +167,55 @@ class CreateSeedActivity : CustomActivity() {
@OnClick(R.id.btnCreate) @OnClick(R.id.btnCreate)
fun createSeed() { fun createSeed() {
// Make request to create a bitshare account /*
val request = ValidateCreateBitsharesAccountRequest(tietAccountName?.getText().toString(), applicationContext) * Question if continue or not
* */
//DTVV: Friday 27 July 2018 var questionDialog:QuestionDialog = QuestionDialog(globalActivity)
//Makes dialog to tell the user that the account is been created questionDialog.setText(getString(R.string.continue_question))
val creatingAccountMaterialDialog = CrystalDialog(this) questionDialog.setOnNegative(object : NegativeResponse{
creatingAccountMaterialDialog.setText(this.resources.getString(R.string.window_create_seed_DialogMessage)) override fun onNegative(dialogMaterial: DialogMaterial) {
creatingAccountMaterialDialog.progress() dialogMaterial.dismiss()
this@CreateSeedActivity.runOnUiThread {
creatingAccountMaterialDialog.show()
}
request.setListener {
creatingAccountMaterialDialog.dismiss()
if (request.status == ValidateCreateBitsharesAccountRequest.StatusCode.SUCCEEDED) {
val accountSeed = request.account
val intent = Intent(applicationContext, BackupSeedActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
intent.putExtra("SEED_ID", accountSeed.id)
startActivity(intent)
} else {
fieldsValidator.validate()
} }
} })
questionDialog.setOnPositive(object : PositiveResponse{
override fun onPositive() {
(object : Thread() { // Make request to create a bitshare account
override fun run() { val request = ValidateCreateBitsharesAccountRequest(tietAccountName?.getText().toString(), applicationContext)
/* //DTVV: Friday 27 July 2018
* //Makes dialog to tell the user that the account is been created
* Run thread*/ val creatingAccountMaterialDialog = CrystalDialog(globalActivity)
CryptoNetInfoRequests.getInstance().addRequest(request) creatingAccountMaterialDialog.setText(globalActivity.resources.getString(R.string.window_create_seed_DialogMessage))
creatingAccountMaterialDialog.progress()
this@CreateSeedActivity.runOnUiThread {
creatingAccountMaterialDialog.show()
}
request.setListener {
creatingAccountMaterialDialog.dismiss()
if (request.status == ValidateCreateBitsharesAccountRequest.StatusCode.SUCCEEDED) {
val accountSeed = request.account
val intent = Intent(applicationContext, BackupSeedActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
intent.putExtra("SEED_ID", accountSeed.id)
startActivity(intent)
} else {
fieldsValidator.validate()
}
}
(object : Thread() {
override fun run() {
/*
*
* Run thread*/
CryptoNetInfoRequests.getInstance().addRequest(request)
}
}).start()
} }
}).start() })
questionDialog.show()
} }
/* /*

View File

@ -1,8 +1,6 @@
package cy.agorise.crystalwallet.dialogs.material package cy.agorise.crystalwallet.dialogs.material
import android.app.Activity import android.app.Activity
import cy.agorise.crystalwallet.R
import kotlinx.android.synthetic.main.account_seed_list.view.*
/* /*
* Dialog material that shows loading gif and and explicit message * Dialog material that shows loading gif and and explicit message
@ -26,5 +24,5 @@ interface PositiveResponse{
fun onPositive() fun onPositive()
} }
interface NegativeResponse{ interface NegativeResponse{
fun onNegative() fun onNegative(dialogMaterial:DialogMaterial)
} }

View File

@ -20,16 +20,20 @@ open abstract class DialogMaterial{
* */ * */
protected var activity:Activity; protected var activity:Activity;
/*
* Contains pointer to myself
* */
protected var dialogMaterial:DialogMaterial;
/* /*
* Contains the response for positive button click * Contains the response for positive button click
* */ * */
var positiveResponse:PositiveResponse? = null protected var positiveResponse:PositiveResponse? = null
/* /*
* Contains the response for negative button click * Contains the response for negative button click
* */ * */
var negativeResponse:NegativeResponse? = null protected var negativeResponse:NegativeResponse? = null
constructor(activity: Activity) { constructor(activity: Activity) {
@ -39,6 +43,8 @@ open abstract class DialogMaterial{
* */ * */
this.activity = activity this.activity = activity
dialogMaterial = this;
/* /*
* Init the builder * Init the builder
* */ * */
@ -80,7 +86,7 @@ open abstract class DialogMaterial{
* If response is not null deliver response * If response is not null deliver response
* */ * */
if(negativeResponse != null){ if(negativeResponse != null){
negativeResponse!!.onNegative() negativeResponse!!.onNegative(dialogMaterial)
} }
} }
} }
@ -142,6 +148,14 @@ open abstract class DialogMaterial{
this.builder.content(message) this.builder.content(message)
} }
fun setOnPositive(onPositive:PositiveResponse){
this.positiveResponse = onPositive
}
fun setOnNegative(onNegative:NegativeResponse){
this.negativeResponse = onNegative
}
fun setTitle(title: String) { fun setTitle(title: String) {
this.builder.title(title) this.builder.title(title)
} }

View File

@ -280,6 +280,8 @@
<string name="head_block_number">head_block_number</string> <string name="head_block_number">head_block_number</string>
<string name="e_receipt">e_receipt</string> <string name="e_receipt">e_receipt</string>
<string name="continue_question">Are you sure to continue?</string>
<string name="Restoring_backup_from_file">Restoring backup from file</string> <string name="Restoring_backup_from_file">Restoring backup from file</string>
<string name="folder_name">SmartcoinsWallet</string> <string name="folder_name">SmartcoinsWallet</string>