mirror of
https://github.com/sparrowwallet/drongo.git
synced 2024-11-02 18:26:43 +00:00
naming improvements
This commit is contained in:
parent
06de1d7e14
commit
785040898b
3 changed files with 34 additions and 4 deletions
|
@ -126,13 +126,18 @@ public class Wallet {
|
|||
return !keystores.stream().map(Keystore::getLabel).allMatch(new HashSet<>()::add);
|
||||
}
|
||||
|
||||
public int makeLabelsUnique(Keystore newKeystore) {
|
||||
public void makeLabelsUnique(Keystore newKeystore) {
|
||||
makeLabelsUnique(newKeystore, false);
|
||||
}
|
||||
|
||||
private int makeLabelsUnique(Keystore newKeystore, boolean duplicateFound) {
|
||||
int max = 0;
|
||||
for(Keystore keystore : getKeystores()) {
|
||||
if(newKeystore != keystore && keystore.getLabel().startsWith(newKeystore.getLabel())) {
|
||||
duplicateFound = true;
|
||||
String remainder = keystore.getLabel().substring(newKeystore.getLabel().length());
|
||||
if(remainder.length() == 0) {
|
||||
max = makeLabelsUnique(keystore);
|
||||
max = makeLabelsUnique(keystore, true);
|
||||
} else {
|
||||
try {
|
||||
int count = Integer.parseInt(remainder.trim());
|
||||
|
@ -144,8 +149,10 @@ public class Wallet {
|
|||
}
|
||||
}
|
||||
|
||||
max++;
|
||||
newKeystore.setLabel(newKeystore.getLabel() + " " + max);
|
||||
if(duplicateFound) {
|
||||
max++;
|
||||
newKeystore.setLabel(newKeystore.getLabel() + " " + max);
|
||||
}
|
||||
|
||||
return max;
|
||||
}
|
||||
|
@ -171,6 +178,16 @@ public class Wallet {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean containsSource(KeystoreSource keystoreSource) {
|
||||
for(Keystore keystore : keystores) {
|
||||
if(keystoreSource.equals(keystore.getSource())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isEncrypted() {
|
||||
for(Keystore keystore : keystores) {
|
||||
if(keystore.isEncrypted()) {
|
||||
|
|
|
@ -30,6 +30,9 @@ public enum WalletModel {
|
|||
String[] words = line.split("_");
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for(String word : words) {
|
||||
if(word.equals("1")) {
|
||||
word = "one";
|
||||
}
|
||||
builder.append(Character.toUpperCase(word.charAt(0)));
|
||||
builder.append(word.substring(1));
|
||||
builder.append(" ");
|
||||
|
|
|
@ -55,5 +55,15 @@ public class WalletTest {
|
|||
wallet.makeLabelsUnique(cckeystore);
|
||||
Assert.assertEquals("Coldcard 3", keystore3.getLabel());
|
||||
Assert.assertEquals("Coldcard 4", cckeystore.getLabel());
|
||||
|
||||
Keystore eekeystore = new Keystore("Electrum");
|
||||
wallet.makeLabelsUnique(cckeystore);
|
||||
Assert.assertEquals("Electrum", eekeystore.getLabel());
|
||||
wallet.getKeystores().add(eekeystore);
|
||||
|
||||
Keystore eekeystore2 = new Keystore("Electrum");
|
||||
wallet.makeLabelsUnique(eekeystore2);
|
||||
Assert.assertEquals("Electrum 1", eekeystore.getLabel());
|
||||
Assert.assertEquals("Electrum 2", eekeystore2.getLabel());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue