update package name (big one)
This commit is contained in:
+23
-23
@@ -1,31 +1,31 @@
|
||||
package com.meloda.app.fast.conversations
|
||||
package dev.meloda.fast.conversations
|
||||
|
||||
import android.content.res.Resources
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.conena.nanokt.collections.indexOfFirstOrNull
|
||||
import com.meloda.app.fast.common.extensions.createTimerFlow
|
||||
import com.meloda.app.fast.common.extensions.findWithIndex
|
||||
import com.meloda.app.fast.common.extensions.listenValue
|
||||
import com.meloda.app.fast.common.extensions.setValue
|
||||
import com.meloda.app.fast.conversations.model.ConversationOption
|
||||
import com.meloda.app.fast.conversations.model.ConversationsScreenState
|
||||
import com.meloda.app.fast.conversations.model.ConversationsShowOptions
|
||||
import com.meloda.app.fast.conversations.model.UiConversation
|
||||
import com.meloda.app.fast.conversations.util.asPresentation
|
||||
import com.meloda.app.fast.conversations.util.extractAvatar
|
||||
import com.meloda.app.fast.data.LongPollUpdatesParser
|
||||
import com.meloda.app.fast.data.State
|
||||
import com.meloda.app.fast.data.api.conversations.ConversationsUseCase
|
||||
import com.meloda.app.fast.data.api.messages.MessagesUseCase
|
||||
import com.meloda.app.fast.data.processState
|
||||
import com.meloda.app.fast.datastore.UserSettings
|
||||
import com.meloda.app.fast.model.BaseError
|
||||
import com.meloda.app.fast.model.InteractionType
|
||||
import com.meloda.app.fast.model.LongPollEvent
|
||||
import com.meloda.app.fast.model.api.domain.VkConversation
|
||||
import com.meloda.app.fast.network.VkErrorCode
|
||||
import com.meloda.app.fast.ui.util.ImmutableList
|
||||
import dev.meloda.fast.common.extensions.createTimerFlow
|
||||
import dev.meloda.fast.common.extensions.findWithIndex
|
||||
import dev.meloda.fast.common.extensions.listenValue
|
||||
import dev.meloda.fast.common.extensions.setValue
|
||||
import dev.meloda.fast.conversations.model.ConversationOption
|
||||
import dev.meloda.fast.conversations.model.ConversationsScreenState
|
||||
import dev.meloda.fast.conversations.model.ConversationsShowOptions
|
||||
import dev.meloda.fast.conversations.model.UiConversation
|
||||
import dev.meloda.fast.conversations.util.asPresentation
|
||||
import dev.meloda.fast.conversations.util.extractAvatar
|
||||
import dev.meloda.fast.data.LongPollUpdatesParser
|
||||
import dev.meloda.fast.data.State
|
||||
import dev.meloda.fast.data.api.conversations.ConversationsUseCase
|
||||
import dev.meloda.fast.data.api.messages.MessagesUseCase
|
||||
import dev.meloda.fast.data.processState
|
||||
import dev.meloda.fast.datastore.UserSettings
|
||||
import dev.meloda.fast.model.BaseError
|
||||
import dev.meloda.fast.model.InteractionType
|
||||
import dev.meloda.fast.model.LongPollEvent
|
||||
import dev.meloda.fast.model.api.domain.VkConversation
|
||||
import dev.meloda.fast.network.VkErrorCode
|
||||
import dev.meloda.fast.ui.util.ImmutableList
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
|
||||
+21
-21
@@ -1,10 +1,10 @@
|
||||
package com.meloda.app.fast.conversations.data
|
||||
package dev.meloda.fast.conversations.data
|
||||
|
||||
import com.meloda.app.fast.data.State
|
||||
import com.meloda.app.fast.data.api.conversations.ConversationsRepository
|
||||
import com.meloda.app.fast.data.api.conversations.ConversationsUseCase
|
||||
import com.meloda.app.fast.data.mapToState
|
||||
import com.meloda.app.fast.model.api.domain.VkConversation
|
||||
import dev.meloda.fast.data.State
|
||||
import dev.meloda.fast.data.api.conversations.ConversationsRepository
|
||||
import dev.meloda.fast.data.api.conversations.ConversationsUseCase
|
||||
import dev.meloda.fast.data.mapToState
|
||||
import dev.meloda.fast.model.api.domain.VkConversation
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
@@ -21,8 +21,8 @@ class ConversationsUseCaseImpl(
|
||||
// filter: String,
|
||||
// extended: Boolean?,
|
||||
// startMessageId: Int?
|
||||
// ): Flow<com.meloda.app.fast.network.State<ConversationsResponseDomain>> = flow {
|
||||
// emit(com.meloda.app.fast.network.State.Loading)
|
||||
// ): Flow<dev.meloda.fast.network.State<ConversationsResponseDomain>> = flow {
|
||||
// emit(dev.meloda.fast.network.State.Loading)
|
||||
//
|
||||
// val newState = conversationsRepository.getConversations(
|
||||
// params = ConversationsGetRequest(
|
||||
@@ -34,9 +34,9 @@ class ConversationsUseCaseImpl(
|
||||
// startMessageId = startMessageId
|
||||
// )
|
||||
// ).fold(
|
||||
// onSuccess = { response -> com.meloda.app.fast.network.State.Success(response.toDomain()) },
|
||||
// onNetworkFailure = { com.meloda.app.fast.network.State.Error.ConnectionError },
|
||||
// onUnknownFailure = { com.meloda.app.fast.network.State.UNKNOWN_ERROR },
|
||||
// onSuccess = { response -> dev.meloda.fast.network.State.Success(response.toDomain()) },
|
||||
// onNetworkFailure = { dev.meloda.fast.network.State.Error.ConnectionError },
|
||||
// onUnknownFailure = { dev.meloda.fast.network.State.UNKNOWN_ERROR },
|
||||
// onHttpFailure = { result -> result.error.toStateApiError() },
|
||||
// onApiFailure = { result -> result.error.toStateApiError() }
|
||||
// )
|
||||
@@ -45,30 +45,30 @@ class ConversationsUseCaseImpl(
|
||||
//
|
||||
|
||||
//
|
||||
// override fun pin(peerId: Int): Flow<com.meloda.app.fast.network.State<Unit>> = flow {
|
||||
// emit(com.meloda.app.fast.network.State.Loading)
|
||||
// override fun pin(peerId: Int): Flow<dev.meloda.fast.network.State<Unit>> = flow {
|
||||
// emit(dev.meloda.fast.network.State.Loading)
|
||||
//
|
||||
// val newState = conversationsRepository.pin(
|
||||
// ConversationsPinRequest(peerId = peerId)
|
||||
// ).fold(
|
||||
// onSuccess = { com.meloda.app.fast.network.State.Success(Unit) },
|
||||
// onNetworkFailure = { com.meloda.app.fast.network.State.Error.ConnectionError },
|
||||
// onUnknownFailure = { com.meloda.app.fast.network.State.UNKNOWN_ERROR },
|
||||
// onSuccess = { dev.meloda.fast.network.State.Success(Unit) },
|
||||
// onNetworkFailure = { dev.meloda.fast.network.State.Error.ConnectionError },
|
||||
// onUnknownFailure = { dev.meloda.fast.network.State.UNKNOWN_ERROR },
|
||||
// onHttpFailure = { result -> result.error.toStateApiError() },
|
||||
// onApiFailure = { result -> result.error.toStateApiError() }
|
||||
// )
|
||||
// emit(newState)
|
||||
// }
|
||||
//
|
||||
// override fun unpin(peerId: Int): Flow<com.meloda.app.fast.network.State<Unit>> = flow {
|
||||
// emit(com.meloda.app.fast.network.State.Loading)
|
||||
// override fun unpin(peerId: Int): Flow<dev.meloda.fast.network.State<Unit>> = flow {
|
||||
// emit(dev.meloda.fast.network.State.Loading)
|
||||
//
|
||||
// val newState = conversationsRepository.unpin(
|
||||
// ConversationsUnpinRequest(peerId = peerId)
|
||||
// ).fold(
|
||||
// onSuccess = { com.meloda.app.fast.network.State.Success(Unit) },
|
||||
// onNetworkFailure = { com.meloda.app.fast.network.State.Error.ConnectionError },
|
||||
// onUnknownFailure = { com.meloda.app.fast.network.State.UNKNOWN_ERROR },
|
||||
// onSuccess = { dev.meloda.fast.network.State.Success(Unit) },
|
||||
// onNetworkFailure = { dev.meloda.fast.network.State.Error.ConnectionError },
|
||||
// onUnknownFailure = { dev.meloda.fast.network.State.UNKNOWN_ERROR },
|
||||
// onHttpFailure = { result -> result.error.toStateApiError() },
|
||||
// onApiFailure = { result -> result.error.toStateApiError() }
|
||||
// )
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package com.meloda.app.fast.conversations.di
|
||||
package dev.meloda.fast.conversations.di
|
||||
|
||||
import com.meloda.app.fast.conversations.ConversationsViewModelImpl
|
||||
import com.meloda.app.fast.conversations.data.ConversationsUseCaseImpl
|
||||
import com.meloda.app.fast.data.api.conversations.ConversationsUseCase
|
||||
import dev.meloda.fast.conversations.ConversationsViewModelImpl
|
||||
import dev.meloda.fast.conversations.data.ConversationsUseCaseImpl
|
||||
import dev.meloda.fast.data.api.conversations.ConversationsUseCase
|
||||
import org.koin.androidx.viewmodel.dsl.viewModelOf
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
import org.koin.dsl.bind
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.meloda.app.fast.conversations.model
|
||||
package dev.meloda.fast.conversations.model
|
||||
|
||||
enum class ActionState {
|
||||
PHANTOM, CALL_IN_PROGRESS, NONE;
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package com.meloda.app.fast.conversations.model
|
||||
package dev.meloda.fast.conversations.model
|
||||
|
||||
import com.meloda.app.fast.common.model.UiImage
|
||||
import com.meloda.app.fast.common.model.UiText
|
||||
import com.meloda.app.fast.ui.R as UiR
|
||||
import dev.meloda.fast.common.model.UiImage
|
||||
import dev.meloda.fast.common.model.UiText
|
||||
import dev.meloda.fast.ui.R as UiR
|
||||
|
||||
sealed class ConversationOption(
|
||||
val title: UiText,
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.meloda.app.fast.conversations.model
|
||||
package dev.meloda.fast.conversations.model
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.meloda.app.fast.conversations.model
|
||||
package dev.meloda.fast.conversations.model
|
||||
|
||||
data class ConversationsShowOptions(
|
||||
val showDeleteDialog: Int?,
|
||||
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
package com.meloda.app.fast.conversations.model
|
||||
package dev.meloda.fast.conversations.model
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import com.meloda.app.fast.common.model.UiImage
|
||||
import com.meloda.app.fast.model.api.PeerType
|
||||
import com.meloda.app.fast.model.api.domain.VkMessage
|
||||
import com.meloda.app.fast.ui.util.ImmutableList
|
||||
import dev.meloda.fast.common.model.UiImage
|
||||
import dev.meloda.fast.model.api.PeerType
|
||||
import dev.meloda.fast.model.api.domain.VkMessage
|
||||
import dev.meloda.fast.ui.util.ImmutableList
|
||||
|
||||
@Immutable
|
||||
data class UiConversation(
|
||||
|
||||
+6
-6
@@ -1,13 +1,13 @@
|
||||
package com.meloda.app.fast.conversations.navigation
|
||||
package dev.meloda.fast.conversations.navigation
|
||||
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.compose.composable
|
||||
import com.meloda.app.fast.common.extensions.navigation.sharedViewModel
|
||||
import com.meloda.app.fast.conversations.ConversationsViewModel
|
||||
import com.meloda.app.fast.conversations.ConversationsViewModelImpl
|
||||
import com.meloda.app.fast.conversations.presentation.ConversationsRoute
|
||||
import com.meloda.app.fast.model.BaseError
|
||||
import dev.meloda.fast.common.extensions.navigation.sharedViewModel
|
||||
import dev.meloda.fast.conversations.ConversationsViewModel
|
||||
import dev.meloda.fast.conversations.ConversationsViewModelImpl
|
||||
import dev.meloda.fast.conversations.presentation.ConversationsRoute
|
||||
import dev.meloda.fast.model.BaseError
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package com.meloda.app.fast.conversations.presentation
|
||||
package dev.meloda.fast.conversations.presentation
|
||||
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
@@ -52,14 +52,14 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import coil.compose.AsyncImage
|
||||
import com.meloda.app.fast.common.model.UiImage
|
||||
import com.meloda.app.fast.conversations.model.ConversationOption
|
||||
import com.meloda.app.fast.conversations.model.UiConversation
|
||||
import com.meloda.app.fast.ui.basic.ContentAlpha
|
||||
import com.meloda.app.fast.ui.basic.LocalContentAlpha
|
||||
import com.meloda.app.fast.ui.components.DotsFlashing
|
||||
import com.meloda.app.fast.ui.util.getString
|
||||
import com.meloda.app.fast.ui.R as UiR
|
||||
import dev.meloda.fast.common.model.UiImage
|
||||
import dev.meloda.fast.conversations.model.ConversationOption
|
||||
import dev.meloda.fast.conversations.model.UiConversation
|
||||
import dev.meloda.fast.ui.basic.ContentAlpha
|
||||
import dev.meloda.fast.ui.basic.LocalContentAlpha
|
||||
import dev.meloda.fast.ui.components.DotsFlashing
|
||||
import dev.meloda.fast.ui.util.getString
|
||||
import dev.meloda.fast.ui.R as UiR
|
||||
|
||||
val BirthdayColor = Color(0xffb00b69)
|
||||
|
||||
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
package com.meloda.app.fast.conversations.presentation
|
||||
package dev.meloda.fast.conversations.presentation
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
@@ -23,11 +23,11 @@ import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.meloda.app.fast.common.UserConfig
|
||||
import com.meloda.app.fast.conversations.model.ConversationOption
|
||||
import com.meloda.app.fast.conversations.model.ConversationsScreenState
|
||||
import com.meloda.app.fast.conversations.model.UiConversation
|
||||
import com.meloda.app.fast.ui.theme.LocalBottomPadding
|
||||
import dev.meloda.fast.common.UserConfig
|
||||
import dev.meloda.fast.conversations.model.ConversationOption
|
||||
import dev.meloda.fast.conversations.model.ConversationsScreenState
|
||||
import dev.meloda.fast.conversations.model.UiConversation
|
||||
import dev.meloda.fast.ui.theme.LocalBottomPadding
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
|
||||
+16
-16
@@ -1,4 +1,4 @@
|
||||
package com.meloda.app.fast.conversations.presentation
|
||||
package dev.meloda.fast.conversations.presentation
|
||||
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.animateColorAsState
|
||||
@@ -66,20 +66,20 @@ import androidx.core.view.HapticFeedbackConstantsCompat
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import coil.imageLoader
|
||||
import coil.request.ImageRequest
|
||||
import com.meloda.app.fast.conversations.ConversationsViewModel
|
||||
import com.meloda.app.fast.conversations.ConversationsViewModelImpl
|
||||
import com.meloda.app.fast.conversations.model.ConversationOption
|
||||
import com.meloda.app.fast.conversations.model.ConversationsScreenState
|
||||
import com.meloda.app.fast.conversations.model.UiConversation
|
||||
import com.meloda.app.fast.datastore.UserSettings
|
||||
import com.meloda.app.fast.model.BaseError
|
||||
import com.meloda.app.fast.ui.components.ErrorView
|
||||
import com.meloda.app.fast.ui.components.FullScreenLoader
|
||||
import com.meloda.app.fast.ui.components.MaterialDialog
|
||||
import com.meloda.app.fast.ui.theme.LocalBottomPadding
|
||||
import com.meloda.app.fast.ui.theme.LocalHazeState
|
||||
import com.meloda.app.fast.ui.theme.LocalThemeConfig
|
||||
import com.meloda.app.fast.ui.util.isScrollingUp
|
||||
import dev.meloda.fast.conversations.ConversationsViewModel
|
||||
import dev.meloda.fast.conversations.ConversationsViewModelImpl
|
||||
import dev.meloda.fast.conversations.model.ConversationOption
|
||||
import dev.meloda.fast.conversations.model.ConversationsScreenState
|
||||
import dev.meloda.fast.conversations.model.UiConversation
|
||||
import dev.meloda.fast.datastore.UserSettings
|
||||
import dev.meloda.fast.model.BaseError
|
||||
import dev.meloda.fast.ui.components.ErrorView
|
||||
import dev.meloda.fast.ui.components.FullScreenLoader
|
||||
import dev.meloda.fast.ui.components.MaterialDialog
|
||||
import dev.meloda.fast.ui.theme.LocalBottomPadding
|
||||
import dev.meloda.fast.ui.theme.LocalHazeState
|
||||
import dev.meloda.fast.ui.theme.LocalThemeConfig
|
||||
import dev.meloda.fast.ui.util.isScrollingUp
|
||||
import dev.chrisbanes.haze.haze
|
||||
import dev.chrisbanes.haze.hazeChild
|
||||
import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi
|
||||
@@ -87,7 +87,7 @@ import dev.chrisbanes.haze.materials.HazeMaterials
|
||||
import kotlinx.coroutines.launch
|
||||
import org.koin.androidx.compose.koinViewModel
|
||||
import org.koin.compose.koinInject
|
||||
import com.meloda.app.fast.ui.R as UiR
|
||||
import dev.meloda.fast.ui.R as UiR
|
||||
|
||||
@Composable
|
||||
fun ConversationsRoute(
|
||||
|
||||
+18
-18
@@ -1,4 +1,4 @@
|
||||
package com.meloda.app.fast.conversations.util
|
||||
package dev.meloda.fast.conversations.util
|
||||
|
||||
import android.content.res.Resources
|
||||
import androidx.compose.ui.graphics.Color
|
||||
@@ -9,27 +9,27 @@ import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.withStyle
|
||||
import com.conena.nanokt.jvm.util.dayOfMonth
|
||||
import com.conena.nanokt.jvm.util.month
|
||||
import com.meloda.app.fast.common.model.UiImage
|
||||
import com.meloda.app.fast.common.model.UiText
|
||||
import com.meloda.app.fast.common.UserConfig
|
||||
import com.meloda.app.fast.common.extensions.orDots
|
||||
import com.meloda.app.fast.common.model.parseString
|
||||
import com.meloda.app.fast.common.util.TimeUtils
|
||||
import com.meloda.app.fast.conversations.model.ActionState
|
||||
import com.meloda.app.fast.conversations.model.UiConversation
|
||||
import com.meloda.app.fast.data.VkMemoryCache
|
||||
import com.meloda.app.fast.model.InteractionType
|
||||
import com.meloda.app.fast.model.api.PeerType
|
||||
import com.meloda.app.fast.model.api.data.AttachmentType
|
||||
import com.meloda.app.fast.model.api.domain.VkAttachment
|
||||
import com.meloda.app.fast.model.api.domain.VkConversation
|
||||
import com.meloda.app.fast.model.api.domain.VkMessage
|
||||
import com.meloda.app.fast.ui.util.ImmutableList
|
||||
import dev.meloda.fast.common.model.UiImage
|
||||
import dev.meloda.fast.common.model.UiText
|
||||
import dev.meloda.fast.common.UserConfig
|
||||
import dev.meloda.fast.common.extensions.orDots
|
||||
import dev.meloda.fast.common.model.parseString
|
||||
import dev.meloda.fast.common.util.TimeUtils
|
||||
import dev.meloda.fast.conversations.model.ActionState
|
||||
import dev.meloda.fast.conversations.model.UiConversation
|
||||
import dev.meloda.fast.data.VkMemoryCache
|
||||
import dev.meloda.fast.model.InteractionType
|
||||
import dev.meloda.fast.model.api.PeerType
|
||||
import dev.meloda.fast.model.api.data.AttachmentType
|
||||
import dev.meloda.fast.model.api.domain.VkAttachment
|
||||
import dev.meloda.fast.model.api.domain.VkConversation
|
||||
import dev.meloda.fast.model.api.domain.VkMessage
|
||||
import dev.meloda.fast.ui.util.ImmutableList
|
||||
import java.util.Calendar
|
||||
import java.util.Locale
|
||||
import kotlin.math.ln
|
||||
import kotlin.math.pow
|
||||
import com.meloda.app.fast.ui.R as UiR
|
||||
import dev.meloda.fast.ui.R as UiR
|
||||
|
||||
fun VkConversation.asPresentation(
|
||||
resources: Resources,
|
||||
|
||||
Reference in New Issue
Block a user