@Override public void loadThumbnail(ImageView view, long photoId, boolean darkTheme, boolean isCircular, DefaultImageRequest defaultImageRequest, DefaultImageProvider defaultProvider) { if (photoId == 0) { // No photo is needed defaultProvider.applyDefaultImage(view, -1, darkTheme, defaultImageRequest); mPendingRequests.remove(view); } else { if (DEBUG) Log.d(TAG, "loadPhoto request: " + photoId); loadPhotoByIdOrUri(view, Request.createFromThumbnailId(photoId, darkTheme, isCircular, defaultProvider)); } }
@Override public void loadPhoto(ImageView view, Uri photoUri, int requestedExtent, boolean darkTheme, boolean isCircular, DefaultImageRequest defaultImageRequest, DefaultImageProvider defaultProvider) { if (photoUri == null) { // No photo is needed defaultProvider.applyDefaultImage(view, requestedExtent, darkTheme, defaultImageRequest); mPendingRequests.remove(view); } else { if (DEBUG) Log.d(TAG, "loadPhoto request: " + photoUri); if (isDefaultImageUri(photoUri)) { createAndApplyDefaultImageForUri(view, photoUri, requestedExtent, darkTheme, isCircular, defaultProvider); } else { loadPhotoByIdOrUri(view, Request.createFromUri(photoUri, requestedExtent, darkTheme, isCircular, defaultProvider)); } } }
/** * Applies the default image to the current view. If the request is URI-based, looks for * the contact type encoded fragment to determine if this is a request for a business photo, * in which case we will load the default business photo. * * @param view The current image view to apply the image to. * @param isCircular Whether the image is circular or not. */ public void applyDefaultImage(ImageView view, boolean isCircular) { final DefaultImageRequest request; if (isCircular) { request = ContactPhotoManager.isBusinessContactUri(mUri) ? DefaultImageRequest.EMPTY_CIRCULAR_BUSINESS_IMAGE_REQUEST : DefaultImageRequest.EMPTY_CIRCULAR_DEFAULT_IMAGE_REQUEST; } else { request = ContactPhotoManager.isBusinessContactUri(mUri) ? DefaultImageRequest.EMPTY_DEFAULT_BUSINESS_IMAGE_REQUEST : DefaultImageRequest.EMPTY_DEFAULT_IMAGE_REQUEST; } mDefaultProvider.applyDefaultImage(view, mRequestedExtent, mDarkTheme, request); } }
private void createAndApplyDefaultImageForUri(ImageView view, Uri uri, int requestedExtent, boolean darkTheme, boolean isCircular, DefaultImageProvider defaultProvider) { DefaultImageRequest request = getDefaultImageRequestFromUri(uri); request.isCircular = isCircular; defaultProvider.applyDefaultImage(view, requestedExtent, darkTheme, request); }