1
mirror of https://github.com/m2049r/xmrwallet synced 2025-09-04 00:53:36 +02:00

Compare commits

..

13 Commits

Author SHA1 Message Date
m2049r
775dcf01ae bump version 2020-06-01 20:14:03 +02:00
m2049r
aed4051d44 Merge branch 'TheFuzzStone-master' 2020-06-01 20:09:51 +02:00
m2049r
a586c0781a renamed directory to match locale 2020-06-01 20:08:22 +02:00
m2049r
616d93cb18 replace ' 2020-06-01 20:04:55 +02:00
v1docq47
73d9cb6d58 Update for Russian translation (#649)
Update:
 - strings.xml

Co-authored-by: m2049r <m2049r@monerujo.io>
2020-06-01 19:57:33 +02:00
m2049r
9846e8b5cf fix progress bar (#665) 2020-06-01 19:56:24 +02:00
m2049r
aa66a12dac Merge branch 'master' into master 2020-06-01 13:43:16 +02:00
m2049r
65ce9b0889 Update blockheight (#664)
* update through june
2020-06-01 10:04:09 +02:00
m2049r
291e311b8a Enable rescan on wallet (from menu) (#663)
* rescan
2020-06-01 10:03:36 +02:00
m2049r
41290f51fd Upgrade to monero v0.16.0.0 (#662)
* upgrade to monero core v0.16.0.0

* hearts for node favs
2020-06-01 10:02:22 +02:00
m2049r
a11c898e2c bump version 2020-03-09 07:17:46 +01:00
m2049r
9c921183ab catch NPE (#655) 2020-03-08 22:29:02 +01:00
TheFuzzStone
835a35c6a8 Updating Ukranian language 2020-02-13 13:49:52 +02:00
42 changed files with 525 additions and 410 deletions

View File

@@ -7,8 +7,8 @@ android {
applicationId "com.m2049r.xmrwallet"
minSdkVersion 21
targetSdkVersion 28
versionCode 202
versionName "1.12.12 'Caerbannog'"
versionCode 301
versionName "1.13.1 'ReStart'"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {

View File

@@ -785,7 +785,7 @@ Java_com_m2049r_xmrwallet_model_Wallet_getDaemonBlockChainTargetHeight(JNIEnv *e
}
JNIEXPORT jboolean JNICALL
Java_com_m2049r_xmrwallet_model_Wallet_isSynchronized(JNIEnv *env, jobject instance) {
Java_com_m2049r_xmrwallet_model_Wallet_isSynchronizedJ(JNIEnv *env, jobject instance) {
Bitmonero::Wallet *wallet = getHandle<Bitmonero::Wallet>(env, instance);
return static_cast<jboolean>(wallet->synchronized());
}
@@ -909,6 +909,16 @@ Java_com_m2049r_xmrwallet_model_Wallet_refreshAsync(JNIEnv *env, jobject instanc
wallet->refreshAsync();
}
//TODO virtual bool rescanBlockchain() = 0;
//virtual void rescanBlockchainAsync() = 0;
JNIEXPORT void JNICALL
Java_com_m2049r_xmrwallet_model_Wallet_rescanBlockchainAsync(JNIEnv *env, jobject instance) {
Bitmonero::Wallet *wallet = getHandle<Bitmonero::Wallet>(env, instance);
wallet->rescanBlockchainAsync();
}
//TODO virtual void setAutoRefreshInterval(int millis) = 0;
//TODO virtual int autoRefreshInterval() const = 0;

View File

@@ -217,6 +217,20 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
releaseWakeLock();
}
private void onWalletRescan() {
try {
final WalletFragment walletFragment = (WalletFragment)
getSupportFragmentManager().findFragmentByTag(WalletFragment.class.getName());
getWallet().rescanBlockchainAsync();
synced = false;
walletFragment.unsync();
invalidateOptionsMenu();
} catch (ClassCastException ex) {
Timber.d(ex.getLocalizedMessage());
// keep calm and carry on
}
}
@Override
protected void onStop() {
Timber.d("onStop()");
@@ -243,7 +257,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem renameItem = menu.findItem(R.id.action_rename);
if (renameItem != null)
renameItem.setVisible(hasWallet() && getWallet().isSynchronized());
renameItem.setEnabled(hasWallet() && getWallet().isSynchronized());
MenuItem streetmodeItem = menu.findItem(R.id.action_streetmode);
if (streetmodeItem != null)
if (isStreetMode()) {
@@ -251,12 +265,18 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
} else {
streetmodeItem.setIcon(R.drawable.gunther_24dp);
}
final MenuItem rescanItem = menu.findItem(R.id.action_rescan);
if (rescanItem != null)
rescanItem.setEnabled(isSynced());
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_rescan:
onWalletRescan();
return true;
case R.id.action_info:
onWalletDetails();
return true;

View File

@@ -356,6 +356,15 @@ public class WalletFragment extends Fragment
if (isVisible()) enableAccountsList(true); //otherwise it is enabled in onResume()
}
public void unsync() {
if (!activityCallback.isWatchOnly()) {
bSend.setVisibility(View.INVISIBLE);
bSend.setEnabled(false);
}
if (isVisible()) enableAccountsList(false); //otherwise it is enabled in onResume()
firstBlock = 0;
}
boolean walletLoaded = false;
public void onLoaded() {

View File

@@ -130,9 +130,9 @@ public class NodeInfoAdapter extends RecyclerView.Adapter<NodeInfoAdapter.ViewHo
private void showStar() {
if (nodeItem.isFavourite()) {
ibBookmark.setImageResource(R.drawable.ic_bookmark_24dp);
ibBookmark.setImageResource(R.drawable.ic_favorite_24dp);
} else {
ibBookmark.setImageResource(R.drawable.ic_bookmark_border_24dp);
ibBookmark.setImageResource(R.drawable.ic_favorite_border_24dp);
}
}

View File

@@ -248,7 +248,13 @@ public class Wallet {
public native long getDaemonBlockChainTargetHeight();
public native boolean isSynchronized();
public native boolean isSynchronizedJ();
public boolean isSynchronized() {
final long daemonHeight = getDaemonBlockChainHeight();
if (daemonHeight == 0) return false;
return isSynchronizedJ() && (getBlockChainHeight() == daemonHeight);
}
public static native String getDisplayAmount(long amount);
@@ -278,6 +284,8 @@ public class Wallet {
public native void refreshAsync();
public native void rescanBlockchainAsync();
//TODO virtual void setAutoRefreshInterval(int millis) = 0;
//TODO virtual int autoRefreshInterval() const = 0;

View File

@@ -113,6 +113,9 @@ public class RestoreHeight {
blockheight.put("2020-01-01", 2001315L);
blockheight.put("2020-02-01", 2023656L);
blockheight.put("2020-03-01", 2044552L);
blockheight.put("2020-04-01", 2066806L);
blockheight.put("2020-05-01", 2088411L);
blockheight.put("2020-06-01", 2110702L);
}
public long getHeight(String date) {

View File

@@ -68,15 +68,19 @@ public class ExchangeEditText extends LinearLayout {
}
boolean ok = true;
String nativeAmount = getNativeAmount();
try {
double amount = Double.parseDouble(nativeAmount);
if ((amount < min) || (amount > max)) {
if (nativeAmount == null) {
ok = false;
} else {
try {
double amount = Double.parseDouble(nativeAmount);
if ((amount < min) || (amount > max)) {
ok = false;
}
} catch (NumberFormatException ex) {
// this cannot be
Timber.e(ex.getLocalizedMessage());
ok = false;
}
} catch (NumberFormatException ex) {
// this cannot be
Timber.e(ex.getLocalizedMessage());
ok = false;
}
if (!ok) {
shakeAmountField();

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/gradientPink"
android:pathData="M17,3H7c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3V5c0,-1.1 -0.9,-2 -2,-2z" />
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/gradientPink"
android:pathData="M17,3L7,3c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3L19,5c0,-1.1 -0.9,-2 -2,-2zM17,18l-5,-2.18L7,18L7,5h10v13z" />
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/gradientPink"
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/gradientPink"
android:pathData="M16.5,3c-1.74,0 -3.41,0.81 -4.5,2.09C10.91,3.81 9.24,3 7.5,3 4.42,3 2,5.42 2,8.5c0,3.78 3.4,6.86 8.55,11.54L12,21.35l1.45,-1.32C18.6,15.36 22,12.28 22,8.5 22,5.42 19.58,3 16.5,3zM12.1,18.55l-0.1,0.1 -0.1,-0.1C7.14,14.24 4,11.39 4,8.5 4,6.5 5.5,5 7.5,5c1.54,0 3.04,0.99 3.57,2.36h1.87C13.46,5.99 14.96,5 16.5,5c2,0 3.5,1.5 3.5,3.5 0,2.89 -3.14,5.74 -7.9,10.05z"/>
</vector>

View File

@@ -18,7 +18,7 @@
android:padding="12dp"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:gravity="center"
android:src="@drawable/ic_bookmark_border_24dp" />
android:src="@drawable/ic_favorite_border_24dp" />
<LinearLayout
android:id="@+id/llNode"

View File

@@ -34,4 +34,9 @@
android:title="@string/menu_info"
app:showAsAction="never" />
<item
android:id="@+id/action_rescan"
android:orderInCategory="600"
android:title="@string/menu_rescan"
app:showAsAction="never" />
</menu>

View File

@@ -383,4 +383,6 @@
<string name="label_restoreheight">Restablir Alçada</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -386,4 +386,6 @@
<string name="label_restoreheight">Wiederherstellungshöhe</string>
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -385,4 +385,6 @@
<string name="label_restoreheight">Ύψος ανάκτησης</string> <!-- "Restore Height" -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -385,4 +385,6 @@
<string name="label_restoreheight">Restaŭralteco</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -375,4 +375,6 @@
<string name="label_restoreheight">Altura de Restauración</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -383,4 +383,6 @@
<string name="label_restoreheight">Taastamise plokinumber</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -389,4 +389,6 @@
<string name="label_restoreheight">Hauteur de restauration</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -387,4 +387,6 @@
<string name="label_restoreheight">Visszaállítási lánchossz</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -388,4 +388,6 @@
<string name="label_restoreheight">Altezza di ripristino</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -394,4 +394,6 @@
<string name="label_restoreheight">Restore Height</string>
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -385,4 +385,6 @@
<string name="label_restoreheight">Restore Height</string>
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -385,4 +385,6 @@
<string name="label_restoreheight">Herstelpunt</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -377,4 +377,6 @@
<string name="label_restoreheight">Restaurar da altura</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -389,4 +389,6 @@
<string name="label_restoreheight">Restaurar de Altura</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -385,4 +385,6 @@
<string name="label_restoreheight">Restaurează Monobloc</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -103,7 +103,7 @@
<string name="changepw_success">Изменение пароля выполено успешно</string>
<string name="label_daemon">Удаленный узел</string>
<string name="status_wallet_loading">Загрузка кошелека &#8230;</string>
<string name="status_wallet_loading">Загрузка кошелька &#8230;</string>
<string name="status_wallet_unloaded">Кошелек записан</string>
<string name="status_wallet_unload_failed">Ошибка записи кошелека!</string>
<string name="status_wallet_connecting">Подключение &#8230;</string>
@@ -388,5 +388,7 @@
<string name="label_restoreheight">Восстановить высоту</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="toast_ledger_start_app">Запуск приложения Monero на %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -386,4 +386,6 @@
<string name="label_restoreheight">Výška</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

View File

@@ -385,4 +385,6 @@
<string name="label_restoreheight">Obnovi visinu</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="menu_rescan">Rescan!</string>
</resources>

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