summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.classpath2
-rw-r--r--AndroidManifest.xml4
-rw-r--r--src/org/fox/ttcomics/ComicListFragment.java61
-rw-r--r--src/org/fox/ttcomics/MainActivity.java6
4 files changed, 49 insertions, 24 deletions
diff --git a/.classpath b/.classpath
index 2927f23..26bdfa6 100644
--- a/.classpath
+++ b/.classpath
@@ -4,6 +4,6 @@
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
+ <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 47de651..6cc77e6 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="38"
- android:versionName="1.5" >
+ android:versionCode="39"
+ android:versionName="1.6" >
<uses-sdk
android:minSdkVersion="8"
diff --git a/src/org/fox/ttcomics/ComicListFragment.java b/src/org/fox/ttcomics/ComicListFragment.java
index 0537577..2f04daa 100644
--- a/src/org/fox/ttcomics/ComicListFragment.java
+++ b/src/org/fox/ttcomics/ComicListFragment.java
@@ -61,12 +61,10 @@ public class ComicListFragment extends Fragment implements OnItemClickListener {
m_baseDirectory = baseDirectory;
}
- public ComicListFragment(int mode) {
- super();
-
+ public void setMode(int mode) {
m_mode = mode;
}
-
+
private class ComicsListAdapter extends SimpleCursorAdapter {
public ComicsListAdapter(Context context, int layout, Cursor c,
String[] from, int[] to, int flags) {
@@ -135,37 +133,62 @@ public class ComicListFragment extends Fragment implements OnItemClickListener {
ImageView thumbnail = (ImageView) v.findViewById(R.id.thumbnail);
if (thumbnail != null) {
-
if (size == SIZE_DIR) {
thumbnail.setBackgroundResource(R.drawable.border_folder);
} else {
thumbnail.setBackgroundResource(R.drawable.border);
}
-
+
+ thumbnail.setImageResource(R.drawable.ic_launcher);
+
if (m_activity.isStorageAvailable() && thumbnailFile.exists()) {
- //
-
+ thumbnail.setTag(thumbnailFile.getAbsolutePath());
+
+ CoverImageLoader imageLoader = new CoverImageLoader();
+ imageLoader.execute(thumbnail);
+ }
+ }
+
+ return v;
+ }
+ }
+
+ class CoverImageLoader extends AsyncTask<ImageView, Void, Bitmap> {
+ private ImageView m_thumbnail;
+
+ @Override
+ protected Bitmap doInBackground(ImageView... params) {
+ m_thumbnail = params[0];
+
+ if (m_thumbnail != null) {
+ File thumbnailFile = new File(m_thumbnail.getTag().toString());
+
+ if (thumbnailFile.exists() && thumbnailFile.canRead()) {
+
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(thumbnailFile.getAbsolutePath(), options);
-
+
options.inSampleSize = CommonActivity.calculateInSampleSize(options, 128, 128);
options.inJustDecodeBounds = false;
Bitmap bmp = BitmapFactory.decodeFile(thumbnailFile.getAbsolutePath(), options);
-
- if (bmp != null) {
- thumbnail.setImageBitmap(bmp);
- }
- } else {
- thumbnail.setImageResource(R.drawable.ic_launcher);
+
+ return bmp;
}
}
-
- return v;
+
+ return null;
}
- }
-
+
+ @Override
+ protected void onPostExecute(Bitmap bmp) {
+ if (isAdded() && bmp != null) {
+ m_thumbnail.setImageBitmap(bmp);
+ }
+ }
+
+ };
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
diff --git a/src/org/fox/ttcomics/MainActivity.java b/src/org/fox/ttcomics/MainActivity.java
index 648a12a..13af786 100644
--- a/src/org/fox/ttcomics/MainActivity.java
+++ b/src/org/fox/ttcomics/MainActivity.java
@@ -46,7 +46,8 @@ public class MainActivity extends CommonActivity {
if (m_selectedTab != tab.getPosition() && m_selectedTab != -1) {
- ComicListFragment frag = new ComicListFragment(tab.getPosition());
+ ComicListFragment frag = new ComicListFragment();
+ frag.setMode(tab.getPosition());
frag.setBaseDirectory(m_baseDirectory);
@@ -84,7 +85,8 @@ public class MainActivity extends CommonActivity {
Log.d(TAG, "selTab=" + m_selectedTab);
- ComicListFragment frag = new ComicListFragment(m_selectedTab);
+ ComicListFragment frag = new ComicListFragment();
+ frag.setMode(m_selectedTab);
if (getIntent().getStringExtra("baseDir") != null) {
m_baseDirectory = getIntent().getStringExtra("baseDir");