diff options
author | Andrew Dolgov <[email protected]> | 2012-10-14 01:03:43 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2012-10-14 01:03:43 +0400 |
commit | 459d45e10150d90326386f6cd1375bc9c768e500 (patch) | |
tree | 62f11ef96ff197bb83958daa883a6fc0434d6071 /src | |
parent | 1cd86a2346b69700550867a37284b9011b939280 (diff) |
code cleanup
Diffstat (limited to 'src')
-rw-r--r-- | src/org/fox/ttcomics/CbzComicArchive.java | 2 | ||||
-rw-r--r-- | src/org/fox/ttcomics/ComicListFragment.java | 42 | ||||
-rw-r--r-- | src/org/fox/ttcomics/ComicPager.java | 4 | ||||
-rw-r--r-- | src/org/fox/ttcomics/CommonActivity.java | 42 | ||||
-rw-r--r-- | src/org/fox/ttcomics/MainActivity.java | 3 | ||||
-rw-r--r-- | src/org/fox/ttcomics/ViewComicActivity.java | 9 |
6 files changed, 65 insertions, 37 deletions
diff --git a/src/org/fox/ttcomics/CbzComicArchive.java b/src/org/fox/ttcomics/CbzComicArchive.java index 753321a..6033f4e 100644 --- a/src/org/fox/ttcomics/CbzComicArchive.java +++ b/src/org/fox/ttcomics/CbzComicArchive.java @@ -9,8 +9,6 @@ import java.util.Enumeration; import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-import android.util.Log;
-
public class CbzComicArchive extends ComicArchive {
private final String TAG = this.getClass().getSimpleName();
diff --git a/src/org/fox/ttcomics/ComicListFragment.java b/src/org/fox/ttcomics/ComicListFragment.java index e1acec6..34d67d8 100644 --- a/src/org/fox/ttcomics/ComicListFragment.java +++ b/src/org/fox/ttcomics/ComicListFragment.java @@ -8,7 +8,6 @@ import java.util.ArrayList; import android.app.Activity;
import android.content.Context;
-import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -26,11 +25,11 @@ import android.view.View; import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
+import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListView;
-import android.widget.AdapterView.OnItemClickListener;
import android.widget.ProgressBar;
import android.widget.TextView;
@@ -70,10 +69,11 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
- String fileName = items.get(position);
+ File file = new File(items.get(position));
+ String fileBaseName = file.getName();
- int lastPos = m_activity.getLastPosition(fileName);
- int size = m_activity.getSize(fileName);
+ int lastPos = m_activity.getLastPosition(file.getAbsolutePath());
+ int size = m_activity.getSize(file.getAbsolutePath());
if (v == null) {
LayoutInflater vi = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -86,7 +86,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { TextView name = (TextView) v.findViewById(R.id.file_name);
if (name != null) {
- name.setText(fileName);
+ name.setText(fileBaseName);
}
TextView info = (TextView) v.findViewById(R.id.file_progress_info);
@@ -110,7 +110,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { }
}
- File thumbnailFile = new File(Environment.getExternalStorageDirectory() + "/" + m_activity.THUMBNAIL_PATH + "/" + fileName);
+ File thumbnailFile = new File(CommonActivity.getCacheFileName(fileBaseName));
ImageView thumbnail = (ImageView) v.findViewById(R.id.thumbnail);
@@ -141,9 +141,6 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { m_files = savedInstanceState.getStringArrayList("files");
}
-
- Log.d(TAG, "files count=" + m_files);
-
m_adapter = new ComicsListAdapter(getActivity(), R.layout.comics_list_row, m_files);
if (view.findViewById(R.id.comics_list) != null) {
@@ -189,6 +186,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { case R.id.menu_reset_progress:
if (fileName != null) {
m_activity.setLastPosition(fileName, 0);
+ m_activity.setLastMaxPosition(fileName, 0);
m_adapter.notifyDataSetChanged();
}
return true;
@@ -229,7 +227,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { protected Integer doInBackground(String... params) {
String comicsDir = params[0];
- File dir = new File(comicsDir + "/" + m_baseDirectory);
+ File dir = new File(comicsDir);
m_files.clear();
@@ -242,12 +240,10 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { java.util.Arrays.sort(archives);
for (File archive : archives) {
- String fileName = archive.getName();
-
if (archive.isDirectory() && m_mode == 0) {
- m_files.add(archive.getName());
+ m_files.add(archive.getAbsolutePath());
- } else if (fileName.toLowerCase().matches(".*\\.(cbz|zip)") && isAdded() && m_activity != null) {
+ } else if (archive.getName().toLowerCase().matches(".*\\.(cbz|zip)") && isAdded() && m_activity != null) {
try {
CbzComicArchive cba = new CbzComicArchive(archive.getAbsolutePath());
@@ -261,7 +257,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { if (!thumbnailDir.isDirectory()) { thumbnailDir.mkdirs(); };
- File thumbnailFile = new File(thumbnailDir.getAbsolutePath() + "/" + fileName);
+ File thumbnailFile = new File(CommonActivity.getCacheFileName(archive.getAbsolutePath()));
if (thumbnailDir.isDirectory() && !thumbnailFile.exists()) {
FileOutputStream fos = new FileOutputStream(thumbnailFile.getAbsolutePath());
@@ -279,30 +275,30 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { e.printStackTrace();
}
- int lastPos = m_activity.getLastPosition(fileName);
+ int lastPos = m_activity.getLastPosition(archive.getAbsolutePath());
switch (m_mode) {
case 0:
- m_files.add(fileName);
+ m_files.add(archive.getAbsolutePath());
break;
case 1:
if (lastPos == 0) {
- m_files.add(fileName);
+ m_files.add(archive.getAbsolutePath());
}
break;
case 2:
if (lastPos > 0 && lastPos != cba.getCount()-1) {
- m_files.add(fileName);
+ m_files.add(archive.getAbsolutePath());
}
break;
case 3:
if (lastPos == cba.getCount()-1) {
- m_files.add(fileName);
+ m_files.add(archive.getAbsolutePath());
}
break;
}
- m_activity.setSize(fileName, cba.getCount());
+ m_activity.setSize(archive.getAbsolutePath(), cba.getCount());
}
} catch (IOException e) {
// TODO Auto-generated catch block
@@ -330,7 +326,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { String comicsDir = m_prefs.getString("comics_directory", null);
if (comicsDir != null) {
- rescanTask.execute(comicsDir);
+ rescanTask.execute(m_baseDirectory.length() > 0 ? m_baseDirectory : comicsDir);
}
}
diff --git a/src/org/fox/ttcomics/ComicPager.java b/src/org/fox/ttcomics/ComicPager.java index cd49c83..08e9c65 100644 --- a/src/org/fox/ttcomics/ComicPager.java +++ b/src/org/fox/ttcomics/ComicPager.java @@ -1,7 +1,6 @@ package org.fox.ttcomics;
import java.io.IOException;
-import java.io.InputStream;
import android.annotation.SuppressLint;
import android.app.Activity;
@@ -11,7 +10,6 @@ import android.preference.PreferenceManager; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -101,7 +99,7 @@ public class ComicPager extends Fragment { }
try {
- m_archive = new CbzComicArchive(m_prefs.getString("comics_directory", "") + "/" + m_fileName);
+ m_archive = new CbzComicArchive(m_fileName);
int position = m_activity.getLastPosition(m_fileName);
diff --git a/src/org/fox/ttcomics/CommonActivity.java b/src/org/fox/ttcomics/CommonActivity.java index c768f70..9b66f20 100644 --- a/src/org/fox/ttcomics/CommonActivity.java +++ b/src/org/fox/ttcomics/CommonActivity.java @@ -1,10 +1,13 @@ package org.fox.ttcomics;
import java.io.File;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
@@ -67,6 +70,15 @@ public class CommonActivity extends FragmentActivity { editor.commit();
}
+ public void setLastMaxPosition(String fileName, int position) {
+ SharedPreferences lastread = getSharedPreferences("lastread", 0);
+
+ SharedPreferences.Editor editor = lastread.edit();
+ editor.putInt(fileName + ":max", position);
+
+ editor.commit();
+ }
+
public int getLastPosition(String fileName) {
SharedPreferences lastread = getSharedPreferences("lastread", 0);
@@ -120,5 +132,33 @@ public class CommonActivity extends FragmentActivity { return width < height;
}
-
+
+ protected static String md5(String s) {
+ try {
+ MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
+ digest.update(s.getBytes());
+ byte messageDigest[] = digest.digest();
+
+ StringBuffer hexString = new StringBuffer();
+ for (int i=0; i<messageDigest.length; i++)
+ hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
+
+ return hexString.toString();
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+ public static String getCacheFileName(String fileName) {
+ String hashedUrl = md5(fileName);
+
+ File storage = Environment.getExternalStorageDirectory();
+
+ File file = new File(storage.getAbsolutePath() + THUMBNAIL_PATH + "/" + hashedUrl + ".png");
+
+ return file.getAbsolutePath();
+ }
}
diff --git a/src/org/fox/ttcomics/MainActivity.java b/src/org/fox/ttcomics/MainActivity.java index 452cda3..d0ffda1 100644 --- a/src/org/fox/ttcomics/MainActivity.java +++ b/src/org/fox/ttcomics/MainActivity.java @@ -9,7 +9,6 @@ import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; -import android.preference.PreferenceManager; import android.support.v4.app.FragmentTransaction; import android.util.Log; import android.view.Menu; @@ -175,7 +174,7 @@ public class MainActivity extends CommonActivity { public void onComicArchiveSelected(String fileName) { super.onComicArchiveSelected(fileName); - File file = new File(m_prefs.getString("comics_directory", "") + "/" + fileName); + File file = new File(fileName); if (file.isDirectory()) { Intent intent = new Intent(MainActivity.this, diff --git a/src/org/fox/ttcomics/ViewComicActivity.java b/src/org/fox/ttcomics/ViewComicActivity.java index db9a872..c8cac2c 100644 --- a/src/org/fox/ttcomics/ViewComicActivity.java +++ b/src/org/fox/ttcomics/ViewComicActivity.java @@ -1,9 +1,10 @@ package org.fox.ttcomics;
+import java.io.File;
+
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
-import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
@@ -41,7 +42,7 @@ public class ViewComicActivity extends CommonActivity { }
getActionBar().setDisplayHomeAsUpEnabled(true);
- setTitle(m_fileName);
+ setTitle(new File(m_fileName).getName());
}
@Override
@@ -50,10 +51,6 @@ public class ViewComicActivity extends CommonActivity { return true;
}
- /* public void onComicSelected(String fileName, int position, int size) {
- super.onComicSelected(fileName, position, size);
- } */
-
@Override
public void onSaveInstanceState(Bundle out) {
super.onSaveInstanceState(out);
|