// Path: DandelionPro/src/com/ustc/dystu/dandelion/utils/Logger.java
// public class Logger {
// 	
// 	public static int DEBUG_LEVEL = 6;// ÆÁ±Îlog,ÐÞ¸ÄÎª0
// 
// 	private static final int VERBOSE = 5;
// 	private static final int DEBUG = 4;
// 	private static final int INFO = 3;
// 	private static final int WARN = 2;
// 	private static final int ERROR = 1;
// 
// 	public static int v(String tag, String msg) {
// 		if (DEBUG_LEVEL > VERBOSE) {
// 			return Log.v(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int v(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > VERBOSE) {			return Log.v(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int d(String tag, String msg) {
// 		if (DEBUG_LEVEL > DEBUG) {
// 			return Log.d(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int d(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > DEBUG) {
// 			return Log.d(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int i(String tag, String msg) {
// 		if (DEBUG_LEVEL > INFO) {
// 			return Log.i(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int i(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > INFO) {
// 			return Log.i(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int w(String tag, String msg) {
// 		if (DEBUG_LEVEL > WARN) {
// 			return Log.w(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int w(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > WARN) {
// 			return Log.w(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int e(String tag, String msg) {
// 		if (DEBUG_LEVEL > ERROR) {
// 			return Log.e(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int e(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > ERROR) {
// 			return Log.e(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// }


import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import com.ustc.dystu.dandelion.BuildConfig;
import com.ustc.dystu.dandelion.utils.Logger;
        BitmapFactory.decodeResource(res, resId, options);

        // Calculate inSampleSize
        options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);

        // Decode bitmap with inSampleSize set
        options.inJustDecodeBounds = false;
        return BitmapFactory.decodeResource(res, resId, options);
    }

    /**
     * Decode and sample down a bitmap from a file to the requested width and height.
     *
     * @param filename The full path of the file to decode
     * @param reqWidth The requested width of the resulting bitmap
     * @param reqHeight The requested height of the resulting bitmap
     * @return A bitmap sampled down from the original with the same aspect ratio and dimensions
     *         that are equal to or greater than the requested width and height
     */
    public static synchronized Bitmap decodeSampledBitmapFromFile(String filename,
            int reqWidth, int reqHeight) {

        // First decode with inJustDecodeBounds=true to check dimensions
        final BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(filename, options);

        // Calculate inSampleSize
        options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
        
// Path: DandelionPro/src/com/ustc/dystu/dandelion/utils/Logger.java
// public class Logger {
// 	
// 	public static int DEBUG_LEVEL = 6;// ÆÁ±Îlog,ÐÞ¸ÄÎª0
// 
// 	private static final int VERBOSE = 5;
// 	private static final int DEBUG = 4;
// 	private static final int INFO = 3;
// 	private static final int WARN = 2;
// 	private static final int ERROR = 1;
// 
// 	public static int v(String tag, String msg) {
// 		if (DEBUG_LEVEL > VERBOSE) {
// 			return Log.v(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int v(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > VERBOSE) {			return Log.v(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int d(String tag, String msg) {
// 		if (DEBUG_LEVEL > DEBUG) {
// 			return Log.d(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int d(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > DEBUG) {
// 			return Log.d(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int i(String tag, String msg) {
// 		if (DEBUG_LEVEL > INFO) {
// 			return Log.i(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int i(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > INFO) {
// 			return Log.i(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int w(String tag, String msg) {
// 		if (DEBUG_LEVEL > WARN) {
// 			return Log.w(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int w(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > WARN) {
// 			return Log.w(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int e(String tag, String msg) {
// 		if (DEBUG_LEVEL > ERROR) {
// 			return Log.e(tag, msg);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// 	public static int e(String tag, String msg, Throwable e) {
// 		if (DEBUG_LEVEL > ERROR) {
// 			return Log.e(tag, msg, e);
// 		} else {
// 			return 0;
// 		}
// 	}
// 
// }


// Path: DandelionPro/src/com/ustc/dystu/dandelion/utils/image/ImageResizer.java
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import com.ustc.dystu.dandelion.BuildConfig;
import com.ustc.dystu.dandelion.utils.Logger;

        BitmapFactory.decodeResource(res, resId, options);

        // Calculate inSampleSize
        options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);

        // Decode bitmap with inSampleSize set
        options.inJustDecodeBounds = false;
        return BitmapFactory.decodeResource(res, resId, options);
    }

    /**
     * Decode and sample down a bitmap from a file to the requested width and height.
     *
     * @param filename The full path of the file to decode
     * @param reqWidth The requested width of the resulting bitmap
     * @param reqHeight The requested height of the resulting bitmap
     * @return A bitmap sampled down from the original with the same aspect ratio and dimensions
     *         that are equal to or greater than the requested width and height
     */
    public static synchronized Bitmap decodeSampledBitmapFromFile(String filename,
            int reqWidth, int reqHeight) {

        // First decode with inJustDecodeBounds=true to check dimensions
        final BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(filename, options);

        // Calculate inSampleSize
        options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
        
        Logger.d(TAG, "options.inSampleSize-->" + options.inSampleSize);