package com.cellasoft.univrapp; import com.github.droidfu.DroidFuApplication; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.display.BitmapDisplayer; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import org.acra.ACRA; import org.acra.ReportField; import org.acra.ReportingInteractionMode; import org.acra.annotation.ReportsCrashes; import org.acra.sender.HttpSender; import java.util.Stack; @ReportsCrashes( formUri = Config.Links.ACRA, reportType = HttpSender.Type.JSON, httpMethod = HttpSender.Method.POST, formUriBasicAuthLogin = Config.ACRA_USER, formUriBasicAuthPassword = Config.ACRA_PASS, formKey = Config.ACRA_KEY, // This is required for backward compatibility but not used customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PACKAGE_NAME, ReportField.REPORT_ID, ReportField.BUILD, ReportField.STACK_TRACE, ReportField.EVENTSLOG, ReportField.LOGCAT }, mode = ReportingInteractionMode.TOAST, resToastText = R.string.crash_toast_text ) public class Application extends DroidFuApplication { public static Stack<Class<?>> parents = new Stack<Class<?>>(); private static Application instance; public Application() { instance = this; } public static Application getInstance() { return instance; } @Override public void onCreate() { super.onCreate(); // if (!BuildConfig.DEBUG) { ACRA.init(this); // } initImageLoader(); //FlatUI.setDefaultTheme(FlatUI.DEEP); } private void initImageLoader() { BitmapDisplayer displayer = new FadeInBitmapDisplayer(300); DisplayImageOptions options = new DisplayImageOptions.Builder() .cacheInMemory(true).cacheOnDisc(true) .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) .showImageOnLoading(R.drawable.user) .showImageForEmptyUri(R.drawable.user) .showImageOnFail(R.drawable.user).resetViewBeforeLoading(false) .displayer(displayer).build(); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder( getApplicationContext()) .diskCacheExtraOptions(240, 240, null) .threadPriority(Thread.NORM_PRIORITY - 2).threadPoolSize(4) .defaultDisplayImageOptions(options).build(); ImageLoader.getInstance().init(config); } @Override public void onLowMemory() { super.onLowMemory(); ImageLoader.getInstance().clearMemoryCache(); System.gc(); } }