From 911c813a7e89f64f415cdc68310152da7c16964d Mon Sep 17 00:00:00 2001 From: pokkst Date: Thu, 7 Dec 2023 18:33:43 -0600 Subject: [PATCH] Height/syncing fixes --- app/src/main/cpp/monerujo.cpp | 4 ++-- .../net/mynero/wallet/fragment/home/HomeFragment.kt | 2 +- app/src/main/java/net/mynero/wallet/model/Wallet.kt | 10 ++++++++-- .../net/mynero/wallet/service/MoneroHandlerThread.kt | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/cpp/monerujo.cpp b/app/src/main/cpp/monerujo.cpp index e71e5a5..d0f7128 100644 --- a/app/src/main/cpp/monerujo.cpp +++ b/app/src/main/cpp/monerujo.cpp @@ -980,7 +980,7 @@ Java_net_mynero_wallet_model_Wallet_isWatchOnly(JNIEnv *env, jobject instance) { } JNIEXPORT jlong JNICALL -Java_net_mynero_wallet_model_Wallet_getBlockChainHeight(JNIEnv *env, jobject instance) { +Java_net_mynero_wallet_model_Wallet_getBlockChainHeightJ(JNIEnv *env, jobject instance) { Monero::Wallet *wallet = getHandle(env, instance); return wallet->blockChainHeight(); } @@ -993,7 +993,7 @@ Java_net_mynero_wallet_model_Wallet_getApproximateBlockChainHeight(JNIEnv *env, } JNIEXPORT jlong JNICALL -Java_net_mynero_wallet_model_Wallet_getDaemonBlockChainHeight(JNIEnv *env, jobject instance) { +Java_net_mynero_wallet_model_Wallet_getDaemonBlockChainHeightJ(JNIEnv *env, jobject instance) { Monero::Wallet *wallet = getHandle(env, instance); return wallet->daemonBlockChainHeight(); } diff --git a/app/src/main/java/net/mynero/wallet/fragment/home/HomeFragment.kt b/app/src/main/java/net/mynero/wallet/fragment/home/HomeFragment.kt index f226a49..876aa97 100644 --- a/app/src/main/java/net/mynero/wallet/fragment/home/HomeFragment.kt +++ b/app/src/main/java/net/mynero/wallet/fragment/home/HomeFragment.kt @@ -129,7 +129,7 @@ class HomeFragment : Fragment(), TxInfoAdapterListener { } else { progressBar.visibility = View.INVISIBLE progressBarText.visibility = View.VISIBLE - progressBarText.text = "Synchronized" + progressBarText.text = "Synchronized at $height" } } val adapter = TransactionInfoAdapter(this) diff --git a/app/src/main/java/net/mynero/wallet/model/Wallet.kt b/app/src/main/java/net/mynero/wallet/model/Wallet.kt index 505ca27..f1ad9c6 100644 --- a/app/src/main/java/net/mynero/wallet/model/Wallet.kt +++ b/app/src/main/java/net/mynero/wallet/model/Wallet.kt @@ -234,9 +234,15 @@ class Wallet { external fun getUnlockedBalance(accountIndex: Int): Long external fun isWatchOnly(): Boolean - external fun getBlockChainHeight(): Long + fun getBlockChainHeight(): Long { + return getBlockChainHeightJ().minus(1) + } + private external fun getBlockChainHeightJ(): Long external fun getApproximateBlockChainHeight(): Long - external fun getDaemonBlockChainHeight(): Long + fun getDaemonBlockChainHeight(): Long { + return getDaemonBlockChainHeightJ().minus(1) + } + private external fun getDaemonBlockChainHeightJ(): Long external fun getDaemonBlockChainTargetHeight(): Long fun setSynchronized() { diff --git a/app/src/main/java/net/mynero/wallet/service/MoneroHandlerThread.kt b/app/src/main/java/net/mynero/wallet/service/MoneroHandlerThread.kt index 16e348b..64dec15 100644 --- a/app/src/main/java/net/mynero/wallet/service/MoneroHandlerThread.kt +++ b/app/src/main/java/net/mynero/wallet/service/MoneroHandlerThread.kt @@ -75,7 +75,7 @@ class MoneroHandlerThread(name: String, val listener: Listener?, wallet: Wallet) override fun unconfirmedMoneyReceived(txId: String?, amount: Long) {} override fun newBlock(height: Long) { refresh(false) - BlockchainService.instance?.daemonHeight = if (wallet.isSynchronized) height else 0 + BlockchainService.instance?.daemonHeight = if (wallet.isSynchronized) height else 0 // when 0 it fetches from C++ } override fun updated() {