1
mirror of https://github.com/m2049r/xmrwallet synced 2025-09-03 08:23:04 +02:00

Compare commits

...

8 Commits

Author SHA1 Message Date
m2049r
c6a1b503bc bump version 1.14.7 2020-09-23 11:20:16 +02:00
m2049r
8bda7aa0cf fix crash if auth failed (#684) 2020-09-23 11:19:28 +02:00
m2049r
97fb0a5483 bump version 1.14.6 2020-09-21 22:11:35 +02:00
m2049r
fc950c6772 fix onboarding layout (#683) 2020-09-21 22:10:51 +02:00
m2049r
46add5e927 bump version v1.14.5 2020-09-21 14:37:51 +02:00
m2049r
fa0692ceab force agree for fingerprint send (#682) 2020-09-21 14:36:17 +02:00
m2049r
ff4f4a1c2c remove notices covered by onboarding (#681) 2020-09-21 14:35:50 +02:00
m2049r
79abb89725 disable button on finish onbaording (#680) 2020-09-21 14:35:25 +02:00
7 changed files with 37 additions and 62 deletions

View File

@@ -7,8 +7,8 @@ android {
applicationId "com.m2049r.xmrwallet"
minSdkVersion 21
targetSdkVersion 28
versionCode 404
versionName "1.14.4 'On Board'"
versionCode 407
versionName "1.14.7 'On Board'"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {

View File

@@ -16,24 +16,15 @@
package com.m2049r.xmrwallet.fragment.send;
import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.support.design.widget.TextInputLayout;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.m2049r.xmrwallet.BuildConfig;
import com.m2049r.xmrwallet.R;
import com.m2049r.xmrwallet.data.TxData;
import com.m2049r.xmrwallet.data.TxDataBtc;
@@ -353,7 +344,9 @@ public class SendBtcConfirmWizardFragment extends SendWizardFragment implements
}
public void fail(String walletName, String password, boolean fingerprintUsed) {
bSend.setEnabled(sendCountdown > 0); // allow to try again
getActivity().runOnUiThread(() -> {
bSend.setEnabled(sendCountdown > 0); // allow to try again
});
}
});
}

View File

@@ -16,29 +16,19 @@
package com.m2049r.xmrwallet.fragment.send;
import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AlertDialog;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.TextView;
import com.m2049r.xmrwallet.BuildConfig;
import com.m2049r.xmrwallet.R;
import com.m2049r.xmrwallet.data.TxData;
import com.m2049r.xmrwallet.data.UserNotes;
import com.m2049r.xmrwallet.model.PendingTransaction;
import com.m2049r.xmrwallet.model.Wallet;
import com.m2049r.xmrwallet.util.Helper;
import com.m2049r.xmrwallet.data.UserNotes;
import timber.log.Timber;
@@ -237,7 +227,9 @@ public class SendConfirmWizardFragment extends SendWizardFragment implements Sen
}
public void fail(String walletName, String password, boolean fingerprintUsed) {
bSend.setEnabled(true); // allow to try again
getActivity().runOnUiThread(() -> {
bSend.setEnabled(true); // allow to try again
});
}
});
}

View File

@@ -28,6 +28,7 @@ import android.widget.LinearLayout;
import com.m2049r.xmrwallet.LoginActivity;
import com.m2049r.xmrwallet.R;
import com.m2049r.xmrwallet.util.KeyStoreHelper;
public class OnBoardingActivity extends AppCompatActivity implements OnBoardingAdapter.Listener {
@@ -75,6 +76,9 @@ public class OnBoardingActivity extends AppCompatActivity implements OnBoardingA
}
});
// let old users who have fingerprint wallets already agree for fingerprint sending
OnBoardingScreen.FPSEND.setMustAgree(KeyStoreHelper.hasStoredPasswords(this));
for (int i = 0; i < OnBoardingScreen.values().length; i++) {
agreed[i] = !OnBoardingScreen.values()[i].isMustAgree();
}
@@ -83,6 +87,7 @@ public class OnBoardingActivity extends AppCompatActivity implements OnBoardingA
}
private void finishOnboarding() {
nextButton.setEnabled(false);
OnBoardingManager.setOnBoardingShown(getApplicationContext());
startActivity(new Intent(this, LoginActivity.class));
finish();

View File

@@ -28,7 +28,7 @@ enum OnBoardingScreen {
private final int title;
private final int information;
private final int drawable;
private final boolean mustAgree;
private boolean mustAgree;
OnBoardingScreen(final int title, final int information, final int drawable, final boolean mustAgree) {
this.title = title;
@@ -52,4 +52,8 @@ enum OnBoardingScreen {
public boolean isMustAgree() {
return mustAgree;
}
public boolean setMustAgree(boolean mustAgree) {
return this.mustAgree = mustAgree;
}
}

View File

@@ -37,33 +37,19 @@ public class Notice {
private static final String PREFS_NAME = "notice";
private static List<Notice> notices = null;
private static final String NOTICE_SHOW_XMRTO_ENABLED_LOGIN = "notice_xmrto_enabled_login";
private static final String NOTICE_SHOW_XMRTO_ENABLED_SEND = "notice_xmrto_enabled_send";
private static final String NOTICE_SHOW_LEDGER = "notice_ledger_enabled_login";
private static final String NOTICE_SHOW_NODES = "notice_nodes";
private static void init() {
synchronized (Notice.class) {
if (notices != null) return;
notices = new ArrayList<>();
notices.add(
new Notice(NOTICE_SHOW_NODES,
R.string.info_nodes_enabled,
R.string.help_node,
1)
);
notices.add(
new Notice(NOTICE_SHOW_XMRTO_ENABLED_SEND,
R.string.info_xmrto_enabled,
R.string.help_xmrto,
1)
);
notices.add(
new Notice(NOTICE_SHOW_XMRTO_ENABLED_LOGIN,
R.string.info_xmrto_enabled,
R.string.help_xmrto,
1)
);
notices.add(
new Notice(NOTICE_SHOW_LEDGER,
R.string.info_ledger_enabled,

View File

@@ -15,11 +15,25 @@
android:layout_marginTop="32dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="32dp"
android:src="@drawable/gunther_24dp"
app:layout_constraintBottom_toTopOf="@+id/onboardingTitle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/gunther_24dp" />
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/onboardingTitle"
style="@style/MoneroText.Balance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toTopOf="@+id/onboardingInformation"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="@string/onboarding_fpsend_title" />
<TextView
android:id="@+id/onboardingInformation"
@@ -29,32 +43,14 @@
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:lineSpacingMultiplier="1.2"
app:layout_constraintBottom_toTopOf="@+id/onboardingAgree"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/onboardingTitle"
tools:text="@string/onboarding_fpsend_information" />
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.6" />
<TextView
android:id="@+id/onboardingTitle"
style="@style/MoneroText.Balance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/guideline"
tools:text="@string/onboarding_fpsend_title" />
<CheckBox
android:id="@+id/onboardingAgree"
style="@style/MoneroLabel.Caps.Black"
@@ -66,6 +62,5 @@
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/onboardingInformation" />
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>