diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-07-21 12:54:36 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-07-21 12:54:36 +0300 |
commit | d2774bf18855f08c65a46355e059e5bcd812b262 (patch) | |
tree | 764e6b2b54a29337ac7ab2f2800799ce0c59887c /app/src/main/java/it/niedermann/nextcloud/deck/ui/card | |
parent | 3dad95afdfa1bea0c8e35d6e768378291b5eede0 (diff) |
#573 projects - Fix Uri parsing
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceViewHolder.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceViewHolder.java index dee236365..6cad48940 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceViewHolder.java @@ -7,6 +7,8 @@ import android.net.Uri; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import java.net.URL; + import it.niedermann.nextcloud.deck.DeckLog; import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.databinding.ItemProjectResourceBinding; @@ -59,11 +61,13 @@ public class CardProjectResourceViewHolder extends RecyclerView.ViewHolder { private static Uri getResourceUri(@NonNull Account account, @NonNull String link) throws IllegalArgumentException { try { // Assume link contains a fully qualified Uri including host - return Uri.parse(link); + final URL u = new URL(link); + return Uri.parse(u.toString()); } catch (Throwable linkIsNotQualified) { try { // Assume link is a absolute path that needs to be concatenated with account url for a complete Uri - return Uri.parse(account.getUrl() + link); + final URL u = new URL(account.getUrl() + link); + return Uri.parse(u.toString()); } catch (Throwable throwable) { throw new IllegalArgumentException("Could not parse " + Uri.class.getSimpleName() + ": " + link, throwable); } |