示例#1
0
  private void processImageResponse(
      ImageResponse response, String graphObjectId, ImageView imageView) {
    pendingRequests.remove(graphObjectId);
    if (response.getError() != null) {
      callOnErrorListener(response.getError());
    }

    if (imageView == null) {
      // This was a pre-fetch request.
      if (response.getBitmap() != null) {
        // Is the cache too big?
        if (prefetchedPictureCache.size() >= MAX_PREFETCHED_PICTURES) {
          // Find the oldest one and remove it.
          String oldestId = prefetchedProfilePictureIds.remove(0);
          prefetchedPictureCache.remove(oldestId);
        }
        prefetchedPictureCache.put(graphObjectId, response);
      }
    } else if (graphObjectId.equals(imageView.getTag())) {
      Exception error = response.getError();
      Bitmap bitmap = response.getBitmap();
      if (error == null && bitmap != null) {
        imageView.setImageBitmap(bitmap);
        imageView.setTag(response.getRequest().getImageUri());
      }
    }
  }