summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml4
-rw-r--r--src/org/fox/ttcomics/ComicFragment.java38
2 files changed, 27 insertions, 15 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0190e8a..1c1f68d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,7 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fox.ttcomics"
- android:versionCode="33"
- android:versionName="1.0.18" >
+ android:versionCode="34"
+ android:versionName="1.1" >
<uses-sdk
android:minSdkVersion="8"
diff --git a/src/org/fox/ttcomics/ComicFragment.java b/src/org/fox/ttcomics/ComicFragment.java
index 4c5ce9c..7b324dc 100644
--- a/src/org/fox/ttcomics/ComicFragment.java
+++ b/src/org/fox/ttcomics/ComicFragment.java
@@ -44,21 +44,33 @@ public class ComicFragment extends Fragment implements GestureDetector.OnDoubleT
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(archive.getItem(page), null, options);
-
- if (CommonActivity.isCompatMode()) {
- options.inSampleSize = CommonActivity.calculateInSampleSize(options, 512, 512);
- } else {
- options.inSampleSize = CommonActivity.calculateInSampleSize(options, 1024, 1024);
- }
-
options.inJustDecodeBounds = false;
+
+ Bitmap bitmap = null;
- return BitmapFactory.decodeStream(archive.getItem(page), null, options);
- } catch (OutOfMemoryError e) {
- if (activity != null) {
- activity.toast(R.string.error_out_of_memory);
- }
- e.printStackTrace();
+ try {
+ options.inSampleSize = CommonActivity.calculateInSampleSize(options, 1024, 1024);
+ bitmap = BitmapFactory.decodeStream(archive.getItem(page), null, options);
+ return bitmap;
+ } catch (OutOfMemoryError e) {
+ try {
+ options.inSampleSize = CommonActivity.calculateInSampleSize(options, 768, 768);
+ bitmap = BitmapFactory.decodeStream(archive.getItem(page), null, options);
+ return bitmap;
+ } catch (OutOfMemoryError e1) {
+ try {
+ options.inSampleSize = CommonActivity.calculateInSampleSize(options, 512, 512);
+ bitmap = BitmapFactory.decodeStream(archive.getItem(page), null, options);
+ return bitmap;
+ } catch (OutOfMemoryError e3) {
+ e3.printStackTrace();
+
+ if (activity != null) {
+ activity.toast(R.string.error_out_of_memory);
+ }
+ }
+ }
+ }
} catch (IOException e) {
e.printStackTrace();
}