From 03f97c7e3b0f7dc10e042f68e88f8c80733f4dce Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 2 Sep 2019 08:30:13 +0200 Subject: [PATCH] Refactoring --- .../java/eu/faircode/email/ConnectionHelper.java | 16 ++++++++++++++++ .../java/eu/faircode/email/FragmentAccount.java | 2 +- app/src/main/java/eu/faircode/email/Helper.java | 8 -------- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ConnectionHelper.java b/app/src/main/java/eu/faircode/email/ConnectionHelper.java index 8da0f2113f..c24f47bf99 100644 --- a/app/src/main/java/eu/faircode/email/ConnectionHelper.java +++ b/app/src/main/java/eu/faircode/email/ConnectionHelper.java @@ -22,6 +22,7 @@ import java.net.UnknownHostException; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Objects; import javax.mail.Address; import javax.mail.internet.InternetAddress; @@ -316,4 +317,19 @@ public class ConnectionHelper { return ok; } + + static boolean isSameDomain(String host1, String host2) { + String domain1 = getDomain(host1); + String domain2 = getDomain(host2); + return Objects.equals(domain1, domain2); + } + + private static String getDomain(String host) { + if (host != null) { + String[] h = host.split("\\."); + if (h.length >= 2) + return h[h.length - 2] + "." + h[h.length - 1]; + } + return host; + } } diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index 829fbd0dce..aac16b8a44 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -934,7 +934,7 @@ public class FragmentAccount extends FragmentBase { List identities = db.identity().getIdentities(account.id); for (EntityIdentity identity : identities) if (identity.password.equals(account.password) && - Helper.getTld(identity.host).equals(Helper.getTld(account.host))) { + ConnectionHelper.isSameDomain(identity.host, account.host)) { Log.i("Changing identity password host=" + identity.host); identity.password = password; db.identity().updateIdentity(identity); diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 5cd63b1031..356a33b8fa 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -871,14 +871,6 @@ public class Helper { return true; } - static String getTld(String host) { - String[] h = host.split("\\."); - if (h.length >= 2) - return h[h.length - 2] + "." + h[h.length - 1]; - else - return host; - } - static int getSize(Bundle bundle) { Parcel p = Parcel.obtain(); bundle.writeToParcel(p, 0);