package com.swiftcleaner.chovey.model.util;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * 作者：马海钊
 * 时间：2024/12/17 20:56
 * 功能：
 */
public class FileUtils {
    public static List<Path> findWhatsappFiles() {
        // 指定要搜索的目录
        Path directory = Paths.get("path/to/whatsapp/files");

        // 创建一个列表来存储符合条件的文件路径
        List<Path> foundFiles = new ArrayList<>();

        try (Stream<Path> walk = Files.walk(directory)) {
            // 过滤文件并添加到列表中
            foundFiles = walk.filter(Files::isRegularFile)
                    .filter(path -> isWhatsappFile(path))
                    .collect(Collectors.toList());
        } catch (IOException e) {
            e.printStackTrace();
        }

        return foundFiles;
    }

    private static boolean isWhatsappFile(Path path) {
        // 指定 WhatsApp 文件的后缀
        List<String> whatsappSuffixes = Arrays.asList(".mp4", ".3gp", ".jpg", ".jpeg", ".png", ".gif", ".mp3", ".aac");

        // 检查文件后缀是否在列表中
        return whatsappSuffixes.contains(path.getFileName().toString().toLowerCase(Locale.ROOT).substring(path.getFileName().toString().lastIndexOf('.')));
    }
}
