package com.netease.nim.uikit.common.util.storage; public enum StorageType { TYPE_LOG(DirectoryName.LOG_DIRECTORY_NAME), TYPE_TEMP(DirectoryName.TEMP_DIRECTORY_NAME), TYPE_FILE(DirectoryName.FILE_DIRECTORY_NAME), TYPE_AUDIO(DirectoryName.AUDIO_DIRECTORY_NAME), TYPE_IMAGE(DirectoryName.IMAGE_DIRECTORY_NAME), TYPE_VIDEO(DirectoryName.VIDEO_DIRECTORY_NAME), TYPE_THUMB_IMAGE(DirectoryName.THUMB_DIRECTORY_NAME), TYPE_THUMB_VIDEO(DirectoryName.THUMB_DIRECTORY_NAME), ; private DirectoryName storageDirectoryName; private long storageMinSize; public String getStoragePath() { return storageDirectoryName.getPath(); } public long getStorageMinSize() { return storageMinSize; } StorageType(DirectoryName dirName) { this(dirName, StorageUtil.THRESHOLD_MIN_SPCAE); } StorageType(DirectoryName dirName, long storageMinSize) { this.storageDirectoryName = dirName; this.storageMinSize = storageMinSize; } enum DirectoryName { AUDIO_DIRECTORY_NAME("audio/"), DATA_DIRECTORY_NAME("data/"), FILE_DIRECTORY_NAME("file/"), LOG_DIRECTORY_NAME("log/"), TEMP_DIRECTORY_NAME("temp/"), IMAGE_DIRECTORY_NAME("image/"), THUMB_DIRECTORY_NAME("thumb/"), VIDEO_DIRECTORY_NAME("video/"), ; private String path; public String getPath() { return path; } private DirectoryName(String path) { this.path = path; } } }