From: masensio Date: Fri, 23 May 2014 12:47:05 +0000 (+0200) Subject: Merge pull request #501 from owncloud/no_case_sensitive_log_in X-Git-Tag: oc-android-1.7.0_signed~307 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/58a18684c209e112f2a7b1f6e292a31be66c26b8?hp=600dd057781e3aea3574ffac29d2925dd2156542 Merge pull request #501 from owncloud/no_case_sensitive_log_in Make username case insensitive --- diff --git a/src/com/owncloud/android/authentication/AccountUtils.java b/src/com/owncloud/android/authentication/AccountUtils.java index 10c87963..dc023444 100644 --- a/src/com/owncloud/android/authentication/AccountUtils.java +++ b/src/com/owncloud/android/authentication/AccountUtils.java @@ -18,6 +18,8 @@ package com.owncloud.android.authentication; +import java.util.Locale; + import com.owncloud.android.MainApp; import com.owncloud.android.lib.common.accounts.AccountTypeUtils; import com.owncloud.android.lib.resources.status.OwnCloudVersion; @@ -81,8 +83,18 @@ public class AccountUtils { MainApp.getAccountType()); if (account != null && account.name != null) { - for (Account ac : ocAccounts) { - if (ac.name.equals(account.name)) { + int lastAtPos = account.name.lastIndexOf("@"); + String hostAndPort = account.name.substring(lastAtPos + 1); + String username = account.name.substring(0, lastAtPos); + String otherHostAndPort, otherUsername; + Locale currentLocale = context.getResources().getConfiguration().locale; + for (Account otherAccount : ocAccounts) { + lastAtPos = otherAccount.name.lastIndexOf("@"); + otherHostAndPort = otherAccount.name.substring(lastAtPos + 1); + otherUsername = otherAccount.name.substring(0, lastAtPos); + if (otherHostAndPort.equals(hostAndPort) && + otherUsername.toLowerCase(currentLocale). + equals(username.toLowerCase(currentLocale))) { return true; } }