From 1ea804593b8e3a9bb585ebec36d5484945d31c14 Mon Sep 17 00:00:00 2001 From: tsrkalexandr <45003062+tsrkalexandr@users.noreply.github.com> Date: Tue, 13 Nov 2018 20:41:15 +0300 Subject: [PATCH] Fix file:// scheme on Android. (#345) --- .../com/dylanvann/fastimage/FastImageSource.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/android/src/main/java/com/dylanvann/fastimage/FastImageSource.java b/android/src/main/java/com/dylanvann/fastimage/FastImageSource.java index c65871c..888b38e 100644 --- a/android/src/main/java/com/dylanvann/fastimage/FastImageSource.java +++ b/android/src/main/java/com/dylanvann/fastimage/FastImageSource.java @@ -16,6 +16,7 @@ public class FastImageSource extends ImageSource { private static final String LOCAL_RESOURCE_SCHEME = "res"; private static final String ANDROID_RESOURCE_SCHEME = "android.resource"; private static final String ANDROID_CONTENT_SCHEME = "content"; + private static final String LOCAL_FILE_SCHEME = "file"; private Headers mHeaders; private Uri mUri; @@ -35,6 +36,10 @@ public class FastImageSource extends ImageSource { return ANDROID_CONTENT_SCHEME.equals(uri.getScheme()); } + public static boolean isLocalFileUri(Uri uri) { + return LOCAL_FILE_SCHEME.equals(uri.getScheme()); + } + public FastImageSource(Context context, String source) { this(context, source, null); } @@ -68,6 +73,10 @@ public class FastImageSource extends ImageSource { return mUri != null && FastImageSource.isResourceUri(mUri); } + public boolean isLocalFile() { + return mUri != null && FastImageSource.isLocalFileUri(mUri); + } + public boolean isContentUri() { return mUri != null && FastImageSource.isContentUri(mUri); } @@ -82,6 +91,9 @@ public class FastImageSource extends ImageSource { if (isResource()) { return getUri(); } + if (isLocalFile()) { + return getUri().toString(); + } return getGlideUrl(); }