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

Compare commits

..

4 Commits

Author SHA1 Message Date
m2049r
f08ddf93c8 bump version 2024-10-16 21:31:09 +02:00
m2049r
4bfc9c1bdd fix RECEIVER_NOT_EXPORTED crash 2024-10-16 20:18:12 +02:00
m2049r
1a13bdde91 add some default nodes 2024-10-07 23:42:23 +02:00
m2049r
3e56d5a54b update default nodes (#959) 2024-09-24 09:00:22 +02:00
5 changed files with 25 additions and 23 deletions

View File

@@ -8,8 +8,8 @@ android {
compileSdk 35
minSdkVersion 21
targetSdkVersion 35
versionCode 4006
versionName "4.0.6 'Sidekick'"
versionCode 4007
versionName "4.0.7 'Sidekick'"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {

View File

@@ -40,6 +40,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
@@ -1260,7 +1261,7 @@ public class LoginActivity extends BaseActivity
if (usbManager.hasPermission(device)) {
connectLedger(usbManager, device);
} else {
registerReceiver(usbPermissionReceiver, new IntentFilter(ACTION_USB_PERMISSION));
ContextCompat.registerReceiver(this, usbPermissionReceiver, new IntentFilter(ACTION_USB_PERMISSION), ContextCompat.RECEIVER_NOT_EXPORTED);
usbManager.requestPermission(device,
PendingIntent.getBroadcast(this, 0,
new Intent(ACTION_USB_PERMISSION),
@@ -1379,8 +1380,7 @@ public class LoginActivity extends BaseActivity
}
}
};
registerReceiver(detachReceiver, new IntentFilter(UsbManager.ACTION_USB_DEVICE_DETACHED));
ContextCompat.registerReceiver(this, detachReceiver, new IntentFilter(UsbManager.ACTION_USB_DEVICE_DETACHED), ContextCompat.RECEIVER_NOT_EXPORTED);
}
public void onLedgerAction() {

View File

@@ -289,8 +289,7 @@ public class NodeFragment extends Fragment
} else if (params[0] == SCAN) {
// otherwise scan the network
Timber.d("scanning");
Set<NodeInfo> seedList = new HashSet<>();
seedList.addAll(nodeList);
Set<NodeInfo> seedList = new HashSet<>(nodeList);
nodeList.clear();
Timber.d("seed %d", seedList.size());
Dispatcher d = new Dispatcher(info -> publishProgress(info));

View File

@@ -19,23 +19,26 @@ package com.m2049r.xmrwallet.data;
import lombok.AllArgsConstructor;
import lombok.Getter;
// Nodes stolen from https://moneroworld.com/#nodes
@Getter
@AllArgsConstructor
public enum DefaultNodes {
MONERUJO("nodex.monerujo.io:18081"),
XMRTO("node.xmr.to:18081"),
SUPPORTXMR("node.supportxmr.com:18081"),
HASHVAULT("nodes.hashvault.pro:18081"),
MONEROWORLD("node.moneroworld.com:18089"),
XMRTW("opennode.xmr-tw.org:18089"),
ds_jetzt("monero.ds-jetzt.de:18089"),
MONERUJO_ONION("monerujods7mbghwe6cobdr6ujih6c22zu5rl7zshmizz2udf7v7fsad.onion:18081/mainnet/monerujo.onion"),
Criminales78("56wl7y2ebhamkkiza4b7il4mrzwtyvpdym7bm2bkg3jrei2je646k3qd.onion:18089/mainnet/Criminales78.onion"),
xmrfail("mxcd4577fldb3ppzy7obmmhnu3tf57gbcbd4qhwr2kxyjj2qi3dnbfqd.onion:18081/mainnet/xmrfail.onion"),
AGORIST("xmr.agor.ist:18089/mainnet/agor.ist"),
BOLDSUCK("xmr-de.boldsuck.org:18080/mainnet/boldsuck.org"),
boldsuck("6dsdenp6vjkvqzy4wzsnzn6wixkdzihx3khiumyzieauxuxslmcaeiad.onion:18081/mainnet/boldsuck.onion"),
ds_jetzt_onion("qvlr4w7yhnjrdg3txa72jwtpnjn4ezsrivzvocbnvpfbdo342fahhoad.onion:18089/mainnet/ds-jetzt.onion");
CAKE("xmr-node.cakewallet.com:18081/mainnet/cakewallet.com"),
DS_JETZT("monero.ds-jetzt.de:18089/mainnet/ds-jetzt.de"),
ds_jetzt("qvlr4w7yhnjrdg3txa72jwtpnjn4ezsrivzvocbnvpfbdo342fahhoad.onion:18089/mainnet/ds-jetzt.onion"),
MONERODEVS("node.monerodevs.org:18089/mainnet/monerodevs.org"),
MONERUJO("nodex.monerujo.io:18081/mainnet/monerujo.io"),
monerujo("monerujods7mbghwe6cobdr6ujih6c22zu5rl7zshmizz2udf7v7fsad.onion:18081/mainnet/monerujo.onion"),
SETH("node.sethforprivacy.com:18089/mainnet/sethforprivacy.com"),
seth("sfpp2p7wnfjv3lrvfan4jmmkvhnbsbimpa3cqyuf7nt6zd24xhcqcsyd.onion/mainnet/sethforprivacy.onion"),
STACK("monero.stackwallet.com:18081/mainnet/stackwallet.com"),
STORMYCLOUD("xmr.stormycloud.org:18089/mainnet/stormycloud.org"),
TENZ("monero.10z.com.ar:18089/mainnet/10z.com.ar"),
XMRROCKS("node.xmr.rocks:18089/mainnet/xmr.rocks"),
xmrrocks("xqnnz2xmlmtpy2p4cm4cphg2elkwu5oob7b7so5v4wwgt44p6vbx5ryd.onion/mainnet/xmr.rocks.onion"),
XMRTW("opennode.xmr-tw.org:18089/mainnet/xmr-tw.org");
@Getter
private final String uri;
}

View File

@@ -144,7 +144,7 @@ public class Node {
if ((nodeString == null) || nodeString.isEmpty())
throw new IllegalArgumentException("daemon is empty");
String daemonAddress;
String a[] = nodeString.split("@");
String[] a = nodeString.split("@");
if (a.length == 1) { // no credentials
daemonAddress = a[0];
username = "";
@@ -169,7 +169,7 @@ public class Node {
throw new IllegalArgumentException("Too many '/' or too few");
daemonAddress = daParts[0];
String da[] = daemonAddress.split(":");
String[] da = daemonAddress.split(":");
if ((da.length > 2) || (da.length < 1))
throw new IllegalArgumentException("Too many ':' or too few");
String host = da[0];