More changes to make icons smooth on older devices
* Never do any kind of scaling (was only done in low resolution screens) * Don't animate (fade-in) on older devices
This commit is contained in:
parent
8f7d09f41a
commit
1346d370cb
@ -24,6 +24,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.Semaphore;
|
import java.util.concurrent.Semaphore;
|
||||||
|
|
||||||
|
import android.os.Build;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@ -34,6 +35,7 @@ import android.graphics.Bitmap;
|
|||||||
import com.nostra13.universalimageloader.utils.StorageUtils;
|
import com.nostra13.universalimageloader.utils.StorageUtils;
|
||||||
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
|
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
|
||||||
import com.nostra13.universalimageloader.cache.disc.naming.FileNameGenerator;
|
import com.nostra13.universalimageloader.cache.disc.naming.FileNameGenerator;
|
||||||
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
||||||
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
||||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
@ -80,23 +82,47 @@ public class FDroidApp extends Application {
|
|||||||
DB.initDB(ctx);
|
DB.initDB(ctx);
|
||||||
UpdateService.schedule(ctx);
|
UpdateService.schedule(ctx);
|
||||||
|
|
||||||
File cacheDir = new File(StorageUtils.getCacheDirectory(ctx), "icons");
|
DisplayImageOptions defaultOptions;
|
||||||
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
|
int threads;
|
||||||
|
|
||||||
|
// Parameters for 2.2 and below
|
||||||
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) {
|
||||||
|
defaultOptions = new DisplayImageOptions.Builder()
|
||||||
|
.cacheInMemory(true)
|
||||||
|
.cacheOnDisc(true)
|
||||||
|
.showImageOnLoading(android.R.drawable.sym_def_app_icon)
|
||||||
|
.bitmapConfig(Bitmap.Config.RGB_565)
|
||||||
|
.imageScaleType(ImageScaleType.NONE)
|
||||||
|
.build();
|
||||||
|
threads = 1;
|
||||||
|
}
|
||||||
|
// Parameters for 2.3 and above
|
||||||
|
else {
|
||||||
|
defaultOptions = new DisplayImageOptions.Builder()
|
||||||
.cacheInMemory(true)
|
.cacheInMemory(true)
|
||||||
.cacheOnDisc(true)
|
.cacheOnDisc(true)
|
||||||
.showImageOnLoading(android.R.drawable.sym_def_app_icon)
|
.showImageOnLoading(android.R.drawable.sym_def_app_icon)
|
||||||
.displayer(new FadeInBitmapDisplayer(250, true, true, false))
|
.displayer(new FadeInBitmapDisplayer(250, true, true, false))
|
||||||
.bitmapConfig(Bitmap.Config.RGB_565)
|
.bitmapConfig(Bitmap.Config.RGB_565)
|
||||||
|
.imageScaleType(ImageScaleType.NONE)
|
||||||
.build();
|
.build();
|
||||||
|
threads = Runtime.getRuntime().availableProcessors() * 2;
|
||||||
|
}
|
||||||
|
|
||||||
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(ctx)
|
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(ctx)
|
||||||
.discCache(new UnlimitedDiscCache(cacheDir, new FileNameGenerator() {
|
.discCache(new UnlimitedDiscCache(
|
||||||
|
new File(StorageUtils.getCacheDirectory(ctx), "icons"),
|
||||||
|
new FileNameGenerator() {
|
||||||
public String generate(String imageUri) {
|
public String generate(String imageUri) {
|
||||||
return imageUri.substring(imageUri.lastIndexOf('/') + 1);
|
return imageUri.substring(
|
||||||
|
imageUri.lastIndexOf('/') + 1);
|
||||||
} } ))
|
} } ))
|
||||||
.defaultDisplayImageOptions(defaultOptions)
|
.defaultDisplayImageOptions(defaultOptions)
|
||||||
.threadPoolSize(4)
|
.threadPoolSize(threads)
|
||||||
.build();
|
.build();
|
||||||
ImageLoader.getInstance().init(config);
|
ImageLoader.getInstance().init(config);
|
||||||
|
Log.d("FDroid", "Universal Image Loader started with "
|
||||||
|
+ threads + " threads");
|
||||||
}
|
}
|
||||||
|
|
||||||
Context ctx;
|
Context ctx;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user