From d2612a26e544b27f653f54f93f31c3fec05b01cb Mon Sep 17 00:00:00 2001 From: m2049r Date: Mon, 26 Nov 2018 12:05:40 +0100 Subject: [PATCH] show my tx (sub)address (#487) --- app/src/main/cpp/monerujo.cpp | 10 ++++--- .../java/com/m2049r/xmrwallet/TxFragment.java | 8 ++++++ .../com/m2049r/xmrwallet/WalletActivity.java | 5 ++++ .../xmrwallet/model/TransactionInfo.java | 15 ++++++----- app/src/main/res/layout/fragment_tx_info.xml | 26 ++++++++++++++++--- app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-el/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-et/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-hu/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-nb/strings.xml | 1 + app/src/main/res/values-nl/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 1 + app/src/main/res/values-pt/strings.xml | 1 + app/src/main/res/values-ro/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-sk/strings.xml | 1 + app/src/main/res/values-sv/strings.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 23 files changed, 67 insertions(+), 15 deletions(-) diff --git a/app/src/main/cpp/monerujo.cpp b/app/src/main/cpp/monerujo.cpp index fe8d7ae..20e5ce7 100644 --- a/app/src/main/cpp/monerujo.cpp +++ b/app/src/main/cpp/monerujo.cpp @@ -417,8 +417,8 @@ Java_com_m2049r_xmrwallet_model_WalletManager_verifyWalletPassword(JNIEnv *env, //virtual int queryWalletHardware(const std::string &keys_file_name, const std::string &password) const = 0; JNIEXPORT jint JNICALL Java_com_m2049r_xmrwallet_model_WalletManager_queryWalletDeviceJ(JNIEnv *env, jobject instance, - jstring keys_file_name, - jstring password) { + jstring keys_file_name, + jstring password) { const char *_keys_file_name = env->GetStringUTFChars(keys_file_name, NULL); const char *_password = env->GetStringUTFChars(password, NULL); Bitmonero::Wallet::Device device_type; @@ -1185,10 +1185,11 @@ jobject newTransferList(JNIEnv *env, Bitmonero::TransactionInfo *info) { jobject newTransactionInfo(JNIEnv *env, Bitmonero::TransactionInfo *info) { jmethodID c = env->GetMethodID(class_TransactionInfo, "", - "(IZZJJJLjava/lang/String;JLjava/lang/String;IIJLjava/util/List;)V"); + "(IZZJJJLjava/lang/String;JLjava/lang/String;IIJLjava/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()); + jstring _label = env->NewStringUTF(info->label().c_str()); uint32_t subaddrIndex = 0; if (info->direction() == Bitmonero::TransactionInfo::Direction_In) subaddrIndex = *(info->subaddrIndex().begin()); @@ -1205,6 +1206,7 @@ jobject newTransactionInfo(JNIEnv *env, Bitmonero::TransactionInfo *info) { info->subaddrAccount(), subaddrIndex, info->confirmations(), + _label, transfers); env->DeleteLocalRef(transfers); env->DeleteLocalRef(_hash); @@ -1397,7 +1399,7 @@ Java_com_m2049r_xmrwallet_model_WalletManager_setLogLevel(JNIEnv *env, jclass cl * * @return length of received data in response or -1 if error */ -int LedgerExchange( +int LedgerExchange( unsigned char *command, unsigned int cmd_len, unsigned char *response, diff --git a/app/src/main/java/com/m2049r/xmrwallet/TxFragment.java b/app/src/main/java/com/m2049r/xmrwallet/TxFragment.java index 137e6a5..8fbb90f 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/TxFragment.java +++ b/app/src/main/java/com/m2049r/xmrwallet/TxFragment.java @@ -60,6 +60,7 @@ public class TxFragment extends Fragment { } private TextView tvAccount; + private TextView tvAddress; private TextView tvTxTimestamp; private TextView tvTxId; private TextView tvTxKey; @@ -90,6 +91,7 @@ public class TxFragment extends Fragment { tvTxAmountBtc = view.findViewById(R.id.tvTxAmountBtc); tvAccount = view.findViewById(R.id.tvAccount); + tvAddress = view.findViewById(R.id.tvAddress); tvTxTimestamp = view.findViewById(R.id.tvTxTimestamp); tvTxId = view.findViewById(R.id.tvTxId); tvTxKey = view.findViewById(R.id.tvTxKey); @@ -219,12 +221,16 @@ public class TxFragment extends Fragment { if (info.txKey == null) { info.txKey = activityCallback.getTxKey(info.hash); } + if (info.address == null) { + info.address = activityCallback.getTxAddress(info.account, info.subaddress); + } loadNotes(info); activityCallback.setSubtitle(getString(R.string.tx_title)); activityCallback.setToolbarButton(Toolbar.BUTTON_BACK); tvAccount.setText(getString(R.string.tx_account_formatted, info.account, info.subaddress)); + tvAddress.setText(info.address); tvTxTimestamp.setText(TS_FORMATTER.format(new Date(info.timestamp * 1000))); tvTxId.setText(info.hash); @@ -331,6 +337,8 @@ public class TxFragment extends Fragment { String getTxNotes(String hash); + String getTxAddress(int major, int minor); + void onSetNote(String txId, String notes); void setToolbarButton(int type); diff --git a/app/src/main/java/com/m2049r/xmrwallet/WalletActivity.java b/app/src/main/java/com/m2049r/xmrwallet/WalletActivity.java index cfb4816..6794159 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/WalletActivity.java +++ b/app/src/main/java/com/m2049r/xmrwallet/WalletActivity.java @@ -168,6 +168,11 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste return getWallet().getUserNote(txId); } + @Override + public String getTxAddress(int major, int minor) { + return getWallet().getSubaddress(major, minor); + } + @Override protected void onStart() { super.onStart(); diff --git a/app/src/main/java/com/m2049r/xmrwallet/model/TransactionInfo.java b/app/src/main/java/com/m2049r/xmrwallet/model/TransactionInfo.java index 74ada2c..1154799 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/model/TransactionInfo.java +++ b/app/src/main/java/com/m2049r/xmrwallet/model/TransactionInfo.java @@ -18,10 +18,8 @@ package com.m2049r.xmrwallet.model; import android.os.Parcel; import android.os.Parcelable; -import android.util.Log; import java.util.List; -import java.util.Random; // this is not the TransactionInfo from the API as that is owned by the TransactionHistory // this is a POJO for the TransactionInfoAdapter @@ -53,11 +51,6 @@ public class TransactionInfo implements Parcelable, Comparable } } -// virtual std::set subaddrIndex() const = 0; -// virtual uint32_t subaddrAccount() const = 0; -// virtual std::string label() const = 0; -// virtual uint64_t confirmations() const = 0; - public Direction direction; public boolean isPending; public boolean isFailed; @@ -70,10 +63,12 @@ public class TransactionInfo implements Parcelable, Comparable public int account; public int subaddress; public long confirmations; + public String subaddressLabel; public List transfers; public String txKey = null; public String notes = null; + public String address = null; public TransactionInfo( int direction, @@ -88,6 +83,7 @@ public class TransactionInfo implements Parcelable, Comparable int account, int subaddress, long confirmations, + String subaddressLabel, List transfers) { this.direction = Direction.values()[direction]; this.isPending = isPending; @@ -101,6 +97,7 @@ public class TransactionInfo implements Parcelable, Comparable this.account = account; this.subaddress = subaddress; this.confirmations = confirmations; + this.subaddressLabel = subaddressLabel; this.transfers = transfers; } @@ -122,9 +119,11 @@ public class TransactionInfo implements Parcelable, Comparable out.writeInt(account); out.writeInt(subaddress); out.writeLong(confirmations); + out.writeString(subaddressLabel); out.writeList(transfers); out.writeString(txKey); out.writeString(notes); + out.writeString(address); } public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -150,9 +149,11 @@ public class TransactionInfo implements Parcelable, Comparable account = in.readInt(); subaddress = in.readInt(); confirmations = in.readLong(); + subaddressLabel = in.readString(); transfers = in.readArrayList(Transfer.class.getClassLoader()); txKey = in.readString(); notes = in.readString(); + address = in.readString(); } @Override diff --git a/app/src/main/res/layout/fragment_tx_info.xml b/app/src/main/res/layout/fragment_tx_info.xml index b22dd62..2af0920 100644 --- a/app/src/main/res/layout/fragment_tx_info.xml +++ b/app/src/main/res/layout/fragment_tx_info.xml @@ -79,8 +79,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" - android:drawablePadding="8dp" android:drawableStart="@drawable/ic_xmrto_32dp" + android:drawablePadding="8dp" android:gravity="center" android:text="@string/label_send_btc_xmrto_info" /> @@ -152,10 +152,10 @@ android:background="@color/dotGray" android:drawableEnd="@drawable/ic_content_copy_white_24dp" android:drawablePadding="16dp" - android:paddingBottom="8dp" - android:paddingEnd="8dp" android:paddingStart="24dp" android:paddingTop="8dp" + android:paddingEnd="8dp" + android:paddingBottom="8dp" android:textColor="@color/white" tools:text="XMR.TO-d2KQ" /> @@ -189,6 +189,24 @@ android:textIsSelectable="true" /> + + + + + + + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 6769a03..95e745a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -293,6 +293,7 @@ Konto erstellen Neues Konto #%1$d hinzugefügt Konto # + Adresse Versende ALLE(!) verfügbaren Gelder aus diesem Konto Subadresse #%1$d diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index db112ce..e88cb80 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -293,6 +293,7 @@ Create Account Added new account #%1$d Account # + Διεύθυνση Send all confirmed funds in this account! Subaddress #%1$d Public Subaddress #%1$d diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index a146bc5..2dd8527 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -280,6 +280,7 @@ Crear Cuenta Nueva cuenta agregada #%1$d # de cuenta + Dirección Send all confirmed funds in this account! Subaddress #%1$d diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index a6a2166..4e6d31e 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -298,6 +298,7 @@ Loo konto Uus konto lisatud #%1$d Konto # + Aadress Saada kõik selle konto kinnitatud vahendid! Alamaadress #%1$d diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f70a987..bab0022 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -295,6 +295,7 @@ Créer un Compte Nouveau Compte #%1$d ajouté Compte # + Adresse Envoyer tous les fonds confirmés sur ce compte ! Sous-adresse #%1$d diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 2b5103f..66c8b48 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -292,6 +292,7 @@ Számla létrehozása Új számla hozzáadva (#%1$d) Számla # + Cím Teljes megerősített egyenleg küldése! Alcím #%1$d diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 74fd719..3ab0255 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -294,6 +294,7 @@ Crea Account Aggiunto nuovo account #%1$d Account # + Indirizzo Manda tutti i fondi confermati in questo account! Sottoindirizzo #%1$d diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 5a963d6..78cfd84 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -292,6 +292,7 @@ Create Account Added new account #%1$d Account # + Adresse Send all confirmed funds in this account! Subaddress #%1$d diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 2e69b26..b218744 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -290,6 +290,7 @@ Account maken Nieuw account #%1$d toegevoegd Accountnr. + Adres Al het bevestigde geld in dit account verzenden! Subadres #%1$d diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 1b50b7f..3035874 100755 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -292,6 +292,7 @@ Criar conta Conta adicionada #%1$d Conta # + Endereço Enviar todo o saldo disponível nesta conta! Subendereço #%1$d diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index c95ab46..52683d9 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -294,6 +294,7 @@ Create Account Added new account #%1$d Account # + Endereço Send all confirmed funds in this account! Subaddress #%1$d diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 5bad90e..7de855c 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -293,6 +293,7 @@ Create Account Added new account #%1$d Account # + Adresă Send all confirmed funds in this account! Subaddress #%1$d Public Subaddress #%1$d diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a47de26..cd2df2f 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -293,6 +293,7 @@ Создать учетную запись Добавить новую учетную запись #%1$d Учетная запись # + Адрес Отправить все средства на этот счет! Субадрес #%1$d diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 91f1d17..bf921cc 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -290,6 +290,7 @@ Vytvor Účet Pridaný nový účet #%1$d Účet # + Adresa Pošli všetky potvrdené prostriedky na tomto účte! Podadresa #%1$d diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 9ba59e2..b8d116c 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -276,6 +276,7 @@ Skapa konto Nytt konto skapat #%1$d Konto # + Adress Skicka alla bekräftade pengar i detta konto! Underadress #%1$d diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index fdd9ebd..cd64326 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -290,6 +290,7 @@ 开新户口 已新增户口 #%1$d 户口 # + 地址 发送这个户口的所有已确认款项! 附属地址 #%1$d diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index a59cc65..6eade71 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -291,6 +291,7 @@ 新增帳戶 已新增帳戶 #%1$d 帳戶 # + 地址 發送這個帳戶的所有已確認款項! 子地址 #%1$d diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0aed979..c063edc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -345,6 +345,7 @@ Create Account Added new account #%1$d Account # + Address Send all confirmed funds in this account! Subaddress #%1$d