package in.srain.cube.cache; import android.content.Context; import android.text.TextUtils; import in.srain.cube.Cube; public class CacheManagerFactory { private static CacheManager sDefault; private static final String DEFAULT_CACHE_DIR = "cube-default-cache"; private static final int DEFAULT_CACHE_MEMORY_CACHE_SIZE = 1024; // 1M private static final int DEFAULT_CACHE_DISK_CACHE_SIZE = 1024 * 10; // 10M public static CacheManager getDefault() { if (sDefault == null) { initDefaultCache(Cube.getInstance().getContext(), DEFAULT_CACHE_DIR, DEFAULT_CACHE_MEMORY_CACHE_SIZE, DEFAULT_CACHE_DISK_CACHE_SIZE); } return sDefault; } public static void initDefaultCache(Context content, String cacheDir, int memoryCacheSizeInKB, int fileCacheSizeInKB) { if (TextUtils.isEmpty(cacheDir)) { cacheDir = DEFAULT_CACHE_DIR; } if (memoryCacheSizeInKB <= 0) { memoryCacheSizeInKB = DEFAULT_CACHE_MEMORY_CACHE_SIZE; } if (fileCacheSizeInKB <= 0) { fileCacheSizeInKB = DEFAULT_CACHE_DISK_CACHE_SIZE; } sDefault = new CacheManager(content, cacheDir, memoryCacheSizeInKB, fileCacheSizeInKB); } }