From 07ec3c1a0a69cc8606dd9e1acc0363b5423d4048 Mon Sep 17 00:00:00 2001 From: rfc2822 Date: Thu, 2 Oct 2014 12:04:29 +0200 Subject: [PATCH] Don't fail to detect resources if principal is not available for CalDAV/CardDAV --- .../davdroid/resource/DavResourceFinder.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/at/bitfire/davdroid/resource/DavResourceFinder.java b/src/at/bitfire/davdroid/resource/DavResourceFinder.java index aeb8bf6e..ce4f5321 100644 --- a/src/at/bitfire/davdroid/resource/DavResourceFinder.java +++ b/src/at/bitfire/davdroid/resource/DavResourceFinder.java @@ -135,15 +135,21 @@ public class DavResourceFinder { if (wellKnown.getCurrentUserPrincipal() != null) return new WebDavResource(wellKnown, wellKnown.getCurrentUserPrincipal()); } catch (HttpException e) { - Log.d(TAG, "Well-known service detection failed with HTTP error", e); + Log.d(TAG, "well-known " + serviceName + " service detection failed with HTTP error", e); } catch (DavException e) { - Log.d(TAG, "Well-known service detection failed at DAV level", e); + Log.d(TAG, "Well-known " + serviceName + " service detection failed at DAV level", e); } - // fall back to user-given initial context path - resource.propfind(Mode.CURRENT_USER_PRINCIPAL); - if (resource.getCurrentUserPrincipal() != null) - return new WebDavResource(resource, resource.getCurrentUserPrincipal()); + // fall back to user-given initial context path + try { + resource.propfind(Mode.CURRENT_USER_PRINCIPAL); + if (resource.getCurrentUserPrincipal() != null) + return new WebDavResource(resource, resource.getCurrentUserPrincipal()); + } catch (HttpException e) { + Log.d(TAG, "HTTP error when querying principal for " + serviceName + " service", e); + } catch (DavException e) { + Log.d(TAG, "DAV error when querying principal for " + serviceName + " service", e); + } return null; }