package in.srain.cube.demo.app;
import android.app.Application;
import android.os.Environment;
import in.srain.cube.Cube;
import in.srain.cube.cache.CacheManagerFactory;
import in.srain.cube.demo.BuildConfig;
import in.srain.cube.demo.image.DemoDuiTangImageReSizer;
import in.srain.cube.demo.request.DemoRequestProxy;
import in.srain.cube.demo.utils.DemoEnv;
import in.srain.cube.diskcache.lru.SimpleDiskLruCache;
import in.srain.cube.image.ImageLoaderFactory;
import in.srain.cube.image.impl.DefaultImageLoadHandler;
import in.srain.cube.request.RequestCacheManager;
import in.srain.cube.request.RequestManager;
import in.srain.cube.request.RequestProxyFactory;
import in.srain.cube.util.CLog;
import in.srain.cube.util.CubeDebug;
import java.io.File;
public class CubeDemoApplication extends Application {
public static CubeDemoApplication instance;
@Override
public void onCreate() {
super.onCreate();
instance = this;
boolean isProd = !BuildConfig.DEBUG;
DemoEnv.setIsProd(isProd);
// init log level
if (DemoEnv.isProd()) {
CLog.setLogLevel(CLog.LEVEL_ERROR);
} else {
// development
CLog.setLogLevel(CLog.LEVEL_VERBOSE);
}
// debug options
SimpleDiskLruCache.DEBUG = true;
CubeDebug.DEBUG_LIFE_CYCLE = false;
CubeDebug.DEBUG_CACHE = true;
CubeDebug.DEBUG_IMAGE = true;
CubeDebug.DEBUG_REQUEST = true;
Cube.onCreate(this);
initImageLoader();
initRequestCache();
RequestManager.getInstance().setRequestProxyFactory(DemoRequestProxy.getInstance());
// init local cache, just use default
CacheManagerFactory.initDefaultCache(this, null, -1, -1);
}
private void initImageLoader() {
File path1 = Environment.getExternalStoragePublicDirectory("cube/test1/a/b/c");
ImageLoaderFactory.customizeCache(
this,
// memory size
1024 * 10,
// disk cache directory
// path1.getAbsolutePath(),
null,
// disk cache size
ImageLoaderFactory.DEFAULT_FILE_CACHE_SIZE_IN_KB
);
DefaultImageLoadHandler handler = new DefaultImageLoadHandler(this);
// handler.setLoadingImageColor("#999999");
ImageLoaderFactory.setDefaultImageLoadHandler(handler);
ImageLoaderFactory.setDefaultImageReSizer(DemoDuiTangImageReSizer.getInstance());
}
private void initRequestCache() {
String dir = "request-cache";
RequestCacheManager.init(this, dir, 1024 * 10, 1024 * 10);
}
}