summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2014-12-09 16:22:28 +0100
committerParménides GV <parmegv@sdf.org>2014-12-09 16:22:28 +0100
commite980e1f888f29806ab0933495fdb0dd383c944e7 (patch)
tree52c4abafecaf25e7b7405ec670d3a8c2823666fa
parent7bbb5b69717393d87869ae6f16d6aff0578a81bf (diff)
No duplicated providers.
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/Provider.java5
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java10
2 files changed, 11 insertions, 4 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/Provider.java b/app/src/main/java/se/leap/bitmaskclient/Provider.java
index a7ede2d1..f22a4bfb 100644
--- a/app/src/main/java/se/leap/bitmaskclient/Provider.java
+++ b/app/src/main/java/se/leap/bitmaskclient/Provider.java
@@ -200,4 +200,9 @@ public final class Provider implements Parcelable {
}
return json;
}
+
+ @Override
+ public int hashCode() {
+ return main_url.hashCode();
+ }
}
diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java b/app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java
index 72ca15c7..19a9a089 100644
--- a/app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java
+++ b/app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java
@@ -90,10 +90,12 @@ public class ProviderListAdapter extends RendererAdapter<Provider> {
@Override
public void add(Provider item) {
super.add(item);
- boolean[] new_hidden = new boolean[hidden.length+1];
- System.arraycopy(hidden, 0, new_hidden, 0, hidden.length);
- new_hidden[hidden.length] = false;
- hidden = new_hidden;
+ if(getCollection().size() < hidden.length) {
+ boolean[] new_hidden = new boolean[hidden.length + 1];
+ System.arraycopy(hidden, 0, new_hidden, 0, hidden.length);
+ new_hidden[hidden.length] = false;
+ hidden = new_hidden;
+ }
}
@Override