mirror of
https://github.com/nextcloud/android.git
synced 2024-11-27 17:46:37 +03:00
Filter dots at the beginning of the url
This commit is contained in:
parent
eac77d8749
commit
870b8c0726
3 changed files with 16 additions and 10 deletions
|
@ -1 +1 @@
|
|||
Subproject commit 4692c4aadeba1d741b2b164af480c929ad4c17e9
|
||||
Subproject commit 9e761387a0b406402684571f28c36c2d6d2b6301
|
|
@ -776,9 +776,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
|
|||
|
||||
if (uri.length() != 0) {
|
||||
// Handle internationalized domain names
|
||||
if (!uri.startsWith(".")) {
|
||||
uri = DisplayUtils.convertIdn(uri, true);
|
||||
}
|
||||
uri = DisplayUtils.convertIdn(uri, true);
|
||||
|
||||
mServerStatusText = R.string.auth_testing_connection;
|
||||
mServerStatusIcon = R.drawable.progress_small;
|
||||
showServerStatus();
|
||||
|
|
|
@ -257,11 +257,18 @@ public class DisplayUtils {
|
|||
*/
|
||||
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
|
||||
public static String convertIdn(String url, boolean toASCII) {
|
||||
|
||||
|
||||
String urlNoDots = url;
|
||||
String dots="";
|
||||
while (urlNoDots.startsWith(".")) {
|
||||
urlNoDots = url.substring(1);
|
||||
dots = dots + ".";
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
|
||||
// Find host name after '//' or '@'
|
||||
int hostStart = 0;
|
||||
if (url.indexOf("//") != -1) {
|
||||
if (urlNoDots.indexOf("//") != -1) {
|
||||
hostStart = url.indexOf("//") + "//".length();
|
||||
} else if (url.indexOf("@") != -1) {
|
||||
hostStart = url.indexOf("@") + "@".length();
|
||||
|
@ -269,14 +276,14 @@ public class DisplayUtils {
|
|||
|
||||
int hostEnd = url.substring(hostStart).indexOf("/");
|
||||
// Handle URL which doesn't have a path (path is implicitly '/')
|
||||
hostEnd = (hostEnd == -1 ? url.length() : hostStart + hostEnd);
|
||||
hostEnd = (hostEnd == -1 ? urlNoDots.length() : hostStart + hostEnd);
|
||||
|
||||
String host = url.substring(hostStart, hostEnd);
|
||||
String host = urlNoDots.substring(hostStart, hostEnd);
|
||||
host = (toASCII ? IDN.toASCII(host) : IDN.toUnicode(host));
|
||||
|
||||
return url.substring(0, hostStart) + host + url.substring(hostEnd);
|
||||
return dots + urlNoDots.substring(0, hostStart) + host + urlNoDots.substring(hostEnd);
|
||||
} else {
|
||||
return url;
|
||||
return dots + url;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue