1
mirror of https://github.com/m2049r/xmrwallet synced 2025-09-05 09:58:42 +02:00

Compare commits

...

9 Commits

Author SHA1 Message Date
m2049r
1dc081834f bump version 2022-10-22 11:33:11 +02:00
m2049r
ce084927e1 fix langauge list 2022-10-22 11:32:44 +02:00
Kartal Kaan Bozdoğan
3610781f43 Display the unconfirmed amount in the chosen currency (#844)
Changed the translations accordingly
2022-10-22 10:59:25 +02:00
m2049r
ef3ddbac71 fix versions 2022-08-13 23:24:57 +02:00
m2049r
0512af1496 Monero v0.18.1.0 2022-08-13 10:20:21 +02:00
m2049r
bd2c49669a Feature v18 (#860)
* versions

* remove x86 builds
2022-08-10 16:50:18 +02:00
Kartal Kaan Bozdoğan
ac7831d0f9 Upgrade to 0.18.0.0 Fluorine Fermi (#856)
* Upgrade to Monero wallet 0.18.0.0 Fluorine Fermi
2022-08-05 01:09:56 +02:00
Kartal Kaan Bozdoğan
0f0b9a38c7 Fix new wallet restore height (#858)
* New wallets: set current block height as the restore height.
  Go back 4 days for estimated heights
2022-08-05 01:09:10 +02:00
Kartal Kaan Bozdoğan
807db19603 Fixed zlib hashes (#845) 2022-08-05 01:02:34 +02:00
39 changed files with 382 additions and 276 deletions

View File

@@ -121,7 +121,7 @@ set_target_properties(easylogging PROPERTIES IMPORTED_LOCATION
add_library(unbound STATIC IMPORTED) add_library(unbound STATIC IMPORTED)
set_target_properties(unbound PROPERTIES IMPORTED_LOCATION set_target_properties(unbound PROPERTIES IMPORTED_LOCATION
${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/monero/libunbound.a) ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/libunbound.a)
add_library(epee STATIC IMPORTED) add_library(epee STATIC IMPORTED)
set_target_properties(epee PROPERTIES IMPORTED_LOCATION set_target_properties(epee PROPERTIES IMPORTED_LOCATION

View File

@@ -8,8 +8,8 @@ android {
applicationId "com.m2049r.xmrwallet" applicationId "com.m2049r.xmrwallet"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 31 targetSdkVersion 31
versionCode 1403 versionCode 3003
versionName "2.4.3 'Baldaŭ'" versionName "3.0.3 'Fluorine Fermi'"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild { externalNativeBuild {
cmake { cmake {
@@ -72,7 +72,7 @@ android {
abi { abi {
enable true enable true
reset() reset()
include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' include 'armeabi-v7a', 'arm64-v8a', 'x86_64'
universalApk true universalApk true
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -916,9 +916,9 @@ public class LoginActivity extends BaseActivity
@Override @Override
public boolean createWallet(File aFile, String password) { public boolean createWallet(File aFile, String password) {
NodeInfo currentNode = getNode(); NodeInfo currentNode = getNode();
// get it from the connected node if we have one, and go back ca. 4 days // get it from the connected node if we have one
final long restoreHeight = final long restoreHeight =
(currentNode != null) ? currentNode.getHeight() - 2000 : -1; (currentNode != null) ? currentNode.getHeight() : -1;
Wallet newWallet = WalletManager.getInstance() Wallet newWallet = WalletManager.getInstance()
.createWallet(aFile, password, MNEMONIC_LANGUAGE, restoreHeight); .createWallet(aFile, password, MNEMONIC_LANGUAGE, restoreHeight);
return checkAndCloseWallet(newWallet); return checkAndCloseWallet(newWallet);

View File

@@ -118,9 +118,9 @@ public class WalletFragment extends Fragment
tvProgress = view.findViewById(R.id.tvProgress); tvProgress = view.findViewById(R.id.tvProgress);
pbProgress = view.findViewById(R.id.pbProgress); pbProgress = view.findViewById(R.id.pbProgress);
tvBalance = view.findViewById(R.id.tvBalance); tvBalance = view.findViewById(R.id.tvBalance);
showBalance(Helper.getDisplayAmount(0)); showBalance();
tvUnconfirmedAmount = view.findViewById(R.id.tvUnconfirmedAmount); tvUnconfirmedAmount = view.findViewById(R.id.tvUnconfirmedAmount);
showUnconfirmed(0); showUnconfirmed();
ivSynced = view.findViewById(R.id.ivSynced); ivSynced = view.findViewById(R.id.ivSynced);
sCurrency = view.findViewById(R.id.sCurrency); sCurrency = view.findViewById(R.id.sCurrency);
@@ -205,7 +205,18 @@ public class WalletFragment extends Fragment
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
} }
void showBalance(String balance) { String amountToString(double amount) {
if (!Helper.BASE_CRYPTO.equals(balanceCurrency)) { // not XMR
double amountB = amount * balanceRate;
return Helper.getFormattedAmount(amountB, false);
} else { // XMR
return Helper.getFormattedAmount(amount, true);
}
}
void showBalance() {
double amountA = Helper.getDecimalAmount(unlockedBalance).doubleValue();
String balance = amountToString(amountA);
tvBalance.setText(balance); tvBalance.setText(balance);
final boolean streetMode = activityCallback.isStreetMode(); final boolean streetMode = activityCallback.isStreetMode();
if (!streetMode) { if (!streetMode) {
@@ -218,13 +229,14 @@ public class WalletFragment extends Fragment
setStreetModeBackground(streetMode); setStreetModeBackground(streetMode);
} }
void showUnconfirmed(double unconfirmedAmount) { void showUnconfirmed() {
double unconfirmedAmount = Helper.getDecimalAmount(balance - unlockedBalance).doubleValue();
if (activityCallback.isStreetMode() || unconfirmedAmount == 0) { if (activityCallback.isStreetMode() || unconfirmedAmount == 0) {
tvUnconfirmedAmount.setText(null); tvUnconfirmedAmount.setText(null);
tvUnconfirmedAmount.setVisibility(View.GONE); tvUnconfirmedAmount.setVisibility(View.GONE);
} else { } else {
String unconfirmed = Helper.getFormattedAmount(unconfirmedAmount, true); String unconfirmed = amountToString(unconfirmedAmount);
tvUnconfirmedAmount.setText(getResources().getString(R.string.xmr_unconfirmed_amount, unconfirmed)); tvUnconfirmedAmount.setText(getResources().getString(R.string.xmr_unconfirmed_amount, unconfirmed, balanceCurrency));
tvUnconfirmedAmount.setVisibility(View.VISIBLE); tvUnconfirmedAmount.setVisibility(View.VISIBLE);
} }
} }
@@ -232,15 +244,8 @@ public class WalletFragment extends Fragment
void updateBalance() { void updateBalance() {
if (isExchanging) return; // wait for exchange to finish - it will fire this itself then. if (isExchanging) return; // wait for exchange to finish - it will fire this itself then.
// at this point selection is XMR in case of error // at this point selection is XMR in case of error
String displayB; showBalance();
double amountA = Helper.getDecimalAmount(unlockedBalance).doubleValue(); showUnconfirmed();
if (!Helper.BASE_CRYPTO.equals(balanceCurrency)) { // not XMR
double amountB = amountA * balanceRate;
displayB = Helper.getFormattedAmount(amountB, false);
} else { // XMR
displayB = Helper.getFormattedAmount(amountA, true);
}
showBalance(displayB);
} }
String balanceCurrency = Helper.BASE_CRYPTO; String balanceCurrency = Helper.BASE_CRYPTO;
@@ -249,11 +254,11 @@ public class WalletFragment extends Fragment
private final ExchangeApi exchangeApi = ServiceHelper.getExchangeApi(); private final ExchangeApi exchangeApi = ServiceHelper.getExchangeApi();
void refreshBalance() { void refreshBalance() {
double unconfirmedXmr = Helper.getDecimalAmount(balance - unlockedBalance).doubleValue();
showUnconfirmed(unconfirmedXmr);
if (sCurrency.getSelectedItemPosition() == 0) { // XMR if (sCurrency.getSelectedItemPosition() == 0) { // XMR
double amountXmr = Helper.getDecimalAmount(unlockedBalance).doubleValue(); balanceCurrency = Helper.BASE_CRYPTO;
showBalance(Helper.getFormattedAmount(amountXmr, true)); balanceRate = 1.0;
showBalance();
showUnconfirmed();
} else { // not XMR } else { // not XMR
String currency = (String) sCurrency.getSelectedItem(); String currency = (String) sCurrency.getSelectedItem();
Timber.d(currency); Timber.d(currency);
@@ -298,8 +303,7 @@ public class WalletFragment extends Fragment
public void exchangeFailed() { public void exchangeFailed() {
sCurrency.setSelection(0, true); // default to XMR sCurrency.setSelection(0, true); // default to XMR
double amountXmr = Helper.getDecimalAmount(unlockedBalance).doubleValue(); showBalance();
showBalance(Helper.getFormattedAmount(amountXmr, true));
hideExchanging(); hideExchanging();
} }

View File

@@ -46,7 +46,7 @@ public class Ledger {
public static final int SW_OK = 0x9000; public static final int SW_OK = 0x9000;
public static final int SW_INS_NOT_SUPPORTED = 0x6D00; public static final int SW_INS_NOT_SUPPORTED = 0x6D00;
public static final int OK[] = {SW_OK}; public static final int OK[] = {SW_OK};
public static final int MINIMUM_LEDGER_VERSION = (1 << 16) + (6 << 8) + (0); // 1.6.0 public static final int MINIMUM_LEDGER_VERSION = (1 << 16) + (8 << 8) + (0); // 1.6.0
public static UsbDevice findDevice(UsbManager usbManager) { public static UsbDevice findDevice(UsbManager usbManager) {
if (!ENABLED) return null; if (!ENABLED) return null;

View File

@@ -24,6 +24,7 @@ import com.m2049r.xmrwallet.util.RestoreHeight;
import java.io.File; import java.io.File;
import java.io.FilenameFilter; import java.io.FilenameFilter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@@ -96,8 +97,11 @@ public class WalletManager {
if (wallet.getStatus().isOk()) { if (wallet.getStatus().isOk()) {
// (Re-)Estimate restore height based on what we know // (Re-)Estimate restore height based on what we know
final long oldHeight = wallet.getRestoreHeight(); final long oldHeight = wallet.getRestoreHeight();
// Go back 4 days if we don't have a precise restore height
Calendar restoreDate = Calendar.getInstance();
restoreDate.add(Calendar.DAY_OF_MONTH, -4);
final long restoreHeight = final long restoreHeight =
(height > -1) ? height : RestoreHeight.getInstance().getHeight(new Date()); (height > -1) ? height : RestoreHeight.getInstance().getHeight(restoreDate.getTime());
wallet.setRestoreHeight(restoreHeight); wallet.setRestoreHeight(restoreHeight);
Timber.d("Changed Restore Height from %d to %d", oldHeight, wallet.getRestoreHeight()); Timber.d("Changed Restore Height from %d to %d", oldHeight, wallet.getRestoreHeight());
wallet.setPassword(password); // this rewrites the keys file (which contains the restore height) wallet.setPassword(password); // this rewrites the keys file (which contains the restore height)

View File

@@ -35,7 +35,8 @@ public class LocaleHelper {
String[] availableLocales = context.getString(R.string.available_locales).split(","); String[] availableLocales = context.getString(R.string.available_locales).split(",");
for (String localeName : availableLocales) { for (String localeName : availableLocales) {
locales.add(Locale.forLanguageTag(localeName)); if (!localeName.startsWith("night") && !localeName.matches("v[0-9]+"))
locales.add(Locale.forLanguageTag(localeName));
} }
return locales; return locales;

View File

@@ -134,7 +134,7 @@
<string name="label_wallet_receive">Rebre</string> <string name="label_wallet_receive">Rebre</string>
<string name="label_wallet_send">Enviar</string> <string name="label_wallet_send">Enviar</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR sense confirmar</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s sense confirmar</string>
<string name="service_description">Servei de monerujo</string> <string name="service_description">Servei de monerujo</string>

View File

@@ -135,7 +135,7 @@
<string name="label_wallet_receive">Empfange</string> <string name="label_wallet_receive">Empfange</string>
<string name="label_wallet_send">Sende</string> <string name="label_wallet_send">Sende</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR unbestätigt</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s unbestätigt</string>
<string name="service_description">monerujo Service</string> <string name="service_description">monerujo Service</string>

View File

@@ -123,7 +123,7 @@
<string name="label_wallet_receive">Λήψη</string> <string name="label_wallet_receive">Λήψη</string>
<string name="label_wallet_send">Αποστολή</string> <string name="label_wallet_send">Αποστολή</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR μη επιβεβαιωμένα</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s μη επιβεβαιωμένα</string>
<string name="service_description">Υπηρεσία monerujo</string> <string name="service_description">Υπηρεσία monerujo</string>

View File

@@ -134,7 +134,7 @@
<string name="label_wallet_receive">Ricevi</string> <string name="label_wallet_receive">Ricevi</string>
<string name="label_wallet_send">Doni</string> <string name="label_wallet_send">Doni</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR nekonfirmite</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s nekonfirmite</string>
<string name="service_description">monerujo Servo</string> <string name="service_description">monerujo Servo</string>

View File

@@ -86,7 +86,7 @@
<string name="label_wallet_receive">Recibir</string> <string name="label_wallet_receive">Recibir</string>
<string name="label_wallet_send">Enviar</string> <string name="label_wallet_send">Enviar</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR sin confirmar</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s sin confirmar</string>
<string name="service_description">Servicio de Monerujo</string> <string name="service_description">Servicio de Monerujo</string>

View File

@@ -132,7 +132,7 @@
<string name="label_wallet_receive">Küsi raha</string> <string name="label_wallet_receive">Küsi raha</string>
<string name="label_wallet_send">Saada</string> <string name="label_wallet_send">Saada</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR kinnitamata</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s kinnitamata</string>
<string name="service_description">monerujo teenus</string> <string name="service_description">monerujo teenus</string>

View File

@@ -232,7 +232,7 @@
<string name="xmr_unconfirmed_amount"> <string name="xmr_unconfirmed_amount">
مقدار مقدار
+%1$s XMR +%1$s %2$s
تایید نشده است تایید نشده است
</string> </string>

View File

@@ -134,7 +134,7 @@
<string name="label_wallet_receive">Recevoir</string> <string name="label_wallet_receive">Recevoir</string>
<string name="label_wallet_send">Envoyer</string> <string name="label_wallet_send">Envoyer</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR non confirmés</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s non confirmés</string>
<string name="service_description">Service monerujo</string> <string name="service_description">Service monerujo</string>

View File

@@ -132,7 +132,7 @@
<string name="label_wallet_receive">Fogadás</string> <string name="label_wallet_receive">Fogadás</string>
<string name="label_wallet_send">Küldés</string> <string name="label_wallet_send">Küldés</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR függőben</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s függőben</string>
<string name="service_description">monerujo szolgáltatás</string> <string name="service_description">monerujo szolgáltatás</string>

View File

@@ -134,7 +134,7 @@
<string name="label_wallet_receive">Ricevi</string> <string name="label_wallet_receive">Ricevi</string>
<string name="label_wallet_send">Invia</string> <string name="label_wallet_send">Invia</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR non confermati</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s non confermati</string>
<string name="service_description">Servizio monerujo</string> <string name="service_description">Servizio monerujo</string>

View File

@@ -134,7 +134,7 @@
<string name="label_wallet_receive">受取り</string> <string name="label_wallet_receive">受取り</string>
<string name="label_wallet_send">送金</string> <string name="label_wallet_send">送金</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR が未承認</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s が未承認</string>
<string name="service_description">monerujo のサービス</string> <string name="service_description">monerujo のサービス</string>

View File

@@ -132,7 +132,7 @@
<string name="label_wallet_receive">Motta</string> <string name="label_wallet_receive">Motta</string>
<string name="label_wallet_send">Gi</string> <string name="label_wallet_send">Gi</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR ubekrefta</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s ubekrefta</string>
<string name="service_description">monerujo tjeneste</string> <string name="service_description">monerujo tjeneste</string>

View File

@@ -132,7 +132,7 @@
<string name="label_wallet_receive">Ontvangen</string> <string name="label_wallet_receive">Ontvangen</string>
<string name="label_wallet_send">Geven</string> <string name="label_wallet_send">Geven</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR onbevestigd</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s onbevestigd</string>
<string name="service_description">monerujo-service</string> <string name="service_description">monerujo-service</string>

View File

@@ -133,7 +133,7 @@
<string name="label_wallet_receive">Receber</string> <string name="label_wallet_receive">Receber</string>
<string name="label_wallet_send">Enviar</string> <string name="label_wallet_send">Enviar</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR não confirmado</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s não confirmado</string>
<string name="service_description">Serviço monerujo</string> <string name="service_description">Serviço monerujo</string>

View File

@@ -130,7 +130,7 @@
<string name="label_wallet_receive">Receber</string> <string name="label_wallet_receive">Receber</string>
<string name="label_wallet_send">Enviar</string> <string name="label_wallet_send">Enviar</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR não confirmado</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s não confirmado</string>
<string name="service_description">Serviço monerujo</string> <string name="service_description">Serviço monerujo</string>

View File

@@ -123,7 +123,7 @@
<string name="label_wallet_receive">Primește</string> <string name="label_wallet_receive">Primește</string>
<string name="label_wallet_send">Trimite</string> <string name="label_wallet_send">Trimite</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR neconfirmat</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s neconfirmat</string>
<string name="service_description">Serviciul monerujo</string> <string name="service_description">Serviciul monerujo</string>

View File

@@ -133,7 +133,7 @@
<string name="label_wallet_receive">Получить</string> <string name="label_wallet_receive">Получить</string>
<string name="label_wallet_send">Передать</string> <string name="label_wallet_send">Передать</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR неподтвержденно</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s неподтвержденно</string>
<string name="service_description">Служба Monerujo</string> <string name="service_description">Служба Monerujo</string>

View File

@@ -133,7 +133,7 @@
<string name="label_wallet_receive">Prijať</string> <string name="label_wallet_receive">Prijať</string>
<string name="label_wallet_send">Poslať</string> <string name="label_wallet_send">Poslať</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR nepotvrdených</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s nepotvrdených</string>
<string name="service_description">monerujo Service</string> <string name="service_description">monerujo Service</string>

View File

@@ -135,7 +135,7 @@
<string name="label_wallet_receive">Primljeno</string> <string name="label_wallet_receive">Primljeno</string>
<string name="label_wallet_send">Daj</string> <string name="label_wallet_send">Daj</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR nepotvrđeno</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s nepotvrđeno</string>
<string name="service_description">monerujo Servis</string> <string name="service_description">monerujo Servis</string>

View File

@@ -131,7 +131,7 @@
<string name="label_wallet_receive">Ta emot</string> <string name="label_wallet_receive">Ta emot</string>
<string name="label_wallet_send">Ge</string> <string name="label_wallet_send">Ge</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR obekräftade</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s obekräftade</string>
<string name="service_description">monerujo-tjänsten</string> <string name="service_description">monerujo-tjänsten</string>

View File

@@ -136,7 +136,7 @@
<string name="label_wallet_receive">பெறு</string> <string name="label_wallet_receive">பெறு</string>
<string name="label_wallet_send">அனுப்பு</string> <string name="label_wallet_send">அனுப்பு</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR உறுதிப்படுத்தப்படவில்லை</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s உறுதிப்படுத்தப்படவில்லை</string>
<string name="service_description">monerujo சேவை</string> <string name="service_description">monerujo சேவை</string>

View File

@@ -133,7 +133,7 @@
<string name="label_wallet_receive">Отримати</string> <string name="label_wallet_receive">Отримати</string>
<string name="label_wallet_send">Відправити</string> <string name="label_wallet_send">Відправити</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR непідтверджено</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s непідтверджено</string>
<string name="service_description">Служба monerujo</string> <string name="service_description">Служба monerujo</string>

View File

@@ -99,7 +99,7 @@
<string name="label_watchonly">(只读)</string> <string name="label_watchonly">(只读)</string>
<string name="label_wallet_receive">收款</string> <string name="label_wallet_receive">收款</string>
<string name="label_wallet_send">发送</string> <string name="label_wallet_send">发送</string>
<string name="xmr_unconfirmed_amount">+ %1$s XMR未确认</string> <string name="xmr_unconfirmed_amount">+ %1$s %2$s未确认</string>
<string name="service_description">monerujo服务</string> <string name="service_description">monerujo服务</string>
<string name="status_synced">已同步:</string> <string name="status_synced">已同步:</string>
<string name="status_remaining">区块剩余</string> <string name="status_remaining">区块剩余</string>

View File

@@ -133,7 +133,7 @@
<string name="label_wallet_receive">接收</string> <string name="label_wallet_receive">接收</string>
<string name="label_wallet_send">發送</string> <string name="label_wallet_send">發送</string>
<string name="xmr_unconfirmed_amount">+ %1$s 未確認的 XMR </string> <string name="xmr_unconfirmed_amount">+ %1$s 未確認的 %2$s </string>
<string name="service_description">monerujo 服務</string> <string name="service_description">monerujo 服務</string>

Some files were not shown because too many files have changed in this diff Show More