content: /*******************************************************************************
   * Copyright 2013 Sergey Tarasevich
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *******************************************************************************/
  package com.nostra13.universalimageloader.core.imageaware;
  
  import android.graphics.Bitmap;
  import android.graphics.drawable.Drawable;
  import android.text.TextUtils;
  import android.view.View;
  import com.nostra13.universalimageloader.core.assist.ImageSize;
  import com.nostra13.universalimageloader.core.assist.ViewScaleType;
  
  /**
   * ImageAware which provides needed info for processing of original image but do nothing for displaying image. It's
   * used when user need just load and decode image and get it in {@linkplain
   * com.nostra13.universalimageloader.core.listener.ImageLoadingListener#onLoadingComplete(String, android.view.View,
   * android.graphics.Bitmap) callback}.
   *
   * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
   * @since 1.9.0
   */
  public class NonViewAware implements ImageAware {
  
  	protected final String imageUri;
  	protected final ImageSize imageSize;
  	protected final ViewScaleType scaleType;
  
  	public NonViewAware(ImageSize imageSize, ViewScaleType scaleType) {
  		this(null, imageSize, scaleType);
  	}
  
  	public NonViewAware(String imageUri, ImageSize imageSize, ViewScaleType scaleType) {
  		if (imageSize == null) throw new IllegalArgumentException("imageSize must not be null");
  		if (scaleType == null) throw new IllegalArgumentException("scaleType must not be null");
  
  		this.imageUri = imageUri;
  		this.imageSize = imageSize;
  		this.scaleType = scaleType;
  	}
  
  	@Override
  	public int getWidth() {
  		return imageSize.getWidth();
  	}
  
  	@Override
  	public int getHeight() {
  		return imageSize.getHeight();
  	}
  
  	@Override
  	public ViewScaleType getScaleType() {
  		return scaleType;
  	}
  
  	@Override
  	public View getWrappedView() {
  		return null;
  	}
  
  	@Override
  	public boolean isCollected() {
  		return false;
  	}
  
  	@Override
  	public int getId() {
  		return TextUtils.isEmpty(imageUri) ? super.hashCode() : imageUri.hashCode();
  	}
  
  	@Override
  	public boolean setImageDrawable(Drawable drawable) { // Do nothing
  		return true;
  	}
  
  	@Override
  	public boolean setImageBitmap(Bitmap bitmap) { // Do nothing
  		return true;
  	}
  }