Try method : getDomainFromUrl() in that class
package com.visc.mobilesecurity.childrencare.utils;
import android.content.Context;
import com.visc.mobilesecurity.antitheft.backwardcompatibility.FroyoSupport;
import com.visc.mobilesecurity.antitheft.util.AntiTheftUtils;
import com.visc.mobilesecurity.constant.Key;
import com.visc.mobilesecurity.util.Prefs;
import org.json.JSONObject;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
/**
* Created by thongnv12 on 3/9/2018.
*/
public class ChildcareUtils {
public static final String[] NATION_DOMAIN = {"af", "ax", "al", "dz", "as", "ad", "ao", "ai", "aq", "ag", "ar", "am", "aw", "ac", "au", "at", "az", "bs", "bh", "bd", "bb", "eus",
"by", "be", "bz", "bj", "bm", "bt", "bo", "bq", "ba", "bw", "bv", "br", "io", "vg", "bn", "bg", "bf", "mm", "bi", "kh", "cm", "ca", "cv", "cat", "ky", "cf", "td", "cl",
"cn", "cx", "cc", "co", "km", "cd", "cg", "ck", "cr", "ci", "hr", "cu", "cw", "cy", "cz", "dk", "dj", "dm", "do", "tl", "ec", "eg", "sv", "gq", "er", "ee", "et", "eu",
"fk", "fo", "fm", "fj", "fi", "fr", "gf", "pf", "tf", "ga", "gal", "gm", "ps", "ge", "de", "gh", "gi", "gr", "gl", "gd", "gp", "gu", "gt", "gg", "gn", "gw", "gy", "ht",
"hm", "hn", "hk", "hu", "is", "in", "id", "ir", "iq", "ie", "im", "il", "it", "jm", "jp", "je", "jo", "kz", "ke", "ki", "kw", "kg", "la", "lv", "lb", "ls", "lr", "ly",
"li", "lt", "lu", "mo", "mk", "mg", "mw", "my", "mv", "ml", "mt", "mh", "mq", "mr", "mu", "yt", "mx", "md", "mc", "mn", "me", "ms", "ma", "mz", "mm", "na", "nr", "np",
"nl", "nc", "nz", "ni", "ne", "ng", "nu", "nf", "kp", "mp", "no", "om", "pk", "pw", "ps", "pa", "pg", "py", "pe", "ph", "pn", "pl", "pt", "pr", "qa", "ro", "ru", "rw",
"re", "bq", "bl", "sh", "kn", "lc", "mf", "fr", "pm", "vc", "ws", "sm", "st", "sa", "sn", "rs", "sc", "sl", "sg", "bq", "sx", "sk", "si", "sb", "so", "so", "za", "gs",
"kr", "ss", "es", "lk", "sd", "sr", "sj", "sz", "se", "ch", "sy", "tw", "tj", "tz", "th", "tg", "tk", "to", "tt", "tn", "tr", "tm", "tc", "tv", "ug", "ua", "ae", "uk",
"us", "vi", "uy", "uz", "vu", "va", "ve", "vn", "wf", "eh", "zm", "zw"};
public static boolean isInNationString(String str) {
for (int index = 0; index < NATION_DOMAIN.length; index++) {
if (NATION_DOMAIN[index].equals(str)) {
return true;
}
}
return false;
}
public static String getDomainFromUrl(String urlStr) {
try {
String result = null;
// URL url = new URL(urlStr);
// result = url.getHost();
// return result;
//
// for test
// check dau cach
if (urlStr.contains(" ")) {
return null;
}
// replace
urlStr = urlStr.replace("https://", "");
urlStr = urlStr.replace("http://", "");
urlStr = urlStr.replace("www.", "");
//
String[] splitStr = urlStr.split("/");
String domainFull = splitStr[0];
String[] splitDot = domainFull.split("\\.");
if (splitDot.length < 2) {
return null;
}
String nationStr = splitDot[splitDot.length - 1];
if (isInNationString(nationStr)) {
if (splitDot.length < 4) {
result = domainFull;
} else {
StringBuilder strResult = new StringBuilder();
int lengthDot = splitDot.length;
strResult.append(splitDot[lengthDot - 3]).append(".");
strResult.append(splitDot[lengthDot - 2]).append(".");
strResult.append(splitDot[lengthDot - 1]);
result = strResult.toString();
}
} else {
if (splitDot.length < 3) {
result = domainFull;
} else {
StringBuilder strResult = new StringBuilder();
int lengthDot = splitDot.length;
strResult.append(splitDot[lengthDot - 2]).append(".");
strResult.append(splitDot[lengthDot - 1]);
result = strResult.toString();
}
}
return result;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
}