diff options
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" |