diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/userasset/UserAssetActivity.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/userasset/UserAssetActivity.kt index 69ccd426..6b335b85 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/userasset/UserAssetActivity.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/userasset/UserAssetActivity.kt @@ -4,6 +4,8 @@ import android.content.Intent import android.net.Uri import android.os.Bundle import android.provider.OpenableColumns +import android.text.format.DateFormat +import android.text.format.Formatter import androidx.activity.viewModels import androidx.annotation.StringRes import androidx.compose.foundation.layout.Box @@ -34,6 +36,8 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow @@ -45,7 +49,6 @@ import com.v2ray.ang.AppConfig import com.v2ray.ang.R import com.v2ray.ang.dto.entities.AssetUrlCache import com.v2ray.ang.dto.entities.AssetUrlItem -import com.v2ray.ang.extension.toTrafficString import com.v2ray.ang.extension.toast import com.v2ray.ang.extension.toastError import com.v2ray.ang.extension.toastSuccess @@ -66,7 +69,7 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import java.io.File -import java.text.DateFormat +import java.text.SimpleDateFormat import java.util.Date private enum class AddAssetMenuAction(@StringRes val labelRes: Int) { @@ -353,11 +356,14 @@ private fun UserAssetItem( onEdit: () -> Unit, onDeleteClick: () -> Unit ) { + val context = LocalContext.current + val locale = LocalConfiguration.current.locales[0] val propertiesText = if (fileMetadata != null) { - remember(fileMetadata) { - val dateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM) - "${fileMetadata.length.toTrafficString()} • ${dateFormat.format(Date(fileMetadata.lastModified))}" - } + val fileSize = Formatter.formatFileSize(context, fileMetadata.length) + val skeleton = if (DateFormat.is24HourFormat(context)) "yMMMdHm" else "yMMMdhm" + val formattedDate = SimpleDateFormat(DateFormat.getBestDateTimePattern(locale, skeleton), locale) + .format(Date(fileMetadata.lastModified)) + "$fileSize • $formattedDate" } else { stringResource(R.string.msg_file_not_found) }