From cc46dc06c48bd277ba30557a519d7b682a0ef22d Mon Sep 17 00:00:00 2001 From: m2049r <30435443+m2049r@users.noreply.github.com> Date: Sat, 23 Sep 2017 14:16:30 +0200 Subject: [PATCH] Bugfixes (#82) * cache getAddress() * savedInstanceState handling * v0.8.0.2 --- app/build.gradle | 4 ++-- .../main/java/com/m2049r/xmrwallet/LoginActivity.java | 6 +++--- .../java/com/m2049r/xmrwallet/WalletActivity.java | 8 +++++--- .../main/java/com/m2049r/xmrwallet/model/Wallet.java | 11 +++++++---- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3ebb5e3..dc8f3e5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.m2049r.xmrwallet" minSdkVersion 21 targetSdkVersion 25 - versionCode 14 - versionName "0.8.0.1" + versionCode 15 + versionName "0.8.0.2" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { diff --git a/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java b/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java index 6b6f84d..1310b7c 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java +++ b/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java @@ -75,13 +75,13 @@ public class LoginActivity extends AppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) { + Log.d(TAG, "onCreate()"); super.onCreate(savedInstanceState); - setContentView(R.layout.login_activity); - setContentView(R.layout.login_activity); if (savedInstanceState != null) { - return; + // we don't store anything ourselves } + setContentView(R.layout.login_activity); toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); diff --git a/app/src/main/java/com/m2049r/xmrwallet/WalletActivity.java b/app/src/main/java/com/m2049r/xmrwallet/WalletActivity.java index de6fef1..a3e3123 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/WalletActivity.java +++ b/app/src/main/java/com/m2049r/xmrwallet/WalletActivity.java @@ -150,14 +150,16 @@ public class WalletActivity extends AppCompatActivity implements WalletFragment. protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "onCreate()"); super.onCreate(savedInstanceState); - setContentView(R.layout.wallet_activity); if (savedInstanceState != null) { - return; + // we don't store anything ourselves } + setContentView(R.layout.wallet_activity); toolbar = (Toolbar) findViewById(R.id.toolbar); - toolbar.setTitle(R.string.app_name); setSupportActionBar(toolbar); + + toolbar.setTitle(R.string.app_name); + boolean testnet = WalletManager.getInstance().isTestNet(); if (testnet) { toolbar.setBackgroundResource(R.color.colorPrimaryDark); diff --git a/app/src/main/java/com/m2049r/xmrwallet/model/Wallet.java b/app/src/main/java/com/m2049r/xmrwallet/model/Wallet.java index ff14440..f1494b4 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/model/Wallet.java +++ b/app/src/main/java/com/m2049r/xmrwallet/model/Wallet.java @@ -36,6 +36,7 @@ public class Wallet { Wallet(long handle) { this.handle = handle; + getAddress(); // cache address for later } public enum Status { @@ -50,8 +51,6 @@ public class Wallet { ConnectionStatus_WrongVersion } - //public native long createWalletListenerJ(); - public native String getSeed(); public native String getSeedLanguage(); @@ -68,11 +67,15 @@ public class Wallet { public native boolean setPassword(String password); + private String address = null; + public String getAddress() { - String address = getAddressJ(); + if (address == null) { + address = getAddressJ(); + } if (!Wallet.isAddressValid(address, WalletManager.getInstance().isTestNet())) { // just die! - throw new IllegalStateException("Wallet returned invalid address!"); + throw new IllegalStateException("Wallet returned invalid address: " + address); } return address; }