summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml4
-rw-r--r--res/values/strings.xml4
-rw-r--r--res/xml/preferences.xml7
-rw-r--r--src/org/fox/ttcomics/ComicFragment.java7
-rw-r--r--src/org/fox/ttcomics/ComicListFragment.java4
-rw-r--r--src/org/fox/ttcomics/CommonActivity.java16
6 files changed, 34 insertions, 8 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 5a01ee2..0cdd97b 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="24"
- android:versionName="1.0.12" >
+ android:versionCode="25"
+ android:versionName="1.0.13" >
<uses-sdk
android:minSdkVersion="8"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5781715..a02adc6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1,6 +1,6 @@
<resources>
- <string name="app_name">Tiny Comics Reader</string>
+ <string name="app_name">Pow! Comics Reader</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Preferences</string>
<string name="menu_go_location">Go to</string>
@@ -52,4 +52,6 @@
<string name="prefs_clear_sync_data">Clear sync data</string>
<string name="prefs_clear_sync_data_summary">Removes all remotely stored sync data</string>
<string name="open_parent">Open parent</string>
+ <string name="prefs_enable_rar_archives">Enable RAR archives</string>
+ <string name="prefs_enable_rar_summary">Using RAR (CBR) files is not recommended because of underlying RAR library issues. Enable at your own risk.</string>
</resources> \ No newline at end of file
diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml
index ad59c7e..c87b5ac 100644
--- a/res/xml/preferences.xml
+++ b/res/xml/preferences.xml
@@ -7,6 +7,13 @@
android:hint="@string/comics_directory_default"
android:title="@string/prefs_comics_directory" >
</Preference>
+
+ <CheckBoxPreference
+ android:defaultValue="false"
+ android:key="enable_rar"
+ android:title="@string/prefs_enable_rar_archives"
+ android:summary="@string/prefs_enable_rar_summary" />
+
</PreferenceCategory>
<PreferenceCategory android:title="@string/prefs_sync" >
<CheckBoxPreference
diff --git a/src/org/fox/ttcomics/ComicFragment.java b/src/org/fox/ttcomics/ComicFragment.java
index 584115b..da34ce4 100644
--- a/src/org/fox/ttcomics/ComicFragment.java
+++ b/src/org/fox/ttcomics/ComicFragment.java
@@ -46,7 +46,12 @@ public class ComicFragment extends Fragment {
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(archive.getItem(page), null, options);
- options.inSampleSize = CommonActivity.calculateInSampleSize(options, 512, 512);
+ if (CommonActivity.isCompatMode()) {
+ options.inSampleSize = CommonActivity.calculateInSampleSize(options, 512, 512);
+ } else {
+ options.inSampleSize = CommonActivity.calculateInSampleSize(options, 1024, 1024);
+ }
+
options.inJustDecodeBounds = false;
return BitmapFactory.decodeStream(archive.getItem(page), null, options);
diff --git a/src/org/fox/ttcomics/ComicListFragment.java b/src/org/fox/ttcomics/ComicListFragment.java
index 4b6b924..fce1959 100644
--- a/src/org/fox/ttcomics/ComicListFragment.java
+++ b/src/org/fox/ttcomics/ComicListFragment.java
@@ -254,6 +254,10 @@ public class ComicListFragment extends Fragment implements OnItemClickListener {
selectionArgs = new String[] { baseDir };
}
+ if (!m_prefs.getBoolean("enable_rar", false)) {
+ selection += " AND (UPPER(filename) NOT LIKE '%.CBR' AND UPPER(filename) NOT LIKE '%.RAR')";
+ }
+
return m_activity.getReadableDb().query("comics_cache", null, selection,
selectionArgs, null, null, "size != " + SIZE_DIR + ", filename, size = " + SIZE_DIR + ", filename");
}
diff --git a/src/org/fox/ttcomics/CommonActivity.java b/src/org/fox/ttcomics/CommonActivity.java
index 0245d78..873ccd3 100644
--- a/src/org/fox/ttcomics/CommonActivity.java
+++ b/src/org/fox/ttcomics/CommonActivity.java
@@ -408,13 +408,21 @@ public class CommonActivity extends FragmentActivity {
}
public void toast(int msgId) {
- Toast toast = Toast.makeText(CommonActivity.this, msgId, Toast.LENGTH_SHORT);
- toast.show();
+ try {
+ Toast toast = Toast.makeText(CommonActivity.this, msgId, Toast.LENGTH_SHORT);
+ toast.show();
+ } catch (RuntimeException e) {
+ // might happen if UI lags
+ }
}
public void toast(String msg) {
- Toast toast = Toast.makeText(CommonActivity.this, msg, Toast.LENGTH_SHORT);
- toast.show();
+ try {
+ Toast toast = Toast.makeText(CommonActivity.this, msg, Toast.LENGTH_SHORT);
+ toast.show();
+ } catch (RuntimeException e) {
+ // might happen if UI lags
+ }
}
public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) {