OC-1028: add extra condition to check of redirection. New method isIdPRedirection...
authormasensio <masensio@solidgear.es>
Wed, 21 Aug 2013 16:12:28 +0000 (18:12 +0200)
committermasensio <masensio@solidgear.es>
Wed, 21 Aug 2013 16:12:28 +0000 (18:12 +0200)
src/com/owncloud/android/authentication/AuthenticatorActivity.java
src/com/owncloud/android/operations/RemoteOperationResult.java

index d844011..138c860 100644 (file)
@@ -744,7 +744,7 @@ implements  OnRemoteOperationListener, OnSslValidatorListener, OnFocusChangeList
             // NOTHING TO DO ; can't find out what situation that leads to the exception in this code, but user logs signal that it happens\r
         }\r
         \r
-        if (result.isTemporalRedirection()) {\r
+        if (result.isTemporalRedirection() || result.isIdPRedirection()) {\r
             String url = result.getRedirectedLocation();\r
             String targetUrl = mHostBaseUrl + AccountUtils.getWebdavPath(mDiscoveredVersion, mCurrentAuthTokenType);\r
             \r
index cc2ee67..5701476 100644 (file)
@@ -24,7 +24,6 @@ import java.net.MalformedURLException;
 import java.net.SocketException;
 import java.net.SocketTimeoutException;
 import java.net.UnknownHostException;
-import java.util.Map;
 
 import javax.net.ssl.SSLException;
 
@@ -319,5 +318,10 @@ public class RemoteOperationResult implements Serializable {
     public String getRedirectedLocation() {
         return mRedirectedLocation;
     }
+    
+    public boolean isIdPRedirection() {
+        return (mRedirectedLocation.toUpperCase().contains("SAML") || 
+                mRedirectedLocation.toLowerCase().contains("wayf"));
+    }
 
 }