From 68ac3cbd315752eb93fa47526325d5068d9844c3 Mon Sep 17 00:00:00 2001 From: mardous Date: Sat, 16 Nov 2024 12:54:37 -0400 Subject: [PATCH] Code improvement --- .../wsstatussaver/model/StatusSaveType.kt | 23 ++++++++----------- .../wsstatussaver/model/StatusType.kt | 4 ++-- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/simplified/wsstatussaver/model/StatusSaveType.kt b/app/src/main/java/com/simplified/wsstatussaver/model/StatusSaveType.kt index 70f3bd3..7806a44 100644 --- a/app/src/main/java/com/simplified/wsstatussaver/model/StatusSaveType.kt +++ b/app/src/main/java/com/simplified/wsstatussaver/model/StatusSaveType.kt @@ -24,22 +24,19 @@ import android.provider.MediaStore internal enum class StatusSaveType( internal val dirName: String, internal val fileMimeType: String, - internal val contentUri: Uri + internal val contentUri: Uri, + internal val dirTypeProvider: (SaveLocation) -> String ) { IMAGE_SAVE( - "Saved Image Statuses", - "image/jpeg", - MediaStore.Images.Media.EXTERNAL_CONTENT_URI + dirName = "Saved Image Statuses", + fileMimeType = "image/jpeg", + contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI, + dirTypeProvider = { it.imageDir } ), VIDEO_SAVE( - "Saved Video Statuses", - "video/mp4", - MediaStore.Video.Media.EXTERNAL_CONTENT_URI + dirName = "Saved Video Statuses", + fileMimeType = "video/mp4", + contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI, + dirTypeProvider = { it.videoDir } ); - - internal fun getDirType(location: SaveLocation) = - when (this) { - IMAGE_SAVE -> location.imageDir - VIDEO_SAVE -> location.videoDir - } } \ No newline at end of file diff --git a/app/src/main/java/com/simplified/wsstatussaver/model/StatusType.kt b/app/src/main/java/com/simplified/wsstatussaver/model/StatusType.kt index 931cd9d..9c99333 100644 --- a/app/src/main/java/com/simplified/wsstatussaver/model/StatusType.kt +++ b/app/src/main/java/com/simplified/wsstatussaver/model/StatusType.kt @@ -38,10 +38,10 @@ enum class StatusType(@StringRes val nameRes: Int, val format: String, private v @TargetApi(Build.VERSION_CODES.Q) fun getRelativePath(location: SaveLocation): String = - String.format("%s/%s", saveType.getDirType(location), saveType.dirName) + String.format("%s/%s", saveType.dirTypeProvider(location), saveType.dirName) fun getSavesDirectory(location: SaveLocation): File = - File(Environment.getExternalStoragePublicDirectory(saveType.getDirType(location)), saveType.dirName) + File(Environment.getExternalStoragePublicDirectory(saveType.dirTypeProvider(location)), saveType.dirName) fun getSavedContentFiles(location: SaveLocation): Array { val directory = getSavesDirectory(location)