package com.dm.wallpaper.board.utils; import android.content.Context; import android.graphics.Bitmap; import android.support.annotation.NonNull; import com.danimahardhika.android.helpers.core.FileHelper; import com.dm.wallpaper.board.R; import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.assist.ImageSize; import com.nostra13.universalimageloader.core.assist.QueueProcessingType; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.nostra13.universalimageloader.utils.L; import java.io.File; /* * Wallpaper Board * * Copyright (c) 2017 Dani Mahardhika * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class ImageConfig { public static ImageLoaderConfiguration getImageLoaderConfiguration(@NonNull Context context) { L.writeLogs(false); L.writeDebugLogs(false); return new ImageLoaderConfiguration.Builder(context) .threadPriority(Thread.NORM_PRIORITY - 2) .threadPoolSize(4) .tasksProcessingOrder(QueueProcessingType.FIFO) .diskCacheSize(256 * FileHelper.MB) .diskCache(new UnlimitedDiskCache(new File( context.getCacheDir().toString() + "/uil-images"))) .memoryCacheSize(8 * FileHelper.MB) .build(); } public static DisplayImageOptions getDefaultImageOptions() { DisplayImageOptions.Builder options = new DisplayImageOptions.Builder(); options.delayBeforeLoading(10) .resetViewBeforeLoading(true) .bitmapConfig(Bitmap.Config.RGB_565) .imageScaleType(ImageScaleType.EXACTLY) .displayer(new FadeInBitmapDisplayer(700)) .cacheOnDisk(true) .cacheInMemory(false); return options.build(); } public static DisplayImageOptions getWallpaperOptions() { DisplayImageOptions.Builder options = new DisplayImageOptions.Builder(); options.delayBeforeLoading(10) .bitmapConfig(Bitmap.Config.ARGB_8888) .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) .cacheOnDisk(false) .cacheInMemory(false); return options.build(); } public static DisplayImageOptions.Builder getRawDefaultImageOptions() { DisplayImageOptions.Builder options = new DisplayImageOptions.Builder(); options.delayBeforeLoading(10) .bitmapConfig(Bitmap.Config.RGB_565) .imageScaleType(ImageScaleType.EXACTLY); return options; } public static ImageSize getThumbnailSize(@NonNull Context context) { int quality = context.getResources().getInteger(R.integer.wallpaper_grid_preview_quality); if (quality <= 0) quality = 1; return new ImageSize((50 * quality), (50 * quality)); } }