// 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";
//         }
//     }
// }


import android.content.Context;
import android.os.Environment;
import android.text.TextUtils;
import com.jakewharton.disklrucache.DiskLruCache;
import com.nostra13.universalimageloader.utils.L;
import java.io.File;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import io.gitcafe.zhanjiashu.newzhihudialy.app.App;
package io.gitcafe.zhanjiashu.newzhihudialy.util;





/**
 * Created by Jiashu on 2015/6/3.
 */
public class ZHStorageUtils {

    private static DiskLruCache mFilesDiskCache;

    public static File getDiskCacheDir(Context context, String dir) {
        if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
                || !Environment.isExternalStorageRemovable()) {
            return new File(getExternalCacheDir(context), dir);
        } else {
            return new File(context.getCacheDir(), dir);
        }
    }

    public static DiskLruCache getFilesDiskCache(Context context) {
        if (mFilesDiskCache == null || mFilesDiskCache.isClosed()) {
            try {
                File cacheDir = getDiskCacheDir(context, "files");
                if (!cacheDir.exists()) {
                    cacheDir.mkdirs();
                }
// 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/util/ZHStorageUtils.java
import android.content.Context;
import android.os.Environment;
import android.text.TextUtils;
import com.jakewharton.disklrucache.DiskLruCache;
import com.nostra13.universalimageloader.utils.L;
import java.io.File;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import io.gitcafe.zhanjiashu.newzhihudialy.app.App;

package io.gitcafe.zhanjiashu.newzhihudialy.util;





/**
 * Created by Jiashu on 2015/6/3.
 */
public class ZHStorageUtils {

    private static DiskLruCache mFilesDiskCache;

    public static File getDiskCacheDir(Context context, String dir) {
        if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
                || !Environment.isExternalStorageRemovable()) {
            return new File(getExternalCacheDir(context), dir);
        } else {
            return new File(context.getCacheDir(), dir);
        }
    }

    public static DiskLruCache getFilesDiskCache(Context context) {
        if (mFilesDiskCache == null || mFilesDiskCache.isClosed()) {
            try {
                File cacheDir = getDiskCacheDir(context, "files");
                if (!cacheDir.exists()) {
                    cacheDir.mkdirs();
                }
                mFilesDiskCache = DiskLruCache.open(cacheDir, App.getAppVersion(context), 1, 30 * 1024 * 1024);