mirror of https://github.com/m2049r/xmrwallet
parent
1ddd4f30b9
commit
ac1ea05ef6
|
@ -1237,7 +1237,7 @@ jobject newTransferList(JNIEnv *env, Monero::TransactionInfo *info) {
|
|||
|
||||
jobject newTransactionInfo(JNIEnv *env, Monero::TransactionInfo *info) {
|
||||
jmethodID c = env->GetMethodID(class_TransactionInfo, "<init>",
|
||||
"(IZZJJJLjava/lang/String;JLjava/lang/String;IIJLjava/lang/String;Ljava/util/List;)V");
|
||||
"(IZZJJJLjava/lang/String;JLjava/lang/String;IIJJLjava/lang/String;Ljava/util/List;)V");
|
||||
jobject transfers = newTransferList(env, info);
|
||||
jstring _hash = env->NewStringUTF(info->hash().c_str());
|
||||
jstring _paymentId = env->NewStringUTF(info->paymentId().c_str());
|
||||
|
@ -1258,6 +1258,7 @@ jobject newTransactionInfo(JNIEnv *env, Monero::TransactionInfo *info) {
|
|||
static_cast<jint> (info->subaddrAccount()),
|
||||
static_cast<jint> (subaddrIndex),
|
||||
static_cast<jlong> (info->confirmations()),
|
||||
static_cast<jlong> (info->unlockTime()),
|
||||
_label,
|
||||
transfers);
|
||||
env->DeleteLocalRef(transfers);
|
||||
|
|
|
@ -238,4 +238,5 @@ public class SubaddressFragment extends Fragment implements SubaddressInfoAdapte
|
|||
activityCallback.showSubaddress(view, subaddress.getAddressIndex());
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ import java.util.List;
|
|||
import timber.log.Timber;
|
||||
|
||||
public class SubaddressInfoFragment extends Fragment
|
||||
implements TransactionInfoAdapter.OnInteractionListener, OnBlockUpdateListener {
|
||||
implements TransactionInfoAdapter.Listener, OnBlockUpdateListener {
|
||||
private TransactionInfoAdapter adapter;
|
||||
|
||||
private Subaddress subaddress;
|
||||
|
@ -145,6 +145,8 @@ public class SubaddressInfoFragment extends Fragment
|
|||
void setTitle(String title, String subtitle);
|
||||
|
||||
void setSubtitle(String subtitle);
|
||||
|
||||
long getDaemonHeight();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -170,4 +172,9 @@ public class SubaddressInfoFragment extends Fragment
|
|||
public void onPause() {
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getDaemonHeight() {
|
||||
return activityCallback.getDaemonHeight();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,6 +44,8 @@ import com.m2049r.xmrwallet.data.UserNotes;
|
|||
import com.m2049r.xmrwallet.model.TransactionInfo;
|
||||
import com.m2049r.xmrwallet.model.Transfer;
|
||||
import com.m2049r.xmrwallet.model.Wallet;
|
||||
import com.m2049r.xmrwallet.model.WalletManager;
|
||||
import com.m2049r.xmrwallet.service.WalletService;
|
||||
import com.m2049r.xmrwallet.util.Helper;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
import com.m2049r.xmrwallet.widget.Toolbar;
|
||||
|
@ -83,6 +85,9 @@ public class TxFragment extends Fragment {
|
|||
private TextView tvTxTransfers;
|
||||
private TextView etTxNotes;
|
||||
|
||||
private View llWarning;
|
||||
private TextView tvWarning;
|
||||
|
||||
// XMRTO stuff
|
||||
private View cvXmrTo;
|
||||
private TextView tvTxXmrToKey;
|
||||
|
@ -116,9 +121,11 @@ public class TxFragment extends Fragment {
|
|||
tvTxFee = view.findViewById(R.id.tvTxFee);
|
||||
tvTxTransfers = view.findViewById(R.id.tvTxTransfers);
|
||||
etTxNotes = view.findViewById(R.id.etTxNotes);
|
||||
|
||||
etTxNotes.setRawInputType(InputType.TYPE_CLASS_TEXT);
|
||||
|
||||
llWarning = view.findViewById(R.id.llWarning);
|
||||
tvWarning = view.findViewById(R.id.tvWarning);
|
||||
|
||||
tvTxXmrToKey.setOnClickListener(v -> {
|
||||
Helper.clipBoardCopy(getActivity(), getString(R.string.label_copy_xmrtokey), tvTxXmrToKey.getText().toString());
|
||||
Toast.makeText(getActivity(), getString(R.string.message_copy_xmrtokey), Toast.LENGTH_SHORT).show();
|
||||
|
@ -299,6 +306,20 @@ public class TxFragment extends Fragment {
|
|||
tvTxTransfers.setText(sb.toString());
|
||||
tvDestination.setText(dstSb.toString());
|
||||
showBtcInfo();
|
||||
|
||||
showLock();
|
||||
}
|
||||
|
||||
private void showLock() {
|
||||
llWarning.setVisibility(View.GONE);
|
||||
if (info.unlockTime == 0) return;
|
||||
final long blockheight = activityCallback.getDaemonHeight();
|
||||
final long blocks = info.unlockTime - blockheight;
|
||||
final double unlockDays = blocks / (30. * 24);
|
||||
if (unlockDays > 0) {
|
||||
llWarning.setVisibility(View.VISIBLE);
|
||||
tvWarning.setText(getString(R.string.tx_locked, info.unlockTime, blocks, unlockDays));
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
|
@ -370,6 +391,7 @@ public class TxFragment extends Fragment {
|
|||
|
||||
void showSubaddress(View view, final int subaddressIndex);
|
||||
|
||||
long getDaemonHeight();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -62,7 +62,7 @@ import java.util.List;
|
|||
import timber.log.Timber;
|
||||
|
||||
public class WalletFragment extends Fragment
|
||||
implements TransactionInfoAdapter.OnInteractionListener {
|
||||
implements TransactionInfoAdapter.Listener {
|
||||
private TransactionInfoAdapter adapter;
|
||||
private final NumberFormat formatter = NumberFormat.getInstance();
|
||||
|
||||
|
@ -450,9 +450,9 @@ public class WalletFragment extends Fragment
|
|||
Wallet.ConnectionStatus daemonConnected = activityCallback.getConnectionStatus();
|
||||
if (daemonConnected == Wallet.ConnectionStatus.ConnectionStatus_Connected) {
|
||||
if (!wallet.isSynchronized()) {
|
||||
long daemonHeight = activityCallback.getDaemonHeight();
|
||||
long walletHeight = wallet.getBlockChainHeight();
|
||||
long n = daemonHeight - walletHeight;
|
||||
final long daemonHeight = getDaemonHeight();
|
||||
final long walletHeight = wallet.getBlockChainHeight();
|
||||
final long n = daemonHeight - walletHeight;
|
||||
sync = getString(R.string.status_syncing) + " " + formatter.format(n) + " " + getString(R.string.status_remaining);
|
||||
if (firstBlock == 0) {
|
||||
firstBlock = walletHeight;
|
||||
|
@ -560,4 +560,9 @@ public class WalletFragment extends Fragment
|
|||
} else
|
||||
ivStreetGunther.setImageDrawable(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getDaemonHeight() {
|
||||
return activityCallback.getDaemonHeight();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,8 @@ import com.m2049r.xmrwallet.R;
|
|||
import com.m2049r.xmrwallet.data.Crypto;
|
||||
import com.m2049r.xmrwallet.data.UserNotes;
|
||||
import com.m2049r.xmrwallet.model.TransactionInfo;
|
||||
import com.m2049r.xmrwallet.model.WalletManager;
|
||||
import com.m2049r.xmrwallet.service.WalletService;
|
||||
import com.m2049r.xmrwallet.util.Helper;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
|
||||
|
@ -61,12 +63,19 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
|
|||
void onInteraction(View view, TransactionInfo item);
|
||||
}
|
||||
|
||||
public interface DaemonHeightProvider {
|
||||
long getDaemonHeight();
|
||||
}
|
||||
|
||||
public interface Listener extends OnInteractionListener, DaemonHeightProvider {
|
||||
}
|
||||
|
||||
private final List<TransactionInfo> infoItems;
|
||||
private final OnInteractionListener listener;
|
||||
private final Listener listener;
|
||||
|
||||
private final Context context;
|
||||
|
||||
public TransactionInfoAdapter(Context context, OnInteractionListener listener) {
|
||||
public TransactionInfoAdapter(Context context, Listener listener) {
|
||||
this.context = context;
|
||||
inboundColour = ThemeHelper.getThemedColor(context, R.attr.positiveColor);
|
||||
outboundColour = ThemeHelper.getThemedColor(context, R.attr.negativeColor);
|
||||
|
@ -158,6 +167,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
|
|||
final TextView tvDateTime;
|
||||
final CircularProgressIndicator pbConfirmations;
|
||||
final TextView tvConfirmations;
|
||||
final ImageView ivLock;
|
||||
TransactionInfo infoItem;
|
||||
|
||||
ViewHolder(View itemView) {
|
||||
|
@ -170,6 +180,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
|
|||
pbConfirmations = itemView.findViewById(R.id.pbConfirmations);
|
||||
pbConfirmations.setMax(TransactionInfo.CONFIRMATION);
|
||||
tvConfirmations = itemView.findViewById(R.id.tvConfirmations);
|
||||
ivLock = itemView.findViewById(R.id.ivLock);
|
||||
}
|
||||
|
||||
private String getDateTime(long time) {
|
||||
|
@ -180,6 +191,21 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
|
|||
tvAmount.setTextColor(clr);
|
||||
}
|
||||
|
||||
private void showLock() {
|
||||
Timber.d("UNLOCK %d:%d", infoItem.unlockTime, infoItem.blockheight);
|
||||
if (infoItem.unlockTime == 0) {
|
||||
ivLock.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (getDaemonHeight() < infoItem.unlockTime) {
|
||||
tvConfirmations.setVisibility(View.GONE);
|
||||
ivLock.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
ivLock.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
void bind(int position) {
|
||||
infoItem = infoItems.get(position);
|
||||
itemView.setTransitionName(context.getString(R.string.tx_item_transition_name, infoItem.hash));
|
||||
|
@ -238,6 +264,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
|
|||
pbConfirmations.setVisibility(View.GONE);
|
||||
tvConfirmations.setVisibility(View.GONE);
|
||||
}
|
||||
showLock();
|
||||
|
||||
String tag = null;
|
||||
String info = "";
|
||||
|
@ -275,4 +302,8 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private long getDaemonHeight() {
|
||||
return listener.getDaemonHeight();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,6 +62,7 @@ public class TransactionInfo implements Parcelable, Comparable<TransactionInfo>
|
|||
public int accountIndex;
|
||||
public int addressIndex;
|
||||
public long confirmations;
|
||||
public long unlockTime;
|
||||
public String subaddressLabel;
|
||||
public List<Transfer> transfers;
|
||||
|
||||
|
@ -82,6 +83,7 @@ public class TransactionInfo implements Parcelable, Comparable<TransactionInfo>
|
|||
int accountIndex,
|
||||
int addressIndex,
|
||||
long confirmations,
|
||||
long unlockTime,
|
||||
String subaddressLabel,
|
||||
List<Transfer> transfers) {
|
||||
this.direction = Direction.values()[direction];
|
||||
|
@ -96,6 +98,7 @@ public class TransactionInfo implements Parcelable, Comparable<TransactionInfo>
|
|||
this.accountIndex = accountIndex;
|
||||
this.addressIndex = addressIndex;
|
||||
this.confirmations = confirmations;
|
||||
this.unlockTime = unlockTime;
|
||||
this.subaddressLabel = subaddressLabel;
|
||||
this.transfers = transfers;
|
||||
}
|
||||
|
@ -129,6 +132,7 @@ public class TransactionInfo implements Parcelable, Comparable<TransactionInfo>
|
|||
out.writeInt(accountIndex);
|
||||
out.writeInt(addressIndex);
|
||||
out.writeLong(confirmations);
|
||||
out.writeLong(unlockTime);
|
||||
out.writeString(subaddressLabel);
|
||||
out.writeList(transfers);
|
||||
out.writeString(txKey);
|
||||
|
@ -159,6 +163,7 @@ public class TransactionInfo implements Parcelable, Comparable<TransactionInfo>
|
|||
accountIndex = in.readInt();
|
||||
addressIndex = in.readInt();
|
||||
confirmations = in.readLong();
|
||||
unlockTime = in.readLong();
|
||||
subaddressLabel = in.readString();
|
||||
transfers = in.readArrayList(Transfer.class.getClassLoader());
|
||||
txKey = in.readString();
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:textColorSecondary"
|
||||
android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z" />
|
||||
</vector>
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?attr/colorPrimaryVariant"
|
||||
android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z" />
|
||||
</vector>
|
|
@ -11,6 +11,30 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/llWarning"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?attr/colorError"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvWarning"
|
||||
style="@style/MoneroLabel.Heading"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="start|center_vertical"
|
||||
android:padding="8dp"
|
||||
android:textColor="?colorOnError"
|
||||
app:drawableStartCompat="@drawable/ic_warning_24dp"
|
||||
app:drawableTint="?colorOnError"
|
||||
tools:text="Transaction amount locked until block 322229877 (approx. 2.4 months)" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingTop="12dp"
|
||||
android:paddingBottom="12dp"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp">
|
||||
android:paddingTop="12dp"
|
||||
android:paddingRight="8dp"
|
||||
android:paddingBottom="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
|
@ -58,6 +58,14 @@
|
|||
android:gravity="center"
|
||||
android:paddingBottom="1dp"
|
||||
android:text="8"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivLock"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_lock_24dp"
|
||||
android:visibility="visible" />
|
||||
</FrameLayout>
|
||||
|
||||
|
|
|
@ -447,4 +447,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -448,4 +448,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -449,4 +449,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -449,4 +449,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -440,4 +440,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -447,4 +447,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -700,4 +700,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -453,4 +453,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -451,4 +451,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -452,4 +452,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -452,4 +452,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -449,4 +449,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -449,4 +449,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -442,4 +442,6 @@ aqui.</string>
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -453,4 +453,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -449,4 +449,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -453,4 +453,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Не удалось создать QR!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -450,4 +450,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -448,4 +448,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -441,4 +441,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -447,4 +447,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -453,4 +453,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -373,4 +373,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -448,4 +448,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
|
@ -526,4 +526,6 @@
|
|||
</string-array>
|
||||
|
||||
<string name="message_qr_failed">Failed to create QR for sharing!</string>
|
||||
|
||||
<string name="tx_locked">Transaction amount locked until block %1$d (in %2$d blocks ≈ %3$,.2f days)</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue