Browse Source

[Modify]修改图片缓存位置 & 新增过滤文件夹

zhipeng 1 year ago
parent
commit
8723713b01

+ 12 - 1
app/src/main/java/com/datarecovery/master/utils/ImageDeepDetector.java

@@ -7,6 +7,7 @@ import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
 import android.os.CancellationSignal;
+import android.os.Environment;
 import android.os.PowerManager;
 import android.text.TextUtils;
 
@@ -30,6 +31,7 @@ import java.nio.MappedByteBuffer;
 import java.nio.channels.FileChannel;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 import java.util.zip.Adler32;
@@ -196,6 +198,9 @@ public class ImageDeepDetector {
             if (path.contains("Pictures/.gs_fs") || path.contains("Pictures%2F.gs_fs")) {
                 return true;
             }
+            if (path.contains("files/amap") || path.contains("files%2Famap")) {
+                return true;
+            }
             if (path.contains("__MACOSX")) {
                 return true;
             }
@@ -441,7 +446,13 @@ public class ImageDeepDetector {
     }
 
     private static File getDetectedCacheDir(Context context, String domain) {
-        File cacheDir = context.getCacheDir();
+        File cacheDir;
+        if (Objects.equals(Environment.getExternalStorageState(), Environment.MEDIA_MOUNTED)
+                && Environment.getExternalStorageDirectory().canWrite()) {
+            cacheDir = context.getExternalCacheDir();
+        } else {
+            cacheDir = context.getCacheDir();
+        }
         File detectedCacheDir = new File(cacheDir, CryptoUtils.HASH.md5(domain));
         if (!detectedCacheDir.exists()) {
             detectedCacheDir.mkdirs();