summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2019-10-30 13:37:14 +0300
committerAndrew Dolgov <[email protected]>2019-10-30 13:37:14 +0300
commit1cac0f13c477097694242a1271804d19547adab4 (patch)
tree552413c9f1a3a6b968638d7487b3f7cca3fe1717 /org.fox.ttcomics
parente1fee1f1de81ca15f302fa484cfd1d4478c7cac4 (diff)
store thumbnails outside of cache/ to prevent automatic cleanup
Diffstat (limited to 'org.fox.ttcomics')
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java6
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java29
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/DatabaseHelper.java4
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/utils/CacheCleanupService.java4
4 files changed, 34 insertions, 9 deletions
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 23d6a62..89f9876 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
@@ -205,10 +205,10 @@ public class ComicListFragment extends StateSavedFragment implements OnItemClick
}
- String cacheFilename = CommonActivity.getCacheFileName(m_activity, firstChild != null ? firstChild : filePath + "/" + fileBaseName);
+ String thumbnailFileName = CommonActivity.getThumbnailFileName(m_activity, firstChild != null ? firstChild : filePath + "/" + fileBaseName);
- if (cacheFilename != null) {
- File thumbnailFile = new File(cacheFilename);
+ if (thumbnailFileName != null) {
+ File thumbnailFile = new File(thumbnailFileName);
if (holder.thumbnail != null && thumbnailFile.exists()) {
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
index 9010dbb..3bd2631 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
@@ -170,12 +170,29 @@ public class CommonActivity extends AppCompatActivity {
return null;
}
+ public static File getThumbnailDir(Context ctx) {
+ File baseDir = ctx.getFilesDir();
+
+ File thumbDir = new File(baseDir, "thumbnails");
+
+ if (!thumbDir.exists())
+ thumbDir.mkdirs();
+
+ return thumbDir;
+ }
+
public static File getCacheDir(Context ctx) {
return ctx.getCacheDir();
}
+ public static String getThumbnailFileName(Context ctx, String fileName) {
+ File file = new File(getThumbnailDir(ctx), md5(fileName) + ".png");
+
+ return file.getAbsolutePath();
+ }
+
public static String getCacheFileName(Context ctx, String fileName) {
- File file = new File(getCacheDir(ctx).getAbsolutePath() + "/" + md5(fileName) + ".png");
+ File file = new File(getCacheDir(ctx), md5(fileName) + ".png");
return file.getAbsolutePath();
}
@@ -201,7 +218,15 @@ public class CommonActivity extends AppCompatActivity {
}
public void cleanupCache() {
- JobIntentService.enqueueWork(getApplicationContext(), CacheCleanupService.class, 0, new Intent());
+ Intent serviceIntent = new Intent();
+ serviceIntent.putExtra("workDir", getCacheDir(getApplicationContext()).getAbsolutePath());
+
+ JobIntentService.enqueueWork(getApplicationContext(), CacheCleanupService.class, 0, serviceIntent);
+
+ serviceIntent = new Intent();
+ serviceIntent.putExtra("workDir", getThumbnailDir(getApplicationContext()).getAbsolutePath());
+
+ JobIntentService.enqueueWork(getApplicationContext(), CacheCleanupService.class, 0, serviceIntent);
}
@Override
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/DatabaseHelper.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/DatabaseHelper.java
index bb249bb..780f9aa 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/DatabaseHelper.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/DatabaseHelper.java
@@ -326,7 +326,7 @@ public class DatabaseHelper extends SQLiteOpenHelper {
// Get cover
try {
- File thumbnailFile = new File(CommonActivity.getCacheFileName(m_context, filePath));
+ File thumbnailFile = new File(CommonActivity.getThumbnailFileName(m_context, filePath));
if (!thumbnailFile.exists()) {
InputStream is = cba.getItem(0);
@@ -364,7 +364,7 @@ public class DatabaseHelper extends SQLiteOpenHelper {
++fileIndex;
- publishProgress(Integer.valueOf(fileIndex), Integer.valueOf(archives.length));
+ publishProgress(fileIndex, archives.length);
}
}
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/utils/CacheCleanupService.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/utils/CacheCleanupService.java
index 871b026..28c0656 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/utils/CacheCleanupService.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/utils/CacheCleanupService.java
@@ -22,10 +22,10 @@ public class CacheCleanupService extends JobIntentService {
}
@Override
protected void onHandleWork(Intent workIntent) {
- Log.d(TAG, "starting...");
if (isStorageWritable()) {
- File cachePath = CommonActivity.getCacheDir(this);
+ File cachePath = new File(workIntent.getStringExtra("workDir"));
+ Log.d(TAG, "starting for directory: " + cachePath);
try {