-Correct the variables convenion of the changes i have made in the code
-In the screen of Create Seed that the size of the two buttons be the same te get armonony in the visual -In the screen of Create Seed that the button of CREATE WALLET get disabled till all fields be correctly to continue -In the screen of Create Seed show some info about PIN functionality -In the screen of Create Seed at the moment the window appears, the Focus automatically is set on the first PIN field and show the keyboard -In the screen of Create Seed set the limit for the Account Name field to 255
This commit is contained in:
parent
7a9c4c0012
commit
acd1f9cfb1
6 changed files with 161 additions and 29 deletions
|
@ -23,16 +23,16 @@ import butterknife.OnClick;
|
|||
import cy.agorise.crystalwallet.R;
|
||||
import cy.agorise.crystalwallet.models.AccountSeed;
|
||||
import cy.agorise.crystalwallet.viewmodels.AccountSeedViewModel;
|
||||
|
||||
//tvBrainKey
|
||||
public class BackupSeedActivity extends AppCompatActivity {
|
||||
|
||||
AccountSeedViewModel accountSeedViewModel;
|
||||
|
||||
@BindView(R.id.backup_seed_view_textview_brainkey)
|
||||
@BindView(R.id.tvBrainKey)
|
||||
TextView textfieldBrainkey;
|
||||
@BindView(R.id.btnOk)
|
||||
Button btnOk;
|
||||
@BindView(R.id.backup_seed_view_button_copy)
|
||||
@BindView(R.id.btnCopy)
|
||||
Button btnCopy;
|
||||
|
||||
@Override
|
||||
|
@ -41,7 +41,7 @@ public class BackupSeedActivity extends AppCompatActivity {
|
|||
setContentView(R.layout.backup_seed);
|
||||
|
||||
//Note: Test porpouses
|
||||
/*final TextView textView = findViewById(R.id.backup_seed_view_textview_brainkey);
|
||||
/*final TextView textView = findViewById(R.id.tvBrainKey);
|
||||
textView.setText("sakk902909321o p3k21kldsa0'dsa90'e930eidakdñsakdñlsakdi90i03 2i90idopsasakk902909321op3k21 kldsa0'dsa90'e930eid akdñsakdñlsakdi90i032i90idopsa");
|
||||
*/
|
||||
|
||||
|
@ -75,7 +75,7 @@ public class BackupSeedActivity extends AppCompatActivity {
|
|||
/*
|
||||
* Clic on button copy to clipboard
|
||||
* */
|
||||
@OnClick(R.id.backup_seed_view_button_copy)
|
||||
@OnClick(R.id.btnCopy)
|
||||
public void btnCopyClick(){
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
package cy.agorise.crystalwallet.activities;
|
||||
|
||||
import android.arch.lifecycle.ViewModelProviders;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.support.design.widget.TextInputEditText;
|
||||
import android.support.design.widget.TextInputLayout;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.text.Editable;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
|
@ -16,6 +21,7 @@ import com.afollestad.materialdialogs.MaterialDialog;
|
|||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import butterknife.OnFocusChange;
|
||||
import butterknife.OnTextChanged;
|
||||
import cy.agorise.crystalwallet.R;
|
||||
import cy.agorise.crystalwallet.dialogs.ProgressCreatingAccountDialog;
|
||||
|
@ -90,12 +96,16 @@ public class CreateSeedActivity extends AppCompatActivity implements UIValidator
|
|||
@BindView(R.id.btnCancel)
|
||||
Button btnCancel;
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.create_seed);
|
||||
ButterKnife.bind(this);
|
||||
|
||||
/*This button should not be enabled till all the fields be correctly filled*/
|
||||
disableCreate();
|
||||
|
||||
tilPin.setErrorEnabled(true);
|
||||
tilPinConfirmation.setErrorEnabled(true);
|
||||
tilAccountName.setErrorEnabled(true);
|
||||
|
@ -104,6 +114,13 @@ public class CreateSeedActivity extends AppCompatActivity implements UIValidator
|
|||
accountSeedViewModel = ViewModelProviders.of(this).get(AccountSeedViewModel.class);
|
||||
createSeedValidator = new CreateSeedValidator(this.getApplicationContext(),tietPin,tietPinConfirmation,tietAccountName);
|
||||
createSeedValidator.setListener(this);
|
||||
|
||||
/*
|
||||
* Set the focus on the fisrt field and show keyboard
|
||||
* */
|
||||
tilPin.requestFocus();
|
||||
final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
imm.showSoftInput(tilPin, InputMethodManager.SHOW_IMPLICIT);
|
||||
}
|
||||
|
||||
@OnTextChanged(value = R.id.tietPin,
|
||||
|
@ -212,6 +229,9 @@ public class CreateSeedActivity extends AppCompatActivity implements UIValidator
|
|||
|
||||
@Override
|
||||
public void onValidationFailed(final ValidationField field) {
|
||||
|
||||
disableCreate(); //Can not create account yet
|
||||
|
||||
runOnUiThread(new Runnable() {
|
||||
|
||||
@Override
|
||||
|
@ -228,4 +248,110 @@ public class CreateSeedActivity extends AppCompatActivity implements UIValidator
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@OnFocusChange(R.id.tietPin)
|
||||
public void onFocusChangePIN(View v, boolean hasFocus){
|
||||
|
||||
/*
|
||||
* On lost focus
|
||||
* */
|
||||
if(!hasFocus){
|
||||
|
||||
/*
|
||||
* Validate continue to create account
|
||||
* */
|
||||
if(validateFieldsToContinue()){
|
||||
enableCreate();
|
||||
}
|
||||
else {
|
||||
disableCreate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@OnFocusChange(R.id.tietPinConfirmation)
|
||||
public void onFocusChangePINConfirmation(View v, boolean hasFocus){
|
||||
|
||||
/*
|
||||
* On lost focus
|
||||
* */
|
||||
if(!hasFocus){
|
||||
|
||||
/*
|
||||
* Validate continue to create account
|
||||
* */
|
||||
if(validateFieldsToContinue()){
|
||||
enableCreate();
|
||||
}
|
||||
else {
|
||||
disableCreate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@OnFocusChange(R.id.tietAccountName)
|
||||
public void onFocusChangeAccountName(View v, boolean hasFocus){
|
||||
|
||||
/*
|
||||
* On lost focus
|
||||
* */
|
||||
if(!hasFocus){
|
||||
|
||||
/*
|
||||
* Validate continue to create account
|
||||
* */
|
||||
if(validateFieldsToContinue()){
|
||||
enableCreate();
|
||||
}
|
||||
else {
|
||||
disableCreate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Validate that all is complete to continue to create
|
||||
* */
|
||||
private boolean validateFieldsToContinue(){
|
||||
|
||||
/*
|
||||
* Get the value of the fields
|
||||
* */
|
||||
final String pin = tilPin.getEditText().getText().toString().trim();
|
||||
final String pinConfirmation = tilPinConfirmation.getEditText().getText().toString().trim();
|
||||
final String accountName = tilAccountName.getEditText().getText().toString().trim();
|
||||
|
||||
final String pinError = tilPin.getError()==null?"":tilPin.getError().toString().trim();
|
||||
final String pinConfirmationError = tietPinConfirmation.getError()==null?"":tietPinConfirmation.getError().toString().trim();
|
||||
final String accountNameError = tietAccountName.getError()==null?"":tietAccountName.getError().toString().trim();
|
||||
|
||||
boolean result = false; //Contains the final result
|
||||
|
||||
if(!pin.isEmpty() && !pinConfirmation.isEmpty() && !accountName.isEmpty()) {
|
||||
if(pinError.isEmpty() && pinConfirmationError.isEmpty() && accountNameError.isEmpty()){
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* If the result is true so the user can continue to the creation of the account
|
||||
* */
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Enable create button
|
||||
* */
|
||||
private void enableCreate(){
|
||||
btnCreate.setEnabled(true);
|
||||
btnCreate.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
|
||||
}
|
||||
|
||||
/*
|
||||
* Disable create button
|
||||
* */
|
||||
private void disableCreate(){
|
||||
btnCreate.setEnabled(false);
|
||||
btnCreate.setBackground(getResources().getDrawable(R.drawable.disable_style));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/backup_seed_view_textview_brainkey"
|
||||
android:id="@+id/tvBrainKey"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/tvMnemonicTitle"
|
||||
|
@ -58,7 +58,7 @@
|
|||
android:layout_marginRight="70dp"
|
||||
android:text="@string/window_seed_leyend_backup"
|
||||
android:textSize="14dp"
|
||||
android:layout_below="@+id/backup_seed_view_textview_brainkey"/>
|
||||
android:layout_below="@+id/tvBrainKey"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -76,7 +76,7 @@
|
|||
android:background="@drawable/ok"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/backup_seed_view_button_copy"
|
||||
android:id="@+id/btnCopy"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
|
|
|
@ -6,13 +6,23 @@
|
|||
android:layout_height="match_parent"
|
||||
tools:context=".activities.CreateSeedActivity">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
||||
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="@string/txt_brain_key_info"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:textSize="15dp" />
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/tilPin"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_marginTop="112dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tilPinConfirmation"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
|
@ -29,6 +39,7 @@
|
|||
android:hint="@string/txt_6_digits_pin"
|
||||
android:inputType="number"
|
||||
android:singleLine="true" />
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
|
@ -49,6 +60,7 @@
|
|||
android:maxLength="32"
|
||||
android:inputType="number"
|
||||
android:singleLine="true" />
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
|
@ -67,26 +79,18 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:hint="@string/txt_account_name"
|
||||
android:inputType="textMultiLine"
|
||||
android:maxLength="255"
|
||||
android:singleLine="true" />
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
<!--
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
||||
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/txt_brain_key_info"
|
||||
android:textSize="15dp"
|
||||
android:visibility="gone" /> -->
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnCancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="48dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginTop="28dp"
|
||||
android:background="@color/redColor"
|
||||
android:text="@string/cancel"
|
||||
android:textColor="@color/white"
|
||||
|
@ -97,10 +101,10 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/btnCreate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:background="@color/colorPrimary"
|
||||
android:padding="10dp"
|
||||
android:text="@string/create_wallet"
|
||||
|
|
|
@ -18,15 +18,15 @@
|
|||
<attr name="civ_selectorStrokeColor" format="color"/>
|
||||
<!-- The selector stroke drawn around the image upon touch events this pixels wide. (if enabled) -->
|
||||
<attr name="civ_selectorStrokeWidth" format="dimension"/>
|
||||
<!-- Whether or not to draw a shadow around your circular image. -->
|
||||
<!-- Whether or not to draw a disable_style around your circular image. -->
|
||||
<attr name="civ_shadow" format="boolean"/>
|
||||
<!-- The radius for the shadow to extend to. (if enabled) -->
|
||||
<!-- The radius for the disable_style to extend to. (if enabled) -->
|
||||
<attr name="civ_shadowRadius" format="float"/>
|
||||
<!-- Horizontal shadow offset. (if enabled) -->
|
||||
<!-- Horizontal disable_style offset. (if enabled) -->
|
||||
<attr name="civ_shadowDx" format="float"/>
|
||||
<!-- Vertical shadow offset. (if enabled) -->
|
||||
<!-- Vertical disable_style offset. (if enabled) -->
|
||||
<attr name="civ_shadowDy" format="float"/>
|
||||
<!-- The color of the shadow drawn around your circular image. (if enabled) -->
|
||||
<!-- The color of the disable_style drawn around your circular image. (if enabled) -->
|
||||
<attr name="civ_shadowColor" format="color"/>
|
||||
</declare-styleable>
|
||||
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
<string name="window_create_seed_DialogTittle"></string>
|
||||
<string name="window_create_seed_DialogMessage">Creating New Account ...</string>
|
||||
|
||||
<string name="window_create_seed_Info">You will use your PIN yo make transactions between accounts</string>
|
||||
|
||||
<string name="window_seed_backup">Backup brainkey</string>
|
||||
<string name="window_seed_toast_clipboard">Brainkey copied to clipboard!</string>
|
||||
<string name="window_seed_copy">Copy</string>
|
||||
|
|
Loading…
Reference in a new issue