diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/DirGalleryProvider.java b/app/src/main/java/com/hippo/ehviewer/gallery/DirGalleryProvider.java index 8ae1cb9d9..718331891 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/DirGalleryProvider.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/DirGalleryProvider.java @@ -106,6 +106,13 @@ public class DirGalleryProvider extends GalleryProvider implements Runnable { return mError; } + @NonNull + @Override + public String getImageFilename(int index) { + // TODO + return Integer.toString(index); + } + @Override public boolean save(int index, @NonNull UniFile file) { UniFile[] fileList = mFileList.get(); diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/EhGalleryProvider.java b/app/src/main/java/com/hippo/ehviewer/gallery/EhGalleryProvider.java index d517f6752..15f374ade 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/EhGalleryProvider.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/EhGalleryProvider.java @@ -26,6 +26,8 @@ import com.hippo.image.Image; import com.hippo.unifile.UniFile; import com.hippo.yorozuya.SimpleHandler; +import java.util.Locale; + public class EhGalleryProvider extends GalleryProvider implements SpiderQueen.OnSpiderListener { private final Context mContext; @@ -73,6 +75,12 @@ public class EhGalleryProvider extends GalleryProvider implements SpiderQueen.On } } + @NonNull + @Override + public String getImageFilename(int index) { + return String.format(Locale.US, "%d-%08d", mGalleryInfo.gid, index + 1); + } + @Override public boolean save(int index, @NonNull UniFile file) { if (null != mSpiderQueen) { diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/GalleryProvider.java b/app/src/main/java/com/hippo/ehviewer/gallery/GalleryProvider.java index debaf0148..a4bd336cc 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/GalleryProvider.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/GalleryProvider.java @@ -89,6 +89,12 @@ public abstract class GalleryProvider { return 0; } + /** + * @return without extension + */ + @NonNull + public abstract String getImageFilename(int index); + public abstract boolean save(int index, @NonNull UniFile file); /** diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/ZipGalleryProvider.java b/app/src/main/java/com/hippo/ehviewer/gallery/ZipGalleryProvider.java index 1e257da39..97f2f4a37 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/ZipGalleryProvider.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/ZipGalleryProvider.java @@ -107,6 +107,13 @@ public class ZipGalleryProvider extends GalleryProvider implements Runnable { return mError; } + @NonNull + @Override + public String getImageFilename(int index) { + // TODO + return Integer.toString(index); + } + @Override public boolean save(int index, @NonNull UniFile file) { // TODO diff --git a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java index ece93a8d4..5e76db368 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java @@ -705,7 +705,7 @@ public class GalleryActivity extends TrackedActivity return; } UniFile file; - if (null == (file = mGalleryProvider.save(page, UniFile.fromFile(dir), Long.toString(System.currentTimeMillis())))) { + if (null == (file = mGalleryProvider.save(page, UniFile.fromFile(dir), mGalleryProvider.getImageFilename(page)))) { Toast.makeText(this, R.string.error_cant_save_image, Toast.LENGTH_SHORT).show(); return; }