Skip to content

Commit 65c1086

Browse files
committed
lol
1 parent 269a5ca commit 65c1086

File tree

2 files changed

+29
-17
lines changed

2 files changed

+29
-17
lines changed

src/main/java/edu/uniandes/tsdl/mutapk/hashfunction/sha3/ApkHashOrder.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package edu.uniandes.tsdl.mutapk.hashfunction.sha3;
22

3-
import java.util.HashMap;
4-
import java.util.Map;
3+
import java.util.HashSet;
4+
import java.util.Set;
55

66
/**
77
* University of Los Andes
@@ -18,7 +18,7 @@ public final class ApkHashOrder {
1818
private static volatile ApkHashOrder instance;
1919

2020
private int id = 0;
21-
private Map<ApkHashSeparator, ApkHashSeparator> apkHashesSeparator = new HashMap<ApkHashSeparator, ApkHashSeparator>();
21+
private Set<ApkHashSeparator> apkHashesSeparator = new HashSet<ApkHashSeparator>();
2222

2323
/**
2424
* Enforce private constructor
@@ -37,15 +37,19 @@ public static ApkHashOrder getInstance() {
3737
}
3838

3939
public synchronized ApkHashSeparator setApkHashSeparator(ApkHashSeparator nuevoApkHashSeparator) {
40-
ApkHashSeparator apkHashSeparatorDuplicate = apkHashesSeparator.get(nuevoApkHashSeparator);
41-
if(apkHashSeparatorDuplicate != null && nuevoApkHashSeparator.equals(apkHashSeparatorDuplicate)) {
42-
return apkHashSeparatorDuplicate;
43-
} else {
40+
boolean isDuplicate = apkHashesSeparator.contains(nuevoApkHashSeparator);
41+
if(isDuplicate) {
42+
for(ApkHashSeparator apk : apkHashesSeparator) {
43+
if(apk.equals(nuevoApkHashSeparator)) {
44+
return apk;
45+
}
46+
}
47+
}else {
4448
nuevoApkHashSeparator.setId(id);
45-
apkHashesSeparator.put(nuevoApkHashSeparator, nuevoApkHashSeparator);
49+
apkHashesSeparator.add(nuevoApkHashSeparator);
4650
id++;
47-
return null;
4851
}
52+
return null;
4953
}
5054

5155
public synchronized int getId() {

src/main/java/edu/uniandes/tsdl/mutapk/hashfunction/sha3/ApkHashSeparator.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,25 +56,33 @@ public String getHashResource() {
5656
public int getMutanteId() {
5757
return mutanteId;
5858
}
59-
59+
6060
@Override
6161
public boolean equals(Object o) {
6262
if (o == this) {
6363
return true;
64-
} else if (!(o instanceof ApkHashSeparator)) {
64+
}
65+
if(o == null){
6566
return false;
66-
} else {
67-
ApkHashSeparator apkHashseparator = (ApkHashSeparator) o;
68-
return hashManifest.equals(apkHashseparator.getHashManifest())
69-
&& hashSmali.equals(apkHashseparator.getHashSmali())
70-
&& hashResource.equals(apkHashseparator.getHashResource());
7167
}
68+
if (!(o instanceof ApkHashSeparator)) {
69+
return false;
70+
}
71+
72+
ApkHashSeparator apkHashseparator = (ApkHashSeparator) o;
73+
return (hashManifest.equals(apkHashseparator.getHashManifest())
74+
&& hashSmali.equals(apkHashseparator.getHashSmali())
75+
&& hashResource.equals(apkHashseparator.getHashResource()));
7276

7377
}
7478

7579
@Override
7680
public int hashCode() {
77-
return 1;
81+
int hash = 7;
82+
hash = 31 * hash + hashManifest.hashCode();
83+
hash = 31 * hash + hashSmali.hashCode();
84+
hash = 31 * hash + hashResource.hashCode();
85+
return hash;
7886
}
7987

8088
@Override

0 commit comments

Comments
 (0)