fedilab-Android-App/app/src/main/java/fr/gouv/etalab/mastodon/client/Glide/CustomStreamFetcher.java

54 lines
1.2 KiB
Java

package fr.gouv.etalab.mastodon.client.Glide;
import android.support.annotation.NonNull;
import com.bumptech.glide.Priority;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.data.DataFetcher;
import com.bumptech.glide.load.model.GlideUrl;
import java.io.InputStream;
import fr.gouv.etalab.mastodon.client.HttpsConnection;
/**
* Created by Thomas on 13/12/2017.
* Custom stream fetcher which will use getPicture from HttpsConnection to get the inputstream
*/
public class CustomStreamFetcher implements DataFetcher<InputStream> {
private GlideUrl url;
CustomStreamFetcher(GlideUrl url) {
this.url = url;
}
@Override
public void loadData(Priority priority, DataCallback<? super InputStream> callback) {
callback.onDataReady(new HttpsConnection().getPicture(url.toStringUrl()));
}
@Override
public void cleanup() {
}
@Override
public void cancel() {
}
@NonNull
@Override
public Class<InputStream> getDataClass() {
return InputStream.class;
}
@NonNull
@Override
public DataSource getDataSource() {
return DataSource.REMOTE;
}
}