From ceaea0556cbbfc9cd8d9bde56e236d7774ed14e7 Mon Sep 17 00:00:00 2001 From: 1 <386029724@qq.com> Date: Sat, 24 May 2025 10:28:50 +0800 Subject: [PATCH] 1.17.7 --- app/build.gradle.kts | 8 +++---- .../com/donut/mixfile/util/file/FileCard.kt | 17 ++++++------- .../donut/mixfile/util/file/FileDataLog.kt | 24 +++++++------------ 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 789487c..d81b1cd 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -16,8 +16,8 @@ android { applicationId = "com.donut.mixfile" minSdk = 26 targetSdk = 35 - versionCode = 136 - versionName = "1.17.6" + versionCode = 137 + versionName = "1.17.7" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { @@ -56,9 +56,7 @@ android { buildFeatures { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = "1.5.1" - } + packaging { resources { excludes += "/META-INF/*" diff --git a/app/src/main/java/com/donut/mixfile/util/file/FileCard.kt b/app/src/main/java/com/donut/mixfile/util/file/FileCard.kt index 7c9f563..176da47 100644 --- a/app/src/main/java/com/donut/mixfile/util/file/FileCard.kt +++ b/app/src/main/java/com/donut/mixfile/util/file/FileCard.kt @@ -80,19 +80,20 @@ fun PreviewCard( modifier = Modifier .fillMaxSize() .padding(5.dp) - .combinedClickable( - onLongClick = { - longClick(fileDataLog) - } - ) { - onClick(fileDataLog) - } + ) { Column( modifier = Modifier .fillMaxSize() - .background(color), + .background(color) + .combinedClickable( + onLongClick = { + longClick(fileDataLog) + } + ) { + onClick(fileDataLog) + }, verticalArrangement = Arrangement.Bottom ) { var loadImg by remember { mutableStateOf(false) } diff --git a/app/src/main/java/com/donut/mixfile/util/file/FileDataLog.kt b/app/src/main/java/com/donut/mixfile/util/file/FileDataLog.kt index 52647e4..8c1f9d6 100644 --- a/app/src/main/java/com/donut/mixfile/util/file/FileDataLog.kt +++ b/app/src/main/java/com/donut/mixfile/util/file/FileDataLog.kt @@ -3,7 +3,6 @@ package com.donut.mixfile.util.file import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text -import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue @@ -32,14 +31,12 @@ val FileDataLog.lanUrl: String fun FileDataLog.updateDataList( list: List, action: (FileDataLog) -> FileDataLog -): List { - val index = list.indexOf(this) - if (index == -1) { - return list +): List = list.map { + if (it == this) { + action(this) + } else { + it } - val result = list.toMutableList() - result[index] = action(this) - return result } fun FileDataLog.rename(callback: (FileDataLog) -> Unit = {}) { @@ -47,12 +44,6 @@ fun FileDataLog.rename(callback: (FileDataLog) -> Unit = {}) { MixDialogBuilder("重命名文件").apply { var name by mutableStateOf(shareInfo.fileName) setContent { - LaunchedEffect(name) { - val sanitized = name.sanitizeFileName() - if (!sanitized.contentEquals(name)) { - name = sanitized - } - } OutlinedTextField( value = name, onValueChange = { @@ -70,9 +61,10 @@ fun FileDataLog.rename(callback: (FileDataLog) -> Unit = {}) { showToast("文件名不能为空!") return@setPositiveButton } - shareInfo = shareInfo.copy(fileName = name) + val sanitizedName = name.sanitizeFileName() + shareInfo = shareInfo.copy(fileName = sanitizedName) val renamedLog = copy( - name = name, + name = sanitizedName, shareInfoData = shareInfo.toString() ) favorites = updateDataList(favorites) {