summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-06-10 10:25:55 +0300
committerAndrew Dolgov <[email protected]>2015-06-10 10:25:55 +0300
commit0f9959213814e0456a2bc66479b4e71b5e89dbdb (patch)
treeafcc1cd0969ccb24b91d2935a3d31e3939e402c4 /org.fox.ttcomics
parentb07f3831888f60adb3b63a50bb3b4675765c217b (diff)
downsample grid thumbnails
Diffstat (limited to 'org.fox.ttcomics')
-rwxr-xr-xorg.fox.ttcomics/src/main/AndroidManifest.xml4
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java35
2 files changed, 36 insertions, 3 deletions
diff --git a/org.fox.ttcomics/src/main/AndroidManifest.xml b/org.fox.ttcomics/src/main/AndroidManifest.xml
index cc8e87c..76f5751 100755
--- a/org.fox.ttcomics/src/main/AndroidManifest.xml
+++ b/org.fox.ttcomics/src/main/AndroidManifest.xml
@@ -1,7 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fox.ttcomics2"
- android:versionCode="63"
- android:versionName="1.22" >
+ android:versionCode="64"
+ android:versionName="1.23" >
<uses-sdk
android:minSdkVersion="16"
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java
index 8e77478..212656c 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java
@@ -5,6 +5,7 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.SQLException;
+import android.graphics.Bitmap;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
@@ -31,7 +32,9 @@ import android.widget.TextView;
import com.nhaarman.listviewanimations.appearance.AnimationAdapter;
import com.nhaarman.listviewanimations.appearance.simple.ScaleInAnimationAdapter;
+import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
+import com.nostra13.universalimageloader.core.process.BitmapProcessor;
import com.shamanland.fab.FloatingActionButton;
import com.shamanland.fab.ShowHideOnScroll;
@@ -100,6 +103,35 @@ public class ComicListFragment extends Fragment implements OnItemClickListener {
private class ComicsListAdapter extends SimpleCursorAdapter {
+ DisplayImageOptions m_imageOptions = new DisplayImageOptions.Builder()
+ .cacheInMemory(true)
+ .resetViewBeforeLoading(true)
+ .postProcessor(new BitmapProcessor() {
+ @Override
+ public Bitmap process(Bitmap bmp) {
+ int maxDimension = 400;
+
+ if (Math.max(bmp.getHeight(), bmp.getWidth()) > maxDimension) {
+ int newHeight;
+ int newWidth;
+
+ if (bmp.getHeight() > bmp.getWidth()) {
+ newHeight = maxDimension;
+ newWidth = (int)(bmp.getWidth() * (float)maxDimension / (float)bmp.getHeight());
+ } else {
+ newWidth = maxDimension;
+ newHeight = (int)(bmp.getHeight() * (float)maxDimension / (float)bmp.getWidth());
+ }
+
+ return Bitmap.createScaledBitmap(bmp, newWidth, newHeight, true);
+ } else {
+ return bmp;
+ }
+ }
+ })
+ .cacheOnDisk(false)
+ .build();
+
public ComicsListAdapter(Context context, int layout, Cursor c,
String[] from, int[] to, int flags) {
super(context, layout, c, from, to, flags);
@@ -191,7 +223,8 @@ public class ComicListFragment extends Fragment implements OnItemClickListener {
if (holder.thumbnail != null && thumbnailFile != null && thumbnailFile.exists()) {
if (!thumbnailFile.getAbsolutePath().equals(holder.thumbnail.getTag())) {
- m_imageLoader.displayImage("file://" + thumbnailFile.getAbsolutePath(), holder.thumbnail);
+
+ m_imageLoader.displayImage("file://" + thumbnailFile.getAbsolutePath(), holder.thumbnail, m_imageOptions);
holder.thumbnail.setTag(thumbnailFile.getAbsolutePath());
}
} else {