Browse Source

文件搜索增加扫描文件排序

zk 1 year ago
parent
commit
8fd8916b31

+ 3 - 1
app/src/main/java/com/datarecovery/master/utils/FilesSearch.java

@@ -12,6 +12,7 @@ import androidx.databinding.BaseObservable;
 import androidx.databinding.Bindable;
 
 import com.datarecovery.master.BR;
+import com.datarecovery.master.utils.filedetect.FileScanHelper;
 import com.datarecovery.master.utils.xfile.XFile;
 import com.datarecovery.master.utils.xfile.XFileSearch;
 
@@ -37,7 +38,8 @@ public class FilesSearch {
         }
         return Flowable.create((FlowableOnSubscribe<XFile>) emitter -> {
                     try {
-                        CancellationSignal cancellationSignal = XFileSearch.searchExternalStorageAsync(context, new XFileSearch.FileFilter() {
+                        CancellationSignal cancellationSignal = XFileSearch.searchPreExternalStorageAsync(context, FileScanHelper.getPreScanFileRelatedDirectory(),
+                                new XFileSearch.FileFilter() {
 
                             @Override
                             public boolean acceptFile(XFile file) {

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

@@ -2,7 +2,6 @@ package com.datarecovery.master.utils;
 
 import static android.content.Context.POWER_SERVICE;
 
-import android.app.PendingIntent;
 import android.content.Context;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
@@ -10,18 +9,15 @@ import android.net.Uri;
 import android.os.CancellationSignal;
 import android.os.Environment;
 import android.os.PowerManager;
-import android.provider.MediaStore;
 import android.text.TextUtils;
 
 import androidx.databinding.BaseObservable;
 import androidx.databinding.Bindable;
 
 import com.atmob.common.crypto.CryptoUtils;
-import com.atmob.common.runtime.ActivityUtil;
 import com.atmob.common.runtime.ContextUtil;
 import com.datarecovery.master.BR;
 import com.datarecovery.master.utils.filedetect.FileScanHelper;
-import com.datarecovery.master.utils.filedetect.ImageType;
 import com.datarecovery.master.utils.xfile.XFile;
 import com.datarecovery.master.utils.xfile.XFileSearch;
 import com.datarecovery.master.utils.xfile.XPathFile;
@@ -40,7 +36,6 @@ import java.nio.ByteOrder;
 import java.nio.MappedByteBuffer;
 import java.nio.channels.FileChannel;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 import java.util.UUID;
@@ -71,7 +66,7 @@ public class ImageDeepDetector {
         return Flowable.create((FlowableOnSubscribe<XFile>) emitter -> {
                     try {
 
-                        CancellationSignal cancellationSignal = XFileSearch.searchPreExternalStorageAsync(context, FileScanHelper.getPreScanDirectory(),
+                        CancellationSignal cancellationSignal = XFileSearch.searchPreExternalStorageAsync(context, FileScanHelper.getPreScanImageRelatedDirectory(),
                                 new XFileSearch.FileFilter() {
 
                                     @Override

+ 17 - 2
app/src/main/java/com/datarecovery/master/utils/filedetect/FileScanHelper.java

@@ -5,7 +5,6 @@ import static android.content.Context.POWER_SERVICE;
 import android.content.Context;
 import android.os.CancellationSignal;
 import android.os.PowerManager;
-import android.provider.DocumentsContract;
 import android.text.TextUtils;
 
 import androidx.annotation.IntDef;
@@ -379,7 +378,7 @@ public class FileScanHelper {
         return null;
     }
 
-    public static List<String[]> getPreScanDirectory() {
+    public static List<String[]> getPreScanImageRelatedDirectory() {
         List<String[]> preList = new ArrayList<>();
         preList.add(new String[]{"DCIM"});
         preList.add(new String[]{"Pictures"});
@@ -392,6 +391,22 @@ public class FileScanHelper {
         return preList;
     }
 
+    public static List<String[]> getPreScanFileRelatedDirectory() {
+        List<String[]> preList = new ArrayList<>();
+        //文件保存相关路径
+        preList.add(new String[]{"Download"});
+        preList.add(new String[]{"DCIM"});
+        preList.add(new String[]{"Browser"});
+        preList.add(new String[]{"Movies"});
+        preList.add(new String[]{"Music"});
+        preList.add(new String[]{"QQBrowser"});
+        preList.add(new String[]{"UCDownloads"});
+        preList.add(new String[]{"BaiduNetdisk"});
+        preList.add(new String[]{"Android", "data", "com.tencent.mm"});
+        preList.add(new String[]{"Android", "data", "com.tencent.mobileqq"});
+        return preList;
+    }
+
     public static void searchExternalDirectory(Context context) {
     }