Skip to content

Commit

Permalink
Add support for asset URIs
Browse files Browse the repository at this point in the history
  • Loading branch information
Tad Fisher committed May 17, 2013
1 parent bb0e6ef commit 776d03a
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
@@ -0,0 +1,46 @@

package com.koushikdutta.urlimageviewhelper;

import java.io.InputStream;

import android.content.Context;
import android.os.AsyncTask;

public class AssetUrlDownloader implements UrlDownloader {
@Override
public void download(final Context context, final String url, final String filename,
final UrlDownloaderCallback callback, final Runnable completion) {
final AsyncTask<Void, Void, Void> downloader = new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(final Void... params) {
try {
String relativePath = url.replaceFirst("file:///android_asset/", "");
InputStream is = context.getAssets().open(relativePath);
callback.onDownloadComplete(AssetUrlDownloader.this, is, null);
return null;
}
catch (final Throwable e) {
e.printStackTrace();
return null;
}
}

@Override
protected void onPostExecute(final Void result) {
completion.run();
}
};

UrlImageViewHelper.executeTask(downloader);
}

@Override
public boolean allowCache() {
return false;
}

@Override
public boolean canDownloadUrl(String url) {
return url.startsWith("file:///android_asset/");
}
}
Expand Up @@ -681,6 +681,7 @@ private static abstract class Loader implements UrlDownloader.UrlDownloaderCallb
private static HttpUrlDownloader mHttpDownloader = new HttpUrlDownloader();
private static ContentUrlDownloader mContentDownloader = new ContentUrlDownloader();
private static ContactContentUrlDownloader mContactDownloader = new ContactContentUrlDownloader();
private static AssetUrlDownloader mAssetDownloader = new AssetUrlDownloader();
private static FileUrlDownloader mFileDownloader = new FileUrlDownloader();
private static ArrayList<UrlDownloader> mDownloaders = new ArrayList<UrlDownloader>();
public static ArrayList<UrlDownloader> getDownloaders() {
Expand All @@ -691,6 +692,7 @@ public static ArrayList<UrlDownloader> getDownloaders() {
mDownloaders.add(mHttpDownloader);
mDownloaders.add(mContactDownloader);
mDownloaders.add(mContentDownloader);
mDownloaders.add(mAssetDownloader);
mDownloaders.add(mFileDownloader);
}

Expand Down

0 comments on commit 776d03a

Please sign in to comment.