diff options
Diffstat (limited to 'org.fox.ttcomics')
-rwxr-xr-x | org.fox.ttcomics/src/main/AndroidManifest.xml | 4 | ||||
-rw-r--r-- | org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java | 35 |
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 { |