aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/de/pixart/messenger/ui/MagicCreateActivity.java8
-rw-r--r--src/main/java/de/pixart/messenger/ui/adapter/KnownHostsAdapter.java135
-rw-r--r--src/main/res/layout/magic_create.xml2
3 files changed, 140 insertions, 5 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/MagicCreateActivity.java b/src/main/java/de/pixart/messenger/ui/MagicCreateActivity.java
index 6a2beaf8c..849bd0593 100644
--- a/src/main/java/de/pixart/messenger/ui/MagicCreateActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/MagicCreateActivity.java
@@ -6,23 +6,25 @@ import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
+import android.widget.AutoCompleteTextView;
import android.widget.Button;
-import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.security.SecureRandom;
+import java.util.List;
import de.pixart.messenger.Config;
import de.pixart.messenger.R;
import de.pixart.messenger.entities.Account;
+import de.pixart.messenger.ui.adapter.KnownHostsAdapter;
import de.pixart.messenger.xmpp.jid.InvalidJidException;
import de.pixart.messenger.xmpp.jid.Jid;
public class MagicCreateActivity extends XmppActivity implements TextWatcher {
private TextView mFullJidDisplay;
- private EditText mUsername;
+ private AutoCompleteTextView mUsername;
private SecureRandom mRandom;
private static final String CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456780+-/#$!?";
@@ -53,9 +55,11 @@ public class MagicCreateActivity extends XmppActivity implements TextWatcher {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
super.onCreate(savedInstanceState);
+ List<String> knownHosts = null;
setContentView(R.layout.magic_create);
mFullJidDisplay = findViewById(R.id.full_jid);
mUsername = findViewById(R.id.username);
+ mUsername.setAdapter(new KnownHostsAdapter(this, R.layout.simple_list_item, knownHosts));
mRandom = new SecureRandom();
Button next = findViewById(R.id.create_account);
next.setOnClickListener(v -> {
diff --git a/src/main/java/de/pixart/messenger/ui/adapter/KnownHostsAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/KnownHostsAdapter.java
index 6096a7196..5bd9c9c17 100644
--- a/src/main/java/de/pixart/messenger/ui/adapter/KnownHostsAdapter.java
+++ b/src/main/java/de/pixart/messenger/ui/adapter/KnownHostsAdapter.java
@@ -5,6 +5,8 @@ import android.widget.ArrayAdapter;
import android.widget.Filter;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -59,8 +61,137 @@ public class KnownHostsAdapter extends ArrayAdapter<String> {
};
public KnownHostsAdapter(Context context, int viewResourceId, List<String> mKnownHosts) {
- super(context, viewResourceId, new ArrayList<String>());
- domains = new ArrayList<>(mKnownHosts);
+ super(context, viewResourceId, new ArrayList<>());
+ if (mKnownHosts == null) {
+ domains = new ArrayList<>();
+ } else {
+ domains = new ArrayList<>(mKnownHosts);
+ }
+ HashSet<String> hashSet = new HashSet<>();
+
+ // get servers from https://conversations.im/compliance/
+ domains.add("pix-art.de");
+ domains.add("conversations.im");
+ domains.add("jabber.cat");
+ domains.add("jabjab.de");
+ domains.add("im.koderoot.net");
+ domains.add("riotcat.org");
+ domains.add("magicbroccoli.de");
+ domains.add("kode.im");
+ domains.add("jabber-germany.de");
+ domains.add("simplewire.de");
+ domains.add("suchat.org");
+ domains.add("jabber.at");
+ domains.add("trashserver.net");
+ domains.add("wiuwiu.de");
+ domains.add("5222.de");
+ domains.add("dismail.de");
+ domains.add("chat.sum7.eu");
+ domains.add("xmpp.zone");
+ domains.add("libranet.de");
+ domains.add("laborversuch.de");
+ domains.add("creep.im");
+ domains.add("jabber.systemausfall.org");
+ domains.add("jabber.hot-chilli.net");
+ domains.add("jabber.fr");
+ domains.add("jabber.de");
+ domains.add("draugr.de");
+ domains.add("elaon.de");
+ domains.add("high-way.me");
+ domains.add("jabber.rwth-aachen.de");
+ domains.add("deshalbfrei.org");
+ domains.add("mail.de");
+ domains.add("bommboo.de");
+ domains.add("jabber.systemli.org");
+ domains.add("jabb.im");
+ domains.add("mailbox.org");
+ domains.add("hot-chilli.net");
+ domains.add("jabberpl.org");
+ domains.add("chinwag.im");
+ domains.add("tchncs.de");
+ domains.add("zsim.de");
+ domains.add("patchcord.be");
+ domains.add("gajim.org");
+ domains.add("talker.to");
+ domains.add("pimux.de");
+ domains.add("jabber.home.vdlinde.org");
+ domains.add("im.apinc.org");
+ domains.add("chatme.im");
+ domains.add("fusselkater.org");
+ domains.add("datenknoten.me");
+ domains.add("fysh.in");
+ domains.add("jabber.chaos-darmstadt.de");
+ domains.add("yax.im");
+ domains.add("neko.im");
+ domains.add("jabberzac.org");
+ domains.add("xmpp.is");
+ domains.add("home.zom.im");
+ domains.add("jabber.ccc.de");
+ domains.add("jwchat.org");
+ domains.add("kdetalk.net");
+ domains.add("kde.org");
+ domains.add("riseup.net");
+ domains.add("ruhr-uni-bochum.de");
+ domains.add("njs.netlab.cz");
+ domains.add("schokokeks.org");
+ domains.add("jabber.cz");
+ domains.add("ubuntu-jabber.de");
+ domains.add("xabber.de");
+ domains.add("ubuntu-jabber.net");
+ domains.add("jabber.ru");
+ domains.add("darknet.nz");
+ domains.add("movim.eu");
+ domains.add("404.city");
+ domains.add("igniterealtime.org");
+ domains.add("kapsi.fi");
+ domains.add("jabbel.net");
+ domains.add("joindiaspora.com");
+ domains.add("alpha-labs.net");
+ domains.add("xmppnet.de");
+ domains.add("hoth.one");
+ domains.add("blah.im");
+ domains.add("xmpp.jp");
+ domains.add("jabber.uni-mainz.de");
+ domains.add("richim.org");
+ domains.add("tigase.im");
+ domains.add("jappix.com");
+ domains.add("member.fsf.org");
+ domains.add("jabber.rueckgr.at");
+ domains.add("swissjabber.ch");
+ domains.add("twattle.net");
+ domains.add("jabber.calyxinstitute.org");
+ domains.add("sapo.pt");
+ domains.add("uprod.biz");
+ domains.add("krautspace.de");
+ domains.add("kraut.space");
+ domains.add("null.pm");
+ domains.add("anonymitaet-im-inter.net");
+ domains.add("0nl1ne.at");
+ domains.add("linuxlovers.at");
+ domains.add("jabber.org");
+ domains.add("jabber.no-sense.net");
+ domains.add("swissjabber.eu");
+ domains.add("swissjabber.org");
+ domains.add("swissjabber.de");
+ domains.add("swissjabber.li");
+ domains.add("jabber.no");
+ domains.add("cypherpunks.it");
+ domains.add("adastra.re");
+ domains.add("jabber-br.org");
+ domains.add("einfachjabber.de");
+ domains.add("jabber.smash-net.org");
+ domains.add("freifunk.im");
+ domains.add("openmailbox.org");
+ domains.add("jabber.otr.im");
+ domains.add("evil.im");
+ domains.add("xmpp.slack.com");
+ domains.add("chat.hipchat.com");
+ domains.add("googlemail.com");
+
+ hashSet.addAll(domains);
+ domains.clear();
+ domains.addAll(hashSet);
+ Collections.sort(domains, String::compareToIgnoreCase);
}
@Override
diff --git a/src/main/res/layout/magic_create.xml b/src/main/res/layout/magic_create.xml
index 3330a7cbb..35307cfed 100644
--- a/src/main/res/layout/magic_create.xml
+++ b/src/main/res/layout/magic_create.xml
@@ -43,7 +43,7 @@
android:textColor="@color/black87"
android:textSize="?attr/TextSizeBody" />
- <EditText
+ <AutoCompleteTextView
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"