Search in sources :

Example 16 with ImageResponse

use of com.facebook.internal.ImageResponse in project openkit-android by OpenKit.

the class GraphObjectAdapter method downloadProfilePicture.

private void downloadProfilePicture(final String profileId, URI pictureURI, final ImageView imageView) {
    if (pictureURI == null) {
        return;
    }
    // If we don't have an imageView, we are pre-fetching this image to store in-memory because we
    // think the user might scroll to its corresponding list row. If we do have an imageView, we
    // only want to queue a download if the view's tag isn't already set to the URL (which would mean
    // it's already got the correct picture).
    boolean prefetching = imageView == null;
    if (prefetching || !pictureURI.equals(imageView.getTag())) {
        if (!prefetching) {
            // Setting the tag to the profile ID indicates that we're currently downloading the
            // picture for this profile; we'll set it to the actual picture URL when complete.
            imageView.setTag(profileId);
            imageView.setImageResource(getDefaultPicture());
        }
        ImageRequest.Builder builder = new ImageRequest.Builder(context.getApplicationContext(), pictureURI).setCallerTag(this).setCallback(new ImageRequest.Callback() {

            @Override
            public void onCompleted(ImageResponse response) {
                processImageResponse(response, profileId, imageView);
            }
        });
        ImageRequest newRequest = builder.build();
        pendingRequests.put(profileId, newRequest);
        ImageDownloader.downloadAsync(newRequest);
    }
}
Also used : ImageRequest(com.facebook.internal.ImageRequest) ImageResponse(com.facebook.internal.ImageResponse)

Aggregations

ImageResponse (com.facebook.internal.ImageResponse)16 ImageRequest (com.facebook.internal.ImageRequest)11 URI (java.net.URI)4 URISyntaxException (java.net.URISyntaxException)4 Uri (android.net.Uri)1