Pocket Change V2 (#914)

* show PC on btc confirm
* random slots to refill
This commit is contained in:
m2049r 2023-08-28 19:24:45 +02:00 committed by GitHub
parent bf1829f775
commit 17df7c3faf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 88 additions and 47 deletions

View File

@ -1,15 +1,15 @@
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
android { android {
compileSdkVersion 33
buildToolsVersion '33.0.2'
ndkVersion '17.2.4988734' ndkVersion '17.2.4988734'
defaultConfig { defaultConfig {
applicationId "com.m2049r.xmrwallet" applicationId "com.m2049r.xmrwallet"
buildToolsVersion = '34.0.0'
compileSdk 33
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 31 targetSdkVersion 33
versionCode 3307 versionCode 3308
versionName "3.3.7 'Pocket Change'" versionName "3.3.8 'Pocket Change'"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild { externalNativeBuild {
cmake { cmake {
@ -126,11 +126,11 @@ dependencies {
implementation 'androidx.core:core:1.10.1' implementation 'androidx.core:core:1.10.1'
implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.3.0' implementation 'androidx.recyclerview:recyclerview:1.3.1'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.preference:preference:1.2.0' implementation 'androidx.preference:preference:1.2.1'
implementation 'com.google.android.material:material:1.9.0' implementation 'com.google.android.material:material:1.9.0'

View File

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" /> <uses-permission android:name="android.permission.USE_FINGERPRINT" />

View File

@ -629,7 +629,6 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
@Override @Override
public void onWalletStarted(final Wallet.Status walletStatus) { public void onWalletStarted(final Wallet.Status walletStatus) {
loadPocketChangeSettings();
runOnUiThread(() -> { runOnUiThread(() -> {
dismissProgressDialog(); dismissProgressDialog();
if (walletStatus == null) { if (walletStatus == null) {
@ -648,6 +647,8 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
haveWallet = true; haveWallet = true;
invalidateOptionsMenu(); invalidateOptionsMenu();
loadPocketChangeSettings();
if (requestStreetMode) onEnableStreetMode(); if (requestStreetMode) onEnableStreetMode();
final WalletFragment walletFragment = getWalletFragment(); final WalletFragment walletFragment = getWalletFragment();

View File

@ -26,6 +26,7 @@ import com.m2049r.xmrwallet.model.Wallet;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Random;
import java.util.Set; import java.util.Set;
import lombok.Data; import lombok.Data;
@ -136,8 +137,9 @@ public class TxData implements Parcelable {
////////////////////////// //////////////////////////
final static public int POCKETCHANGE_IDX = 1; // subaddress index of first pocketchange slot final static public int POCKETCHANGE_IDX = 1; // subaddress index of first pocketchange slot
final static public int POCKETCHANGE_SLOTS = 10; // number of pocketchange slots final static public int POCKETCHANGE_SLOTS_MIN = 6; // min number of pocketchange slots
final static public int POCKETCHANGE_IDX_MAX = POCKETCHANGE_IDX + POCKETCHANGE_SLOTS - 1; final static public int POCKETCHANGE_SLOTS_MAX = 14; // max number of pocketchange slots
final static public int POCKETCHANGE_IDX_MAX = POCKETCHANGE_IDX + POCKETCHANGE_SLOTS_MAX - 1;
@Data @Data
static private class PocketChangeSlot { static private class PocketChangeSlot {
@ -171,8 +173,8 @@ public class TxData implements Parcelable {
List<CoinsInfo> coins = wallet.getCoinsInfos(true); List<CoinsInfo> coins = wallet.getCoinsInfos(true);
Set<Integer> spendableSubaddressIdx = new HashSet<>(); Set<Integer> spendableSubaddressIdx = new HashSet<>();
PocketChangeSlot reserves = new PocketChangeSlot(); // everything not in a slot spendable PocketChangeSlot reserves = new PocketChangeSlot(); // everything not in a slot spendable
PocketChangeSlot[] slots = new PocketChangeSlot[POCKETCHANGE_SLOTS]; PocketChangeSlot[] slots = new PocketChangeSlot[POCKETCHANGE_SLOTS_MAX];
for (int i = 0; i < POCKETCHANGE_SLOTS; i++) { for (int i = 0; i < POCKETCHANGE_SLOTS_MAX; i++) {
slots[i] = new PocketChangeSlot(); slots[i] = new PocketChangeSlot();
} }
for (CoinsInfo coin : coins) { for (CoinsInfo coin : coins) {
@ -205,7 +207,8 @@ public class TxData implements Parcelable {
// find any slots to fill if possible: // find any slots to fill if possible:
List<Integer> slotsToFill = new ArrayList<>(); List<Integer> slotsToFill = new ArrayList<>();
List<Long> slotToFillAmounts = new ArrayList<>(); List<Long> slotToFillAmounts = new ArrayList<>();
for (int i = 0; i < POCKETCHANGE_SLOTS; i++) { final int randomSlotCount = new Random().nextInt(POCKETCHANGE_SLOTS_MAX - POCKETCHANGE_SLOTS_MIN + 1) + POCKETCHANGE_SLOTS_MIN;
for (int i = 0; i < randomSlotCount; i++) {
if (slots[i].getAmount() < pocketChangeAmount) { if (slots[i].getAmount() < pocketChangeAmount) {
final long topupAmount = pocketChangeAmount - slots[i].getAmount(); final long topupAmount = pocketChangeAmount - slots[i].getAmount();
if (topupAmount <= spendableAmount) { if (topupAmount <= spendableAmount) {

View File

@ -74,6 +74,9 @@ public class SendBtcConfirmWizardFragment extends SendWizardFragment implements
private View llConfirmSend; private View llConfirmSend;
private Button bSend; private Button bSend;
private View pbProgressSend; private View pbProgressSend;
private TextView tvTxChange;
private View llPocketChange;
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
@ -92,6 +95,8 @@ public class SendBtcConfirmWizardFragment extends SendWizardFragment implements
tvTxFee = view.findViewById(R.id.tvTxFee); tvTxFee = view.findViewById(R.id.tvTxFee);
tvTxTotal = view.findViewById(R.id.tvTxTotal); tvTxTotal = view.findViewById(R.id.tvTxTotal);
tvTxChange = view.findViewById(R.id.tvTxChange);
llPocketChange = view.findViewById(R.id.llPocketChange);
llStageA = view.findViewById(R.id.llStageA); llStageA = view.findViewById(R.id.llStageA);
evStageA = view.findViewById(R.id.evStageA); evStageA = view.findViewById(R.id.evStageA);
@ -217,6 +222,13 @@ public class SendBtcConfirmWizardFragment extends SendWizardFragment implements
tvTxFee.setText(Wallet.getDisplayAmount(pendingTransaction.getFee())); tvTxFee.setText(Wallet.getDisplayAmount(pendingTransaction.getFee()));
tvTxTotal.setText(Wallet.getDisplayAmount( tvTxTotal.setText(Wallet.getDisplayAmount(
pendingTransaction.getFee() + pendingTransaction.getAmount())); pendingTransaction.getFee() + pendingTransaction.getAmount()));
final long change = pendingTransaction.getPocketChange();
if (change > 0) {
llPocketChange.setVisibility(View.VISIBLE);
tvTxChange.setText(Wallet.getDisplayAmount(change));
} else {
llPocketChange.setVisibility(View.GONE);
}
updateSendButton(); updateSendButton();
}); });
} else { } else {

View File

@ -169,6 +169,31 @@
android:orientation="vertical" android:orientation="vertical"
android:visibility="invisible"> android:visibility="invisible">
<LinearLayout
android:id="@+id/llPocketChange"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<TextView
style="@style/MoneroLabel.Gray"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/pocketchange_title"
android:textAlignment="textStart" />
<TextView
android:id="@+id/tvTxChange"
style="@style/MoneroText.Gray"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textAlignment="textEnd"
tools:text="143.008000000000" />
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -182,8 +207,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="@string/send_fee_btc_label" android:text="@string/send_fee_btc_label"
android:textAlignment="textStart" android:textAlignment="textStart" />
android:textSize="16sp" />
<TextView <TextView
android:id="@+id/tvTxFee" android:id="@+id/tvTxFee"
@ -192,7 +216,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="2" android:layout_weight="2"
android:textAlignment="textEnd" android:textAlignment="textEnd"
android:textSize="16sp"
tools:text="0.006817000000" /> tools:text="0.006817000000" />
</LinearLayout> </LinearLayout>
@ -209,8 +232,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="@string/send_total_btc_label" android:text="@string/send_total_btc_label"
android:textAlignment="textStart" android:textAlignment="textStart" />
android:textSize="16sp" />
<TextView <TextView
android:id="@+id/tvTxTotal" android:id="@+id/tvTxTotal"
@ -219,7 +241,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="2" android:layout_weight="2"
android:textAlignment="textEnd" android:textAlignment="textEnd"
android:textSize="16sp"
tools:text="143.014817000000" /> tools:text="143.014817000000" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@ -443,7 +443,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -444,7 +444,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -445,7 +445,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -443,7 +443,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -435,7 +435,7 @@
<string name="label_streetmode">Modo calle activado\nSólo se ºmostrarán transacciones nuevas</string> <string name="label_streetmode">Modo calle activado\nSólo se ºmostrarán transacciones nuevas</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -443,7 +443,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -683,7 +683,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -449,7 +449,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -447,7 +447,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -448,7 +448,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -448,7 +448,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -445,7 +445,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -445,7 +445,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -438,7 +438,7 @@ aqui.</string>
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -449,8 +449,8 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_amount">10 × %1$3.1f XMR</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>
</resources> </resources>

View File

@ -445,7 +445,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -449,7 +449,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -446,7 +446,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -444,7 +444,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -437,7 +437,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -443,7 +443,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -449,7 +449,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -370,7 +370,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -444,7 +444,7 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -522,10 +522,10 @@
<string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string> <string name="label_streetmode">Street Mode enabled\nOnly new transactions will be shown</string>
<string name="pocketchange_title" translatable="false">PocketChange</string> <string name="pocketchange_title" translatable="false">PocketChange</string>
<string name="pocketchange_amount" translatable="false">10 × %1$3.1f XMR</string> <string name="pocketchange_amount" translatable="false">%1$3.1f XMR</string>
<string name="pocketchange_tx_detail" translatable="false">PocketChange +%1$s</string> <string name="pocketchange_tx_detail" translatable="false">PocketChange +%1$s</string>
<string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain 10 coins of the selected amount.</string> <string name="pocketchange_info">To reduce waiting time on repeated spending, Monerujo can create spare change at the expense of higher fees. It\'ll try to create and maintain at least 6 coins of the selected amount.</string>
<string name="pocketchange_create_title">Create Change</string> <string name="pocketchange_create_title">Create Change</string>
<string name="label_apply">APPLY</string> <string name="label_apply">APPLY</string>

View File

@ -5,7 +5,7 @@ buildscript {
google() google()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:8.0.1' classpath 'com.android.tools.build:gradle:8.1.0'
} }
} }