diff --git a/app/build.gradle b/app/build.gradle
index b129f21..44274a6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "net.mynero.wallet"
minSdkVersion 21
targetSdkVersion 34
- versionCode 50100
- versionName "0.5.1 'Fluorine Fermi'"
+ versionCode 50200
+ versionName "0.5.2 'Fluorine Fermi'"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
diff --git a/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingFragment.kt b/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingFragment.kt
index 27cffcf..3700cdc 100644
--- a/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingFragment.kt
+++ b/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingFragment.kt
@@ -121,10 +121,12 @@ class OnboardingFragment : Fragment(), NodeSelectionDialogListener, AddNodeListe
seedOffsetCheckbox?.visibility = View.VISIBLE
walletRestoreHeightEditText?.visibility = View.VISIBLE
walletPasswordEditText?.hint = getString(R.string.password_optional)
+ walletSeedEditText?.hint = getString(R.string.recovery_phrase_optional_legacy)
} else {
seedOffsetCheckbox?.visibility = View.GONE
walletRestoreHeightEditText?.visibility = View.GONE
walletPasswordEditText?.hint = getString(R.string.password_non_optional)
+ walletSeedEditText?.hint = getString(R.string.recovery_phrase_optional_polyseed)
}
}
}
diff --git a/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingViewModel.kt b/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingViewModel.kt
index cc5193b..28dc105 100644
--- a/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingViewModel.kt
+++ b/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingViewModel.kt
@@ -93,8 +93,8 @@ class OnboardingViewModel : ViewModel() {
if (offset.isNotEmpty()) {
PrefService.instance?.edit()?.putBoolean(Constants.PREF_USES_OFFSET, true)?.apply()
}
+ val seedTypeValue = seedType.value ?: return@execute
if (walletSeed.isEmpty()) {
- val seedTypeValue = seedType.value ?: return@execute
if (seedTypeValue == SeedType.POLYSEED) {
wallet = if (offset.isEmpty()) {
mainActivity.runOnUiThread {
@@ -145,13 +145,22 @@ class OnboardingViewModel : ViewModel() {
if (restoreHeightText.isNotEmpty()) {
restoreHeight = restoreHeightText.toLong()
}
- wallet = WalletManager.instance?.recoveryWallet(
- walletFile,
- walletPassword,
- walletSeed,
- offset,
- restoreHeight
- )
+ if (seedTypeValue == SeedType.POLYSEED) {
+ wallet = WalletManager.instance?.recoveryWalletPolyseed(
+ walletFile,
+ walletPassword,
+ walletSeed,
+ offset
+ )
+ } else if (seedTypeValue == SeedType.LEGACY) {
+ wallet = WalletManager.instance?.recoveryWallet(
+ walletFile,
+ walletPassword,
+ walletSeed,
+ offset,
+ restoreHeight
+ )
+ }
}
val walletStatus = wallet?.status
wallet?.close()
diff --git a/app/src/main/res/layout/fragment_onboarding.xml b/app/src/main/res/layout/fragment_onboarding.xml
index 7007de0..2faca0a 100644
--- a/app/src/main/res/layout/fragment_onboarding.xml
+++ b/app/src/main/res/layout/fragment_onboarding.xml
@@ -183,7 +183,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/edittext_bg"
- android:hint="@string/recovery_phrase_optional"
+ android:hint="@string/recovery_phrase_optional_polyseed"
android:minHeight="48dp"
app:layout_constraintBottom_toTopOf="@id/wallet_restore_height_edittext"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/fragment_send.xml b/app/src/main/res/layout/fragment_send.xml
index f5fb4cf..b18d927 100644
--- a/app/src/main/res/layout/fragment_send.xml
+++ b/app/src/main/res/layout/fragment_send.xml
@@ -214,6 +214,7 @@
android:elevation="6dp"
android:visibility="gone"
android:importantForAccessibility="yes"
+ android:contentDescription="@string/slide_to_send_transaction"
app:area_margin="10dp"
app:border_radius="20dp"
app:inner_color="@android:color/white"
diff --git a/app/src/main/res/layout/wallet_keys_bottom_sheet_dialog.xml b/app/src/main/res/layout/wallet_keys_bottom_sheet_dialog.xml
index 0fe1f2c..1f6ed7f 100644
--- a/app/src/main/res/layout/wallet_keys_bottom_sheet_dialog.xml
+++ b/app/src/main/res/layout/wallet_keys_bottom_sheet_dialog.xml
@@ -31,8 +31,8 @@
android:id="@+id/wallet_seed_label_textview"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:textSize="18sp"
+ android:layout_marginTop="32dp"
+ android:textSize="24sp"
android:textStyle="bold"
android:text="@string/wallet_seed_label"
app:layout_constraintEnd_toEndOf="parent"
@@ -81,8 +81,8 @@
android:id="@+id/wallet_viewkey_label_textview"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:textSize="18sp"
+ android:layout_marginTop="32dp"
+ android:textSize="24sp"
android:textStyle="bold"
android:text="@string/wallet_viewkey_label"
app:layout_constraintEnd_toEndOf="parent"
@@ -133,8 +133,8 @@
android:id="@+id/wallet_restore_height_label_textview"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:textSize="18sp"
+ android:layout_marginTop="16dp"
+ android:textSize="24sp"
android:textStyle="bold"
android:text="@string/wallet_restore_height_label"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d4efd73..c42ec98 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -48,10 +48,11 @@
Send
Receive
More options
- Recovery phrase (optional)
+ Recovery seed (legacy)
+ Recovery seed (polyseed)
Restore height (optional)
Passphrase (optional)
- Enter a passphrase
+ Passphrase (seed offset; required)
Confirm passphrase
Passphrase
Label
@@ -125,9 +126,9 @@
Cannot edit current node.
Cannot edit default node.
Edit Node
- Recovery phrase
- Anyone with your recovery phrase can spend ALL coins in this wallet!
- Your wallet seed offset (sometimes called a seed passphrase) is the passphrase you use to unlock the wallet in this app. It will not be displayed here, but it is needed to FULLY restore the keys to this wallet.
+ Recovery seed
+ Anyone with your recovery seed can spend ALL coins in this wallet!
+ Your wallet seed passphrase (sometimes called a seed offset) is the passphrase you use to unlock the wallet in this app. It will not be displayed here, but it is needed to FULLY restore the keys to this wallet.
Private view-key
Anyone with your private view-key can see all incoming transactions!
Restore height
@@ -157,5 +158,6 @@
Older, 25 word seed; supported in all Monero wallets. In Mysu, seed passphrase is not enforced for these wallets.
Send transaction
Paste clipboard into passphrase field
+ Slide to send transaction