// Path: app/src/main/java/io/gitcafe/zhanjiashu/newzhihudialy/app/App.java
// public class App extends Application {
// 
//     private static final String TAG = "AppApplication";
//     private static Context mContext;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         mContext = this;
//         initImageLoader();
//         LogUtil.d(TAG, "App reset");
//     }
// 
//     public static Context getContext() {
//         return mContext;
//     }
// 
//     private void initImageLoader() {
// 
//         File cacheDir = StorageUtils.getIndividualCacheDirectory(this);
// 
//         ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
//                 .diskCache(new UnlimitedDiskCache(cacheDir))
//                 .build();
//         ImageLoader.getInstance().init(config);
//     }
// 
//     public static int getAppVersion(Context context) {
//         try {
//             PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
//             return info.versionCode;
//         } catch (PackageManager.NameNotFoundException e) {
//             e.printStackTrace();
//         }
//         return 1;
//     }
// 
//     public static String getVersionName() {
//         PackageManager packageManager = getContext().getPackageManager();
// 
//         PackageInfo packInfo = null;
//         try {
//             packInfo = packageManager.getPackageInfo(getContext().getPackageName(), 0);
//             String version = packInfo.versionName;
//             return version;
//         } catch (PackageManager.NameNotFoundException e) {
//             e.printStackTrace();
//             return "0";
//         }
//     }
// }
// 
// Path: app/src/main/java/io/gitcafe/zhanjiashu/newzhihudialy/cache/VolleyLruImageCache.java
// public class VolleyLruImageCache extends LruCache<String, Bitmap> implements ImageLoader.ImageCache {
// 
//     /**
//      * @param maxSize for caches that do not override {@link #sizeOf}, this is
//      *                the maximum number of entries in the cache. For all other caches,
//      *                this is the maximum sum of the sizes of the entries in this cache.
//      */
//     public VolleyLruImageCache(int maxSize) {
//         super(maxSize);
//     }
// 
//     public VolleyLruImageCache(Context context) {
//         this(getDefaultCacheSize(context));
//     }
// 
//     private static int getDefaultCacheSize(Context context) {
//         int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
//         return maxMemory / 8;
//     }
// 
//     @Override
//     protected int sizeOf(String key, Bitmap value) {
//         return value.getRowBytes() * value.getHeight();
//     }
// 
//     @Override
//     public Bitmap getBitmap(String s) {
//         return this.get(s);
//     }
// 
//     @Override
//     public void putBitmap(String s, Bitmap bitmap) {
//         this.put(s, bitmap);
//     }
// }


import android.content.Context;
import android.graphics.Bitmap;
import android.util.LruCache;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import io.gitcafe.zhanjiashu.newzhihudialy.app.App;
import io.gitcafe.zhanjiashu.newzhihudialy.cache.VolleyLruImageCache;
package io.gitcafe.zhanjiashu.newzhihudialy.util;




/**
 * Created by Jiashu on 2015/5/31.
 */
public class VolleyUtils {

    private static VolleyUtils mInstance;
    private RequestQueue mRequestQueue;
    private ImageLoader mImageLoader;
    private VolleyUtils(Context context) {
        mRequestQueue = getRequestQueue();
// Path: app/src/main/java/io/gitcafe/zhanjiashu/newzhihudialy/app/App.java
// public class App extends Application {
// 
//     private static final String TAG = "AppApplication";
//     private static Context mContext;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         mContext = this;
//         initImageLoader();
//         LogUtil.d(TAG, "App reset");
//     }
// 
//     public static Context getContext() {
//         return mContext;
//     }
// 
//     private void initImageLoader() {
// 
//         File cacheDir = StorageUtils.getIndividualCacheDirectory(this);
// 
//         ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
//                 .diskCache(new UnlimitedDiskCache(cacheDir))
//                 .build();
//         ImageLoader.getInstance().init(config);
//     }
// 
//     public static int getAppVersion(Context context) {
//         try {
//             PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
//             return info.versionCode;
//         } catch (PackageManager.NameNotFoundException e) {
//             e.printStackTrace();
//         }
//         return 1;
//     }
// 
//     public static String getVersionName() {
//         PackageManager packageManager = getContext().getPackageManager();
// 
//         PackageInfo packInfo = null;
//         try {
//             packInfo = packageManager.getPackageInfo(getContext().getPackageName(), 0);
//             String version = packInfo.versionName;
//             return version;
//         } catch (PackageManager.NameNotFoundException e) {
//             e.printStackTrace();
//             return "0";
//         }
//     }
// }
// 
// Path: app/src/main/java/io/gitcafe/zhanjiashu/newzhihudialy/cache/VolleyLruImageCache.java
// public class VolleyLruImageCache extends LruCache<String, Bitmap> implements ImageLoader.ImageCache {
// 
//     /**
//      * @param maxSize for caches that do not override {@link #sizeOf}, this is
//      *                the maximum number of entries in the cache. For all other caches,
//      *                this is the maximum sum of the sizes of the entries in this cache.
//      */
//     public VolleyLruImageCache(int maxSize) {
//         super(maxSize);
//     }
// 
//     public VolleyLruImageCache(Context context) {
//         this(getDefaultCacheSize(context));
//     }
// 
//     private static int getDefaultCacheSize(Context context) {
//         int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
//         return maxMemory / 8;
//     }
// 
//     @Override
//     protected int sizeOf(String key, Bitmap value) {
//         return value.getRowBytes() * value.getHeight();
//     }
// 
//     @Override
//     public Bitmap getBitmap(String s) {
//         return this.get(s);
//     }
// 
//     @Override
//     public void putBitmap(String s, Bitmap bitmap) {
//         this.put(s, bitmap);
//     }
// }


// Path: app/src/main/java/io/gitcafe/zhanjiashu/newzhihudialy/util/VolleyUtils.java
import android.content.Context;
import android.graphics.Bitmap;
import android.util.LruCache;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import io.gitcafe.zhanjiashu.newzhihudialy.app.App;
import io.gitcafe.zhanjiashu.newzhihudialy.cache.VolleyLruImageCache;

package io.gitcafe.zhanjiashu.newzhihudialy.util;




/**
 * Created by Jiashu on 2015/5/31.
 */
public class VolleyUtils {

    private static VolleyUtils mInstance;
    private RequestQueue mRequestQueue;
    private ImageLoader mImageLoader;
    private VolleyUtils(Context context) {
        mRequestQueue = getRequestQueue();
        mImageLoader = new ImageLoader(mRequestQueue, new VolleyLruImageCache(context));