diff --git a/app/build.gradle b/app/build.gradle index bbb900d2a2..043cd59751 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.m2049r.xmrwallet" minSdkVersion 21 targetSdkVersion 25 - versionCode 41 - versionName "1.2.1" + versionCode 42 + versionName "1.2.2" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { diff --git a/app/src/main/java/com/m2049r/xmrwallet/ReceiveFragment.java b/app/src/main/java/com/m2049r/xmrwallet/ReceiveFragment.java index 0259fe8e90..cc9972578b 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/ReceiveFragment.java +++ b/app/src/main/java/com/m2049r/xmrwallet/ReceiveFragment.java @@ -116,8 +116,10 @@ public void onNewAmount(String xmr) { evAmount.setOnFailedExchangeListener(new ExchangeView.OnFailedExchangeListener() { @Override public void onFailedExchange() { - clearQR(); - Toast.makeText(getActivity(), getString(R.string.message_exchange_failed), Toast.LENGTH_LONG).show(); + if (isAdded()) { + clearQR(); + Toast.makeText(getActivity(), getString(R.string.message_exchange_failed), Toast.LENGTH_LONG).show(); + } } }); diff --git a/app/src/main/java/com/m2049r/xmrwallet/SendFragment.java b/app/src/main/java/com/m2049r/xmrwallet/SendFragment.java index f6c435a588..e9b58ff7d9 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/SendFragment.java +++ b/app/src/main/java/com/m2049r/xmrwallet/SendFragment.java @@ -24,7 +24,9 @@ import android.support.design.widget.TextInputLayout; import android.support.v4.app.Fragment; import android.support.v7.app.AlertDialog; +import android.text.Editable; import android.text.InputType; +import android.text.TextWatcher; import android.util.Log; import android.view.KeyEvent; import android.view.LayoutInflater; @@ -137,6 +139,21 @@ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { } }); + etAddress.getEditText().addTextChangedListener(new TextWatcher() { + @Override + public void afterTextChanged(Editable editable) { + etAddress.setError(null); + } + + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + } + }); + etPaymentId.getEditText().setOnEditorActionListener(new TextView.OnEditorActionListener() { public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) { @@ -150,6 +167,21 @@ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { } }); + etPaymentId.getEditText().addTextChangedListener(new TextWatcher() { + @Override + public void afterTextChanged(Editable editable) { + etPaymentId.setError(null); + } + + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + } + }); + bPrepareSend.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -234,7 +266,8 @@ public void onItemSelected(final AdapterView parentView, View selectedItemVie parentView.post(new Runnable() { @Override public void run() { - ((TextView) parentView.getChildAt(0)).setTextColor(getResources().getColor(R.color.moneroGray)); + if (isAdded()) + ((TextView) parentView.getChildAt(0)).setTextColor(getResources().getColor(R.color.moneroGray)); } }); } @@ -250,7 +283,8 @@ public void onItemSelected(final AdapterView parentView, View selectedItemVie parentView.post(new Runnable() { @Override public void run() { - ((TextView) parentView.getChildAt(0)).setTextColor(getResources().getColor(R.color.moneroGray)); + if (isAdded()) + ((TextView) parentView.getChildAt(0)).setTextColor(getResources().getColor(R.color.moneroGray)); } }); }