fixes and improvements

This commit is contained in:
2025-03-21 02:35:57 +03:00
parent 2c8536a9da
commit 797e966b65
9 changed files with 81 additions and 31 deletions
@@ -6,4 +6,6 @@ import androidx.compose.runtime.Immutable
sealed class BaseError {
data object SessionExpired : BaseError()
data class SimpleError(val message: String) : BaseError()
}
@@ -1,7 +1,7 @@
package dev.meloda.fast.model.api.data
import dev.meloda.fast.model.api.domain.VkVideoDomain
import com.squareup.moshi.JsonClass
import dev.meloda.fast.model.api.domain.VkVideoDomain
@JsonClass(generateAdapter = true)
data class VkVideoData(
@@ -12,7 +12,7 @@ data class VkVideoData(
val duration: Int,
val date: Int,
val comments: Int?,
val description: String,
val description: String?,
val player: String?,
val added: Int?,
val type: String,
@@ -20,9 +20,9 @@ data class VkVideoData(
val access_key: String?,
val owner_id: Int,
val is_favorite: Boolean?,
val image: List<Image>,
val image: List<Image>?,
val first_frame: List<FirstFrame>?,
val files: File?,
val files: File?
) : VkAttachmentData {
@JsonClass(generateAdapter = true)
@@ -67,7 +67,7 @@ data class VkVideoData(
fun toDomain() = VkVideoDomain(
id = id,
ownerId = owner_id,
images = image.map { it.asVideoImage() },
images = image.orEmpty().map { it.asVideoImage() },
firstFrames = first_frame,
accessKey = access_key,
title = title
@@ -46,8 +46,13 @@ class ResponseConverterFactory(private val converter: JsonConverter) : Converter
return successModel
},
onFailure = { failure ->
if(failure is JsonDataException) {
throw failure
if (failure is JsonDataException) {
throw ApiException(
RestApiError(
errorCode = -1,
errorMsg = failure.message.orEmpty()
)
)
}
val isUnit = successType == Unit::class.java
@@ -1,6 +1,7 @@
package dev.meloda.fast.network
enum class VkErrorCode(val code: Int) {
WTF(-1),
UNKNOWN_ERROR(1),
APP_DISABLED(2),
UNKNOWN_METHOD(3),
@@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Button
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
@@ -22,7 +23,9 @@ fun ErrorView(
onButtonClick: (() -> Unit)? = null,
) {
Column(
modifier = modifier.fillMaxSize(),
modifier = modifier
.fillMaxSize()
.padding(horizontal = 16.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {