Rebase to monerujo

This commit is contained in:
Monerujo 2021-04-21 18:16:05 +00:00 committed by m2049r
parent 50f6a8930e
commit b7fba99c7c
No known key found for this signature in database
GPG Key ID: 4386E69AF260078D
28 changed files with 216 additions and 75 deletions

View File

@ -474,6 +474,7 @@ public class LoginActivity extends BaseActivity
@Override
public void onWalletBackup(String walletName) {
Timber.d("backup for wallet ." + walletName + ".");
// overwrite any pending backup request
zipBackup = new ZipBackup(this, walletName);
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
@ -500,14 +501,18 @@ public class LoginActivity extends BaseActivity
if (data == null) {
// nothing selected
Toast.makeText(this, getString(R.string.backup_failed), Toast.LENGTH_LONG).show();
zipBackup = null;
return;
}
try {
if (zipBackup == null) return; // ignore unsolicited request
zipBackup.writeTo(data.getData());
Toast.makeText(this, getString(R.string.backup_success), Toast.LENGTH_SHORT).show();
} catch (IOException ex) {
Timber.e(ex);
Toast.makeText(this, getString(R.string.backup_failed), Toast.LENGTH_LONG).show();
} finally {
zipBackup = null;
}
} else if (requestCode == RESTORE_BACKUP_INTENT) {
if (data == null) {
@ -557,6 +562,31 @@ public class LoginActivity extends BaseActivity
.show();
}
@Override
public void onWalletDeleteCache(final String walletName) {
Timber.d("delete cache for wallet ." + walletName + ".");
if (checkServiceRunning()) return;
DialogInterface.OnClickListener dialogClickListener = (dialog, which) -> {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
if (!deleteWalletCache(Helper.getWalletFile(LoginActivity.this, walletName))) {
Toast.makeText(LoginActivity.this, getString(R.string.delete_failed), Toast.LENGTH_LONG).show();
}
break;
case DialogInterface.BUTTON_NEGATIVE:
// do nothing
break;
}
};
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
builder.setMessage(getString(R.string.deletecache_alert_message, walletName))
.setTitle(walletName)
.setPositiveButton(getString(R.string.delete_alert_yes), dialogClickListener)
.setNegativeButton(getString(R.string.delete_alert_no), dialogClickListener)
.show();
}
void reloadWalletList() {
Timber.d("reloadWalletList()");
try {
@ -1024,6 +1054,18 @@ public class LoginActivity extends BaseActivity
return success;
}
boolean deleteWalletCache(File walletFile) {
Timber.d("deleteWalletCache %s", walletFile.getAbsolutePath());
File dir = walletFile.getParentFile();
String name = walletFile.getName();
boolean success = true;
File cacheFile = new File(dir, name);
if (cacheFile.exists()) {
success = cacheFile.delete();
}
return success;
}
void copyFile(File src, File dst) throws IOException {
try (FileChannel inChannel = new FileInputStream(src).getChannel();
FileChannel outChannel = new FileOutputStream(dst).getChannel()) {

View File

@ -88,6 +88,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
void onWalletDelete(String walletName);
void onWalletDeleteCache(String walletName);
void onAddWallet(String type);
void onNodePrefs();
@ -220,6 +222,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
activityCallback.onWalletBackup(listItem.getName());
} else if (id == R.id.action_archive) {
activityCallback.onWalletDelete(listItem.getName());
} else if (id == R.id.action_deletecache) {
activityCallback.onWalletDeleteCache(listItem.getName());
} else {
return super.onContextItemSelected(item);
}

View File

@ -167,7 +167,7 @@ public class ExchangeApiImpl implements ExchangeApi {
private Calendar fetchDate = null;
synchronized private ExchangeRate getRate(String currency) throws ExchangeException {
Timber.e("Getting %s", currency);
Timber.d("Getting %s", currency);
final Double rate = fxEntries.get(currency);
if (rate == null) throw new ExchangeException(404, "Currency not supported: " + currency);
return new ExchangeRateImpl(currency, rate, fxDate.getTime());

View File

@ -26,4 +26,8 @@
android:orderInCategory="500"
android:title="@string/menu_info" />
<item
android:id="@+id/action_deletecache"
android:orderInCategory="500"
android:title="@string/menu_deletecache" />
</menu>

View File

@ -417,10 +417,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -424,4 +424,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -419,10 +419,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -419,10 +419,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -416,4 +416,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -417,10 +417,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -429,4 +429,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -421,10 +421,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -428,4 +428,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -422,10 +422,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -419,10 +419,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -425,4 +425,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -416,10 +416,13 @@
<string name="subaddress_select_label">Selecione um subendereço</string>
<string name="subaddress_details_hint">Toque e segure para mais detalhes</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -423,10 +423,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -419,10 +419,13 @@
<string name="subaddress_select_label">Selectează o subadresă</string>
<string name="subaddress_details_hint">Atinge lung pentru detalii</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -19,8 +19,8 @@
<string name="password_very_strong">Отлично! В лучших традициях h4x0r!</string>
<string name="label_login_wallets">Кошелек</string>
<string name="label_credits">Информация</string>
<string name="label_ok">Ok</string>
<string name="label_credits">О кошельке</string>
<string name="label_ok">Ок</string>
<string name="label_cancel">Отмена</string>
<string name="label_close">Закрыть</string>
<string name="label_wallet_advanced_details">Нажмите для доп. информации</string>
@ -135,7 +135,7 @@
<string name="xmr_unconfirmed_amount">+ %1$s WOW неподтвержденно</string>
<string name="service_description">Служба monerujoWOW</string>
<string name="service_description">Служба Monerujo</string>
<string name="status_synced">Синхронизировано:</string>
<string name="status_remaining">Блоков осталось</string>
@ -164,10 +164,10 @@
<strong>Аутентификация по отпечаткам пальцев</strong>
<p>С поддержкой аутентификации по отпечаткам пальцев, вы можете просматривать баланс и получать средства
без ввода пароля.</p>
<p>Но для дополнительной безопасности, monerujoWOW потребует от вас ввести пароль при
<p>Но для дополнительной безопасности, Monerujo потребует от вас ввести пароль при
просмотре деталей кошелька или отправке средств.</p>
<strong>Предупреждение системы безопасности</strong>
<p>monerujoWOW хочет напомнить вам, что любой, кто может получить ваш отпечаток пальца, будет
<p>Monerujo хочет напомнить вам, что любой, кто может получить ваш отпечаток пальца, будет
обладать возможностью, заглянуть в баланс вашего кошелька.</p>
<p>Например, злоумышленник может заглянуть в ваш кошелек, когда вы спите.</p>
<strong>Вы уверены, что хотите включить эту функцию?</strong>
@ -175,7 +175,7 @@
<string name="generate_bad_passwordB">Пароль не совпадает</string>
<string name="generate_empty_passwordB">Пароль не может быть пустым</string>
<string name="generate_buttonGenerate">Сделайте мне уже кошелек!</string>
<string name="generate_button_accept">Я ввел мнемоническую фразу</string>
<string name="generate_button_accept">Я записал мнемоническую фразу</string>
<string name="generate_wallet_name">Придумай мне имя!</string>
<string name="generate_wallet_exists">Такой кошелек существует!</string>
@ -256,9 +256,9 @@
<string name="receive_amount_hint">Сумма</string>
<string name="receive_cannot_open">Не удалось открыть кошелек!</string>
<string name="receive_amount_too_big">Max. %1$s</string>
<string name="receive_amount_negative">Min. 0</string>
<string name="receive_amount_nan">Не числовое значение WOW</string>
<string name="receive_amount_too_big">Макс. %1$s</string>
<string name="receive_amount_negative">Мин. 0</string>
<string name="receive_amount_nan">Не числовое значение XMR</string>
<string name="details_alert_message">Сейчас будут показаны конфиденциальные данные. Оглянись вокруг!</string>
<string name="details_alert_yes">Я в безопасности</string>
@ -279,8 +279,8 @@
<string name="tx_account">Учетная запись #</string>
<string name="send_sweepall">Отправить все средства на этот счет!</string>
<string name="tx_subaddress">Субадрес</string>
<string name="generate_address_label_sub">Публичный субадрес #%1$d: %2$s</string>
<string name="tx_subaddress">Подадрес</string>
<string name="generate_address_label_sub">Публичный подадрес #%1$d: %2$s</string>
<string name="menu_language">Язык</string>
<string name="language_system_default">Использовать язык системы</string>
@ -289,7 +289,7 @@
<string name="progress_ledger_progress">Подключение к Ledger</string>
<string name="progress_ledger_confirm">Требуется подтверждение в Ledger!</string>
<string name="progress_ledger_lookahead">Получение субадрессов</string>
<string name="progress_ledger_lookahead">Получение подадресов</string>
<string name="progress_ledger_verify">Проверка ключей</string>
<string name="progress_ledger_opentx">Занимаюсь сумасшедшей математикой</string>
<string name="progress_ledger_mlsag">Хеширование материалов</string>
@ -318,7 +318,7 @@
<string name="status_wallet_connect_wrongversion">Версия узла несовместима - пожалуйста, обновите!</string>
<string name="menu_info">Информация</string><!--Changed to: Show Secrets!-->
<string name="menu_info">Показать ключи</string><!--Changed to: Show Secrets!-->
<string name="menu_streetmode">Уличный режим</string>
<string name="info_nodes_enabled">Node-o-matiC включен, нажмите для получения дополнительной информации.</string>
@ -361,72 +361,75 @@
<string name="bad_ledger_seed">Ошибка фразы Ledger!</string>
<string name="prompt_ledger_seed_warn">Если вы пытаетесь ввести сюда фразу Ledger, это серьезная угроза для вашей безопасности!</string>
<string name="label_restoreheight">Восстановить высоту</string> <!-- Restore Height -->
<string name="label_restoreheight">Высота восстановления</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Запуск приложения WOW на %1$s</string>
<string name="menu_rescan">Rescan!</string>
<string name="menu_rescan">Пересканировать!</string>
<string name="onboarding_agree">I get it!</string>
<string name="onboarding_button_next">Next</string>
<string name="onboarding_button_ready">I\'m ready!</string>
<string name="onboarding_agree">Я понял!</string>
<string name="onboarding_button_next">Далее</string>
<string name="onboarding_button_ready">Я готов!</string>
<string name="onboarding_welcome_title">Welcome to monerujoWOW!</string>
<string name="onboarding_welcome_information">This app allows you to create and use WOW wallets. You can store your sweet WOW in them.</string>
<string name="onboarding_seed_title">Keep your seed safe</string>
<string name="onboarding_seed_information">The seed grants full access to whoever has it. If you lose it, we cannot help you recover it and you lose your beloved WOW.</string>
<string name="onboarding_xmrto_title">Send Crypto</string>
<string name="onboarding_xmrto_information">monerujoWOW has SideShift.ai support built-in. Just paste or scan a BTC, LTC, ETH, DASH or DOGE address and you\'ll be sending these cryptos by spending WOW.</string>
<string name="onboarding_nodes_title">Nodes, your way</string>
<string name="onboarding_nodes_information">Nodes connect you to the WOW network. Choose between public nodes or go full cypherpunk using your own.</string>
<string name="onboarding_fpsend_title">Send with fingerprint</string>
<string name="onboarding_fpsend_information">You\'re now able to send WOW with just your fingerprint if you enabled it. To request the password, just disable fingerprint access.</string>
<string name="onboarding_welcome_title">Добро пожаловать в Monerujo!</string>
<string name="onboarding_welcome_information">Данное приложение позволяет создавать и использовать кошельки Monero. Вы можете хранить ваши сладкие moneroj в них.</string>
<string name="onboarding_seed_title">Храните свои ключи в безопасности</string>
<string name="onboarding_seed_information">Секретная фраза дает полный доступ к кошельку. Если вы её потеряете, мы не сможем её восстановить и вы потеряете ваши moneroj.</string>
<string name="onboarding_xmrto_title">Отправка других криптовалют</string>
<string name="onboarding_xmrto_information">Monerujo имеет поддержку SideShift.ai. Просто вставьте (или просканируйте) адрес BTC, LTC, ETH, DASH или DOGE и вы будете отправлять эти криптовалюты, тратя XMR.</string>
<string name="onboarding_nodes_title">Узлы, узлы, узлы…</string>
<string name="onboarding_nodes_information">Узлы позволяют подключаться к сети Monero. Выбирайте между общедоступными узлами или используйте свой собственный для безопасности IP адреса.</string>
<string name="onboarding_fpsend_title">Отправка с помощью отпечатка пальца</string>
<string name="onboarding_fpsend_information">Теперь вы можете отправлять XMR с помощью отпечатка пальца, если вы его включили. Чтобы запросить пароль, просто отключите доступ к отпечаткам пальцев.</string>
<string name="menu_daynight">Dark Mode</string>
<string name="menu_daynight">Тема</string>
<string-array name="daynight_themes">
<item>Auto</item>
<item>Day</item>
<item>Night</item>
<item>Автоматически</item>
<item>Светлая (дневная)</item>
<item>Тёмная (ночная)</item>
</string-array>
<string name="gunther_says">There is nothing here\nPlease create or restore a wallet</string>
<string name="gunther_says">Тут ничего нет\nСоздайте или восстановите кошелек</string>
<string name="menu_default_nodes">Restore default nodes</string>
<string name="toast_default_nodes">Restoring already in progress</string>
<string name="menu_default_nodes">Восстановить узел по умолчанию</string>
<string name="toast_default_nodes">Восстановление уже в процессе</string>
<string name="node_updated_now">Last Block: %1$d seconds ago</string>
<string name="node_updated_mins">Last Block: %1$d minutes ago</string>
<string name="node_updated_hours">Last Block: %1$d hours ago</string>
<string name="node_updated_days">Last Block: %1$d days ago</string>
<string name="node_updated_now">Последний блок: %1$d секунд назад</string>
<string name="node_updated_mins">Последний блок: %1$d минут назад</string>
<string name="node_updated_hours">Последний блок: %1$d часов назад</string>
<string name="node_updated_days">Последний блок: %1$d дней назад</string>
<string name="shift_noquote">Cannot get quote</string>
<string name="shift_checkamount">Check amount and try again</string>
<string name="shift_noquote">Не могу получить котировку</string>
<string name="shift_checkamount">Проверьте сумму и повторите попытку</string>
<string name="info_xmrto_ambiguous"><![CDATA[
<b>Ambiguous address.</b><br/>
<i>Please select the type above.</i>
<b>Двусмысленный адрес.</b><br/>
<i>Пожалуйста, выберите тип выше.</i>
]]></string>
<string name="info_xmrto_help"><![CDATA[
<b>Please enter or scan a %1$s address.</b><br/>
<i>You&apos;ll send WOW and the receiver will get %2$s using the <b>SideShift.ai</b> service.</i>
<b>Введите или просканируйте адрес %1$s.</b><br/>
<i>Вы отправите XMR, а получатель получит %2$s с помощью серсива <b>SideShift.ai</b>.</i>
]]></string>
<string name="info_xmrto_help_xmr"><![CDATA[
<b>Please enter or scan a WOW address.</b>
<b>Введите или просканируйте адрес Monero.</b>
]]></string>
<string name="subbaddress_title">Subaddresses</string>
<string name="subbaddress_name_hint">Subaddress Name</string>
<string name="max_subaddress_warning">Too many unused addresses - use some to enable creating more!</string>
<string name="max_account_warning">Too many unused accounts - use some to enable creating more!</string>
<string name="subaddress_tx_label">Transactions for this subaddress:</string>
<string name="subaddress_notx_label">No transactions for this subaddress yet</string>
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="subbaddress_title">Подадреса</string>
<string name="subbaddress_name_hint">Имя подадреса</string>
<string name="max_subaddress_warning">Слишком много неиспользуемых адресов - воспользуйтесь ими, чтобы создать больше!</string>
<string name="max_account_warning">Слишком много неиспользуемых аккаунтов - воспользуйтесь ими, чтобы включить ещё!</string>
<string name="subaddress_tx_label">Транзакции данного подадреса:</string>
<string name="subaddress_notx_label">У данного подадреса нет транзакций</string>
<string name="subaddress_select_label">Выбери подадрес</string>
<string name="subaddress_details_hint">Зажмите и удерживайте для подробностей</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_delete">Удалить кошелек</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Ошибка удаления!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_restore">Импортировать кошелек</string>
<string name="restore_failed">Ошибка импорта!</string>
<string name="menu_deletecache">Сбросить кошелек</string>
<string name="deletecache_alert_message">Этот кошелек будет сброшен, вы потеряете все данные, которые не находятся в блокчейне (например примечания, имена подадресов, приватные ключи транзакций, ...)! Используйте это ТОЛЬКО если ваш кошелек поврежден и не загружается!</string>
</resources>

View File

@ -426,4 +426,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -424,4 +424,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -411,10 +411,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -429,4 +429,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -343,10 +343,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -418,10 +418,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -278,7 +278,7 @@
<string name="details_alert_no">Take me back!</string>
<string name="details_title">Details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted!</string>
<string name="delete_alert_yes">Yes, do that!</string>
<string name="delete_alert_no">No thanks!</string>
@ -497,4 +497,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@ -1,3 +1,25 @@
# BUILDING external libs
# External lib build
Make a symbol link named `monero` to the monero repo (cloned from https://github.com/m2049r/monero) & then `make` in the `external-libs` directory. This builds all binaries using the supplied Dockerfiles so make sure you have docker up and running.
## Requirements:
1. Docker
2. `make` (sudo apt install make, little tricky to get it on Windows, https://stackoverflow.com/questions/32127524/how-to-install-and-use-make-in-windows)
3. Huge amount of RAM and free disk space
## Building:
1. Clone https://github.com/m2049r/monero repo.
2. Change repo to correct branch (example: `git checkout release-v0.17.1.9-monerujo`).
3. Update submodules: `git submodule update --init --force`.
4. Then go to folder with xmrwallet repo, then external-libs. Here you need to create symbol link to `monero` folder:
Linux: `ln -s ~/monero ~/xmrwallet/external-libs/monero`
Windows: `mklink /D "C:\Users\<USERNAME>\xmrwallet\external-libs\monero" "C:\Users\<USERNAME>\monero"`
5. Start Docker and then run `make` in `external-libs` folder. It will fail at end on Windows, but if `wallet2_api.h` exists in `include` folder, the build was successful.