It seems that DavDroid currently issues a .well-known request to the server, and only falls back to the user-given URL. I think it should be the other way around.
1.) well-known request to server – if that fails, use user-given URL
2.) PROPFIND requesting current-user-principal to found URL
Proposed to fix this issue:
1.) PROPFIND requesting current-user-principal to user-given URL
2.) If that fails, well-known request to server, then issue PROPFIND against the found URL
This is slower but allows the user to deal with “wrong” well-known setups.
#528 could be fixed “on-the-go” by prepending a check if the user-given URL is a collection.