update package name (big one)

This commit is contained in:
2024-07-16 06:37:37 +03:00
parent ab27ef29b1
commit 4f9e49003b
378 changed files with 1395 additions and 1395 deletions
+2 -2
View File
@@ -10,11 +10,11 @@ plugins {
} }
android { android {
namespace = "com.meloda.app.fast" namespace = "dev.meloda.fast"
compileSdk = Configs.compileSdk compileSdk = Configs.compileSdk
defaultConfig { defaultConfig {
applicationId = "com.meloda.app.fast" applicationId = "dev.meloda.fast"
minSdk = Configs.minSdk minSdk = Configs.minSdk
targetSdk = Configs.targetSdk targetSdk = Configs.targetSdk
versionCode = Configs.appCode versionCode = Configs.appCode
+1 -1
View File
@@ -20,4 +20,4 @@
# hide the original source file name. # hide the original source file name.
#-renamesourcefileattribute SourceFile #-renamesourcefileattribute SourceFile
-keep class com.meloda.app.fast.** -keep class dev.meloda.fast.**
+1 -1
View File
@@ -8,7 +8,7 @@
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
<application <application
android:name="com.meloda.app.fast.common.AppGlobal" android:name="dev.meloda.fast.common.AppGlobal"
android:allowBackup="true" android:allowBackup="true"
android:enableOnBackInvokedCallback="true" android:enableOnBackInvokedCallback="true"
android:fullBackupOnly="true" android:fullBackupOnly="true"
@@ -1,4 +1,4 @@
package com.meloda.app.fast package dev.meloda.fast
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
@@ -8,18 +8,18 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.PermissionStatus import com.google.accompanist.permissions.PermissionStatus
import com.meloda.app.fast.auth.AuthGraph import dev.meloda.fast.auth.AuthGraph
import com.meloda.app.fast.common.LongPollController import dev.meloda.fast.common.LongPollController
import com.meloda.app.fast.common.UserConfig import dev.meloda.fast.common.UserConfig
import com.meloda.app.fast.common.extensions.ifEmpty import dev.meloda.fast.common.extensions.ifEmpty
import com.meloda.app.fast.common.extensions.listenValue import dev.meloda.fast.common.extensions.listenValue
import com.meloda.app.fast.common.extensions.setValue import dev.meloda.fast.common.extensions.setValue
import com.meloda.app.fast.common.model.LongPollState import dev.meloda.fast.common.model.LongPollState
import com.meloda.app.fast.data.db.GetCurrentAccountUseCase import dev.meloda.fast.data.db.GetCurrentAccountUseCase
import com.meloda.app.fast.datastore.AppSettings import dev.meloda.fast.datastore.AppSettings
import com.meloda.app.fast.datastore.UserSettings import dev.meloda.fast.datastore.UserSettings
import com.meloda.app.fast.model.BaseError import dev.meloda.fast.model.BaseError
import com.meloda.app.fast.navigation.Main import dev.meloda.fast.navigation.Main
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@@ -1,11 +1,11 @@
package com.meloda.app.fast.common package dev.meloda.fast.common
import android.app.Application import android.app.Application
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import coil.ImageLoader import coil.ImageLoader
import coil.ImageLoaderFactory import coil.ImageLoaderFactory
import com.meloda.app.fast.common.di.applicationModule import dev.meloda.fast.common.di.applicationModule
import com.meloda.app.fast.datastore.AppSettings import dev.meloda.fast.datastore.AppSettings
import org.koin.android.ext.android.get import org.koin.android.ext.android.get
import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidContext
import org.koin.android.ext.koin.androidLogger import org.koin.android.ext.koin.androidLogger
@@ -1,23 +1,23 @@
package com.meloda.app.fast.common.di package dev.meloda.fast.common.di
import android.content.Context import android.content.Context
import android.content.res.Resources import android.content.res.Resources
import android.os.PowerManager import android.os.PowerManager
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.meloda.app.fast.MainViewModelImpl import dev.meloda.fast.MainViewModelImpl
import com.meloda.app.fast.auth.authModule import dev.meloda.fast.auth.authModule
import com.meloda.app.fast.chatmaterials.di.chatMaterialsModule import dev.meloda.fast.chatmaterials.di.chatMaterialsModule
import com.meloda.app.fast.common.provider.Provider import dev.meloda.fast.common.provider.Provider
import com.meloda.app.fast.conversations.di.conversationsModule import dev.meloda.fast.conversations.di.conversationsModule
import com.meloda.app.fast.data.di.dataModule import dev.meloda.fast.data.di.dataModule
import com.meloda.app.fast.friends.di.friendsModule import dev.meloda.fast.friends.di.friendsModule
import com.meloda.app.fast.languagepicker.di.languagePickerModule import dev.meloda.fast.languagepicker.di.languagePickerModule
import com.meloda.app.fast.messageshistory.di.messagesHistoryModule import dev.meloda.fast.messageshistory.di.messagesHistoryModule
import com.meloda.app.fast.photoviewer.di.photoViewModule import dev.meloda.fast.photoviewer.di.photoViewModule
import com.meloda.app.fast.profile.di.profileModule import dev.meloda.fast.profile.di.profileModule
import com.meloda.app.fast.provider.ApiLanguageProvider import dev.meloda.fast.provider.ApiLanguageProvider
import com.meloda.app.fast.service.longpolling.di.longPollModule import dev.meloda.fast.service.longpolling.di.longPollModule
import com.meloda.app.fast.settings.di.settingsModule import dev.meloda.fast.settings.di.settingsModule
import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidContext
import org.koin.androidx.viewmodel.dsl.viewModelOf import org.koin.androidx.viewmodel.dsl.viewModelOf
import org.koin.core.module.dsl.singleOf import org.koin.core.module.dsl.singleOf
@@ -1,4 +1,4 @@
package com.meloda.app.fast.model package dev.meloda.fast.model
data class BottomNavigationItem( data class BottomNavigationItem(
val titleResId: Int, val titleResId: Int,
@@ -1,15 +1,15 @@
package com.meloda.app.fast.navigation package dev.meloda.fast.navigation
import androidx.navigation.NavGraphBuilder import androidx.navigation.NavGraphBuilder
import androidx.navigation.compose.composable import androidx.navigation.compose.composable
import com.meloda.app.fast.conversations.navigation.Conversations import dev.meloda.fast.conversations.navigation.Conversations
import com.meloda.app.fast.friends.navigation.Friends import dev.meloda.fast.friends.navigation.Friends
import com.meloda.app.fast.model.BaseError import dev.meloda.fast.model.BaseError
import com.meloda.app.fast.model.BottomNavigationItem import dev.meloda.fast.model.BottomNavigationItem
import com.meloda.app.fast.presentation.MainScreen import dev.meloda.fast.presentation.MainScreen
import com.meloda.app.fast.profile.navigation.Profile import dev.meloda.fast.profile.navigation.Profile
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import com.meloda.app.fast.ui.R as UiR import dev.meloda.fast.ui.R as UiR
@Serializable @Serializable
object MainGraph object MainGraph
@@ -1,4 +1,4 @@
package com.meloda.app.fast.presentation package dev.meloda.fast.presentation
import android.Manifest import android.Manifest
import android.app.NotificationChannel import android.app.NotificationChannel
@@ -30,24 +30,24 @@ import com.conena.nanokt.android.content.pxToDp
import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.isGranted import com.google.accompanist.permissions.isGranted
import com.google.accompanist.permissions.rememberPermissionState import com.google.accompanist.permissions.rememberPermissionState
import com.meloda.app.fast.MainViewModel import dev.meloda.fast.MainViewModel
import com.meloda.app.fast.MainViewModelImpl import dev.meloda.fast.MainViewModelImpl
import com.meloda.app.fast.common.AppConstants import dev.meloda.fast.common.AppConstants
import com.meloda.app.fast.common.LongPollController import dev.meloda.fast.common.LongPollController
import com.meloda.app.fast.common.extensions.isSdkAtLeast import dev.meloda.fast.common.extensions.isSdkAtLeast
import com.meloda.app.fast.common.model.LongPollState import dev.meloda.fast.common.model.LongPollState
import com.meloda.app.fast.datastore.AppSettings import dev.meloda.fast.datastore.AppSettings
import com.meloda.app.fast.datastore.UserSettings import dev.meloda.fast.datastore.UserSettings
import com.meloda.app.fast.service.OnlineService import dev.meloda.fast.service.OnlineService
import com.meloda.app.fast.service.longpolling.LongPollingService import dev.meloda.fast.service.longpolling.LongPollingService
import com.meloda.app.fast.ui.model.ThemeConfig import dev.meloda.fast.ui.model.ThemeConfig
import com.meloda.app.fast.ui.theme.AppTheme import dev.meloda.fast.ui.theme.AppTheme
import com.meloda.app.fast.ui.theme.LocalThemeConfig import dev.meloda.fast.ui.theme.LocalThemeConfig
import com.meloda.app.fast.ui.util.isNeedToEnableDarkMode import dev.meloda.fast.ui.util.isNeedToEnableDarkMode
import org.koin.androidx.compose.koinViewModel import org.koin.androidx.compose.koinViewModel
import org.koin.compose.KoinContext import org.koin.compose.KoinContext
import org.koin.compose.koinInject import org.koin.compose.koinInject
import com.meloda.app.fast.ui.R as UiR import dev.meloda.fast.ui.R as UiR
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
@@ -1,4 +1,4 @@
package com.meloda.app.fast.presentation package dev.meloda.fast.presentation
import androidx.compose.animation.core.tween import androidx.compose.animation.core.tween
import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeIn
@@ -25,15 +25,15 @@ import androidx.compose.ui.unit.dp
import androidx.navigation.compose.NavHost import androidx.navigation.compose.NavHost
import androidx.navigation.compose.navigation import androidx.navigation.compose.navigation
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
import com.meloda.app.fast.conversations.navigation.conversationsScreen import dev.meloda.fast.conversations.navigation.conversationsScreen
import com.meloda.app.fast.ui.theme.LocalBottomPadding import dev.meloda.fast.ui.theme.LocalBottomPadding
import com.meloda.app.fast.ui.theme.LocalHazeState import dev.meloda.fast.ui.theme.LocalHazeState
import com.meloda.app.fast.ui.theme.LocalThemeConfig import dev.meloda.fast.ui.theme.LocalThemeConfig
import com.meloda.app.fast.friends.navigation.friendsScreen import dev.meloda.fast.friends.navigation.friendsScreen
import com.meloda.app.fast.model.BaseError import dev.meloda.fast.model.BaseError
import com.meloda.app.fast.model.BottomNavigationItem import dev.meloda.fast.model.BottomNavigationItem
import com.meloda.app.fast.navigation.MainGraph import dev.meloda.fast.navigation.MainGraph
import com.meloda.app.fast.profile.navigation.profileScreen import dev.meloda.fast.profile.navigation.profileScreen
import dev.chrisbanes.haze.HazeState import dev.chrisbanes.haze.HazeState
import dev.chrisbanes.haze.hazeChild import dev.chrisbanes.haze.hazeChild
import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi
@@ -1,4 +1,4 @@
package com.meloda.app.fast.presentation package dev.meloda.fast.presentation
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
@@ -20,21 +20,21 @@ import androidx.navigation.NavController
import androidx.navigation.NavHostController import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost import androidx.navigation.compose.NavHost
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
import com.meloda.app.fast.MainViewModel import dev.meloda.fast.MainViewModel
import com.meloda.app.fast.MainViewModelImpl import dev.meloda.fast.MainViewModelImpl
import com.meloda.app.fast.auth.authNavGraph import dev.meloda.fast.auth.authNavGraph
import com.meloda.app.fast.auth.navigateToAuth import dev.meloda.fast.auth.navigateToAuth
import com.meloda.app.fast.chatmaterials.navigation.chatMaterialsScreen import dev.meloda.fast.chatmaterials.navigation.chatMaterialsScreen
import com.meloda.app.fast.chatmaterials.navigation.navigateToChatMaterials import dev.meloda.fast.chatmaterials.navigation.navigateToChatMaterials
import com.meloda.app.fast.ui.R import dev.meloda.fast.ui.R
import com.meloda.app.fast.languagepicker.navigation.languagePickerScreen import dev.meloda.fast.languagepicker.navigation.languagePickerScreen
import com.meloda.app.fast.languagepicker.navigation.navigateToLanguagePicker import dev.meloda.fast.languagepicker.navigation.navigateToLanguagePicker
import com.meloda.app.fast.messageshistory.navigation.messagesHistoryScreen import dev.meloda.fast.messageshistory.navigation.messagesHistoryScreen
import com.meloda.app.fast.messageshistory.navigation.navigateToMessagesHistory import dev.meloda.fast.messageshistory.navigation.navigateToMessagesHistory
import com.meloda.app.fast.navigation.Main import dev.meloda.fast.navigation.Main
import com.meloda.app.fast.navigation.mainScreen import dev.meloda.fast.navigation.mainScreen
import com.meloda.app.fast.settings.navigation.navigateToSettings import dev.meloda.fast.settings.navigation.navigateToSettings
import com.meloda.app.fast.settings.navigation.settingsScreen import dev.meloda.fast.settings.navigation.settingsScreen
import org.koin.androidx.compose.koinViewModel import org.koin.androidx.compose.koinViewModel
@Composable @Composable
@@ -1,8 +1,8 @@
package com.meloda.app.fast.provider package dev.meloda.fast.provider
import com.meloda.app.fast.common.model.ApiLanguage import dev.meloda.fast.common.model.ApiLanguage
import com.meloda.app.fast.common.provider.Provider import dev.meloda.fast.common.provider.Provider
import com.meloda.app.fast.datastore.UserSettings import dev.meloda.fast.datastore.UserSettings
class ApiLanguageProvider(private val userSettings: UserSettings) : Provider<ApiLanguage> { class ApiLanguageProvider(private val userSettings: UserSettings) : Provider<ApiLanguage> {
@@ -1,4 +1,4 @@
package com.meloda.app.fast.receiver package dev.meloda.fast.receiver
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
@@ -1,12 +1,12 @@
package com.meloda.app.fast.service package dev.meloda.fast.service
import android.app.Service import android.app.Service
import android.content.Intent import android.content.Intent
import android.os.IBinder import android.os.IBinder
import android.util.Log import android.util.Log
import com.meloda.app.fast.common.UserConfig import dev.meloda.fast.common.UserConfig
import com.meloda.app.fast.common.extensions.createTimerFlow import dev.meloda.fast.common.extensions.createTimerFlow
import com.meloda.app.fast.data.api.account.AccountUseCase import dev.meloda.fast.data.api.account.AccountUseCase
import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@@ -1,4 +1,4 @@
package com.meloda.app.fast.service.longpolling package dev.meloda.fast.service.longpolling
import android.app.PendingIntent import android.app.PendingIntent
import android.app.Service import android.app.Service
@@ -11,20 +11,20 @@ import android.util.Log
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import androidx.core.app.ServiceCompat import androidx.core.app.ServiceCompat
import com.conena.nanokt.android.app.stopForegroundCompat import com.conena.nanokt.android.app.stopForegroundCompat
import com.meloda.app.fast.common.AppConstants import dev.meloda.fast.common.AppConstants
import com.meloda.app.fast.common.LongPollController import dev.meloda.fast.common.LongPollController
import com.meloda.app.fast.common.UserConfig import dev.meloda.fast.common.UserConfig
import com.meloda.app.fast.common.VkConstants import dev.meloda.fast.common.VkConstants
import com.meloda.app.fast.common.extensions.listenValue import dev.meloda.fast.common.extensions.listenValue
import com.meloda.app.fast.common.model.LongPollState import dev.meloda.fast.common.model.LongPollState
import com.meloda.app.fast.data.LongPollUpdatesParser import dev.meloda.fast.data.LongPollUpdatesParser
import com.meloda.app.fast.data.LongPollUseCase import dev.meloda.fast.data.LongPollUseCase
import com.meloda.app.fast.data.processState import dev.meloda.fast.data.processState
import com.meloda.app.fast.datastore.AppSettings import dev.meloda.fast.datastore.AppSettings
import com.meloda.app.fast.model.api.data.LongPollUpdates import dev.meloda.fast.model.api.data.LongPollUpdates
import com.meloda.app.fast.model.api.data.VkLongPollData import dev.meloda.fast.model.api.data.VkLongPollData
import com.meloda.app.fast.ui.R import dev.meloda.fast.ui.R
import com.meloda.app.fast.util.NotificationsUtils import dev.meloda.fast.util.NotificationsUtils
import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@@ -1,8 +1,8 @@
package com.meloda.app.fast.service.longpolling.di package dev.meloda.fast.service.longpolling.di
import com.meloda.app.fast.data.LongPollUpdatesParser import dev.meloda.fast.data.LongPollUpdatesParser
import com.meloda.app.fast.data.LongPollUseCase import dev.meloda.fast.data.LongPollUseCase
import com.meloda.app.fast.data.LongPollUseCaseImpl import dev.meloda.fast.data.LongPollUseCaseImpl
import org.koin.core.module.dsl.singleOf import org.koin.core.module.dsl.singleOf
import org.koin.dsl.bind import org.koin.dsl.bind
import org.koin.dsl.module import org.koin.dsl.module
@@ -1,12 +1,12 @@
package com.meloda.app.fast.util package dev.meloda.fast.util
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.PendingIntent import android.app.PendingIntent
import android.content.Context import android.content.Context
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat import androidx.core.app.NotificationManagerCompat
import com.meloda.app.fast.common.AppConstants import dev.meloda.fast.common.AppConstants
import com.meloda.app.fast.ui.R as UiR import dev.meloda.fast.ui.R as UiR
object NotificationsUtils { object NotificationsUtils {
+2 -2
View File
@@ -6,10 +6,10 @@ plugins {
alias(libs.plugins.kotlin.compose.compiler) alias(libs.plugins.kotlin.compose.compiler)
} }
group = "com.meloda.app.fast.common" group = "dev.meloda.fast.common"
android { android {
namespace = "com.meloda.app.fast.common" namespace = "dev.meloda.fast.common"
compileSdk = Configs.compileSdk compileSdk = Configs.compileSdk
defaultConfig { defaultConfig {
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common package dev.meloda.fast.common
object AppConstants { object AppConstants {
@@ -1,6 +1,6 @@
package com.meloda.app.fast.common package dev.meloda.fast.common
import com.meloda.app.fast.common.model.LongPollState import dev.meloda.fast.common.model.LongPollState
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common package dev.meloda.fast.common
import android.content.SharedPreferences import android.content.SharedPreferences
import androidx.core.content.edit import androidx.core.content.edit
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common package dev.meloda.fast.common
object VkConstants { object VkConstants {
@@ -1,10 +1,10 @@
package com.meloda.app.fast.common.di package dev.meloda.fast.common.di
import coil.ImageLoader import coil.ImageLoader
import com.meloda.app.fast.common.LongPollController import dev.meloda.fast.common.LongPollController
import com.meloda.app.fast.common.LongPollControllerImpl import dev.meloda.fast.common.LongPollControllerImpl
import com.meloda.app.fast.common.provider.ResourceProvider import dev.meloda.fast.common.provider.ResourceProvider
import com.meloda.app.fast.common.provider.ResourceProviderImpl import dev.meloda.fast.common.provider.ResourceProviderImpl
import org.koin.core.module.dsl.singleOf import org.koin.core.module.dsl.singleOf
import org.koin.dsl.bind import org.koin.dsl.bind
import org.koin.dsl.module import org.koin.dsl.module
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.extensions package dev.meloda.fast.common.extensions
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable import android.os.Parcelable
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.extensions package dev.meloda.fast.common.extensions
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
@@ -33,7 +33,7 @@ fun Context.restartApp() {
activity.startActivity( activity.startActivity(
Intent( Intent(
this, this,
Class.forName("com.meloda.app.fast.MainActivity") Class.forName("dev.meloda.fast.MainActivity")
) )
) )
} }
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.extensions package dev.meloda.fast.common.extensions
inline fun String?.ifEmpty(defaultValue: () -> String?): String? = inline fun String?.ifEmpty(defaultValue: () -> String?): String? =
if (this?.isEmpty() == true) defaultValue() else this if (this?.isEmpty() == true) defaultValue() else this
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.extensions.navigation package dev.meloda.fast.common.extensions.navigation
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
@@ -1,3 +1,3 @@
package com.meloda.app.fast.common.model package dev.meloda.fast.common.model
data class ApiLanguage(val value: String) data class ApiLanguage(val value: String)
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.model package dev.meloda.fast.common.model
private const val MODE_NIGHT_NO = 1 private const val MODE_NIGHT_NO = 1
private const val MODE_NIGHT_YES = 2 private const val MODE_NIGHT_YES = 2
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.model package dev.meloda.fast.common.model
sealed class LongPollState { sealed class LongPollState {
data object Stopped : LongPollState() data object Stopped : LongPollState()
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.model package dev.meloda.fast.common.model
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import androidx.annotation.ColorInt import androidx.annotation.ColorInt
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.model package dev.meloda.fast.common.model
import android.content.res.Resources import android.content.res.Resources
import androidx.annotation.PluralsRes import androidx.annotation.PluralsRes
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.provider package dev.meloda.fast.common.provider
interface Provider<T> { interface Provider<T> {
fun provide(): T? fun provide(): T?
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.provider package dev.meloda.fast.common.provider
import android.content.res.Resources import android.content.res.Resources
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.util package dev.meloda.fast.common.util
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
@@ -15,7 +15,7 @@ import java.io.FileOutputStream
private object BuildConfig { private object BuildConfig {
const val DEBUG = true const val DEBUG = true
const val APPLICATION_ID = "com.meloda.app.fast" const val APPLICATION_ID = "dev.meloda.fast"
} }
object AndroidUtils { object AndroidUtils {
@@ -1,4 +1,4 @@
package com.meloda.app.fast.common.util package dev.meloda.fast.common.util
import android.content.res.Resources import android.content.res.Resources
import com.conena.nanokt.jvm.util.dayOfMonth import com.conena.nanokt.jvm.util.dayOfMonth
@@ -9,7 +9,7 @@ import com.conena.nanokt.jvm.util.minute
import com.conena.nanokt.jvm.util.month import com.conena.nanokt.jvm.util.month
import com.conena.nanokt.jvm.util.second import com.conena.nanokt.jvm.util.second
import com.conena.nanokt.jvm.util.year import com.conena.nanokt.jvm.util.year
import com.meloda.app.fast.common.R import dev.meloda.fast.common.R
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Calendar import java.util.Calendar
import java.util.Date import java.util.Date
+2 -2
View File
@@ -3,10 +3,10 @@ plugins {
alias(libs.plugins.org.jetbrains.kotlin.android) alias(libs.plugins.org.jetbrains.kotlin.android)
} }
group = "com.meloda.app.fast.data" group = "dev.meloda.fast.data"
android { android {
namespace = "com.meloda.app.fast.data" namespace = "dev.meloda.fast.data"
compileSdk = Configs.compileSdk compileSdk = Configs.compileSdk
defaultConfig { defaultConfig {
@@ -1,15 +1,15 @@
package com.meloda.app.fast.data package dev.meloda.fast.data
import android.util.Log import android.util.Log
import com.meloda.app.fast.common.UserConfig import dev.meloda.fast.common.UserConfig
import com.meloda.app.fast.common.VkConstants import dev.meloda.fast.common.VkConstants
import com.meloda.app.fast.common.extensions.asInt import dev.meloda.fast.common.extensions.asInt
import com.meloda.app.fast.common.extensions.listenValue import dev.meloda.fast.common.extensions.listenValue
import com.meloda.app.fast.common.extensions.toList import dev.meloda.fast.common.extensions.toList
import com.meloda.app.fast.data.api.messages.MessagesUseCase import dev.meloda.fast.data.api.messages.MessagesUseCase
import com.meloda.app.fast.model.ApiEvent import dev.meloda.fast.model.ApiEvent
import com.meloda.app.fast.model.InteractionType import dev.meloda.fast.model.InteractionType
import com.meloda.app.fast.model.LongPollEvent import dev.meloda.fast.model.LongPollEvent
import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data package dev.meloda.fast.data
import com.meloda.app.fast.model.api.data.LongPollUpdates import dev.meloda.fast.model.api.data.LongPollUpdates
import com.meloda.app.fast.model.api.data.VkLongPollData import dev.meloda.fast.model.api.data.VkLongPollData
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface LongPollUseCase { interface LongPollUseCase {
@@ -1,8 +1,8 @@
package com.meloda.app.fast.data package dev.meloda.fast.data
import com.meloda.app.fast.data.api.longpoll.LongPollRepository import dev.meloda.fast.data.api.longpoll.LongPollRepository
import com.meloda.app.fast.model.api.data.LongPollUpdates import dev.meloda.fast.model.api.data.LongPollUpdates
import com.meloda.app.fast.model.api.data.VkLongPollData import dev.meloda.fast.model.api.data.VkLongPollData
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flow
@@ -1,8 +1,8 @@
package com.meloda.app.fast.data package dev.meloda.fast.data
import com.meloda.app.fast.network.OAuthErrorDomain import dev.meloda.fast.network.OAuthErrorDomain
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.meloda.app.fast.network.VkErrorCode import dev.meloda.fast.network.VkErrorCode
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
sealed class State<out T> { sealed class State<out T> {
@@ -1,9 +1,9 @@
package com.meloda.app.fast.data package dev.meloda.fast.data
import com.meloda.app.fast.model.api.data.VkMessageData import dev.meloda.fast.model.api.data.VkMessageData
import com.meloda.app.fast.model.api.domain.VkConversation import dev.meloda.fast.model.api.domain.VkConversation
import com.meloda.app.fast.model.api.domain.VkGroupDomain import dev.meloda.fast.model.api.domain.VkGroupDomain
import com.meloda.app.fast.model.api.domain.VkMessage import dev.meloda.fast.model.api.domain.VkMessage
import kotlin.math.abs import kotlin.math.abs
class VkGroupsMap( class VkGroupsMap(
@@ -1,10 +1,10 @@
package com.meloda.app.fast.data package dev.meloda.fast.data
import com.meloda.app.fast.model.api.domain.VkContactDomain import dev.meloda.fast.model.api.domain.VkContactDomain
import com.meloda.app.fast.model.api.domain.VkConversation import dev.meloda.fast.model.api.domain.VkConversation
import com.meloda.app.fast.model.api.domain.VkGroupDomain import dev.meloda.fast.model.api.domain.VkGroupDomain
import com.meloda.app.fast.model.api.domain.VkMessage import dev.meloda.fast.model.api.domain.VkMessage
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
import kotlin.math.abs import kotlin.math.abs
object VkMemoryCache { object VkMemoryCache {
@@ -1,9 +1,9 @@
package com.meloda.app.fast.data package dev.meloda.fast.data
import com.meloda.app.fast.model.api.data.VkMessageData import dev.meloda.fast.model.api.data.VkMessageData
import com.meloda.app.fast.model.api.domain.VkConversation import dev.meloda.fast.model.api.domain.VkConversation
import com.meloda.app.fast.model.api.domain.VkMessage import dev.meloda.fast.model.api.domain.VkMessage
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
class VkUsersMap( class VkUsersMap(
private val users: List<VkUser> private val users: List<VkUser>
@@ -1,6 +1,6 @@
package com.meloda.app.fast.data.api.account package dev.meloda.fast.data.api.account
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
interface AccountRepository { interface AccountRepository {
@@ -1,10 +1,10 @@
package com.meloda.app.fast.data.api.account package dev.meloda.fast.data.api.account
import android.os.Build import android.os.Build
import com.meloda.app.fast.model.api.asInt import dev.meloda.fast.model.api.asInt
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.meloda.app.fast.network.mapApiDefault import dev.meloda.fast.network.mapApiDefault
import com.meloda.app.fast.network.service.account.AccountService import dev.meloda.fast.network.service.account.AccountService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@@ -1,6 +1,6 @@
package com.meloda.app.fast.data.api.account package dev.meloda.fast.data.api.account
import com.meloda.app.fast.data.State import dev.meloda.fast.data.State
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface AccountUseCase { interface AccountUseCase {
@@ -1,19 +1,19 @@
package com.meloda.app.fast.data.api.account package dev.meloda.fast.data.api.account
import com.meloda.app.fast.data.State import dev.meloda.fast.data.State
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flow
// TODO: 05/05/2024, Danil Nikolaev: implement // TODO: 05/05/2024, Danil Nikolaev: implement
class AccountUseCaseImpl( class AccountUseCaseImpl(
private val accountRepository: com.meloda.app.fast.data.api.account.AccountRepository private val accountRepository: dev.meloda.fast.data.api.account.AccountRepository
) : com.meloda.app.fast.data.api.account.AccountUseCase { ) : dev.meloda.fast.data.api.account.AccountUseCase {
override suspend fun setOnline( override suspend fun setOnline(
voip: Boolean, voip: Boolean,
accessToken: String accessToken: String
): Flow<State<Unit>> = flow { ): Flow<State<Unit>> = flow {
// emit(com.meloda.app.fast.data.State.Loading) // emit(dev.meloda.fast.data.State.Loading)
// //
// val newState = accountRepository.setOnline( // val newState = accountRepository.setOnline(
// params = AccountSetOnlineRequest( // params = AccountSetOnlineRequest(
@@ -21,9 +21,9 @@ class AccountUseCaseImpl(
// accessToken = accessToken // accessToken = accessToken
// ) // )
// ).fold( // ).fold(
// onSuccess = { response -> com.meloda.app.fast.data.State.Success(response) }, // onSuccess = { response -> dev.meloda.fast.data.State.Success(response) },
// onNetworkFailure = { com.meloda.app.fast.data.State.Error.ConnectionError }, // onNetworkFailure = { dev.meloda.fast.data.State.Error.ConnectionError },
// onUnknownFailure = { com.meloda.app.fast.data.State.UNKNOWN_ERROR }, // onUnknownFailure = { dev.meloda.fast.data.State.UNKNOWN_ERROR },
// onHttpFailure = { result -> result.error.toStateApiError() }, // onHttpFailure = { result -> result.error.toStateApiError() },
// onApiFailure = { result -> result.error.toStateApiError() } // onApiFailure = { result -> result.error.toStateApiError() }
// ) // )
@@ -32,15 +32,15 @@ class AccountUseCaseImpl(
override suspend fun setOffline( override suspend fun setOffline(
accessToken: String accessToken: String
): Flow<com.meloda.app.fast.data.State<Unit>> = flow { ): Flow<dev.meloda.fast.data.State<Unit>> = flow {
emit(com.meloda.app.fast.data.State.Loading) emit(dev.meloda.fast.data.State.Loading)
// val newState = accountRepository.setOffline( // val newState = accountRepository.setOffline(
// params = AccountSetOfflineRequest(accessToken = accessToken) // params = AccountSetOfflineRequest(accessToken = accessToken)
// ).fold( // ).fold(
// onSuccess = { response -> com.meloda.app.fast.data.State.Success(response) }, // onSuccess = { response -> dev.meloda.fast.data.State.Success(response) },
// onNetworkFailure = { com.meloda.app.fast.data.State.Error.ConnectionError }, // onNetworkFailure = { dev.meloda.fast.data.State.Error.ConnectionError },
// onUnknownFailure = { com.meloda.app.fast.data.State.UNKNOWN_ERROR }, // onUnknownFailure = { dev.meloda.fast.data.State.UNKNOWN_ERROR },
// onHttpFailure = { result -> result.error.toStateApiError() }, // onHttpFailure = { result -> result.error.toStateApiError() },
// onApiFailure = { result -> result.error.toStateApiError() } // onApiFailure = { result -> result.error.toStateApiError() }
// ) // )
@@ -1,9 +1,9 @@
package com.meloda.app.fast.data.api.audios package dev.meloda.fast.data.api.audios
import com.meloda.app.fast.model.api.responses.AudiosGetUploadServerResponse import dev.meloda.fast.model.api.responses.AudiosGetUploadServerResponse
import com.meloda.app.fast.network.ApiResponse import dev.meloda.fast.network.ApiResponse
import com.meloda.app.fast.network.RestApiError import dev.meloda.fast.network.RestApiError
import com.meloda.app.fast.network.service.audios.AudiosService import dev.meloda.fast.network.service.audios.AudiosService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import okhttp3.MultipartBody import okhttp3.MultipartBody
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.api.auth package dev.meloda.fast.data.api.auth
import com.meloda.app.fast.model.api.responses.ValidatePhoneResponse import dev.meloda.fast.model.api.responses.ValidatePhoneResponse
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
interface AuthRepository { interface AuthRepository {
@@ -1,9 +1,9 @@
package com.meloda.app.fast.data.api.auth package dev.meloda.fast.data.api.auth
import com.meloda.app.fast.model.api.responses.ValidatePhoneResponse import dev.meloda.fast.model.api.responses.ValidatePhoneResponse
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.meloda.app.fast.network.mapApiDefault import dev.meloda.fast.network.mapApiDefault
import com.meloda.app.fast.network.service.auth.AuthService import dev.meloda.fast.network.service.auth.AuthService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.api.conversations package dev.meloda.fast.data.api.conversations
import com.meloda.app.fast.model.api.domain.VkConversation import dev.meloda.fast.model.api.domain.VkConversation
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
interface ConversationsRepository { interface ConversationsRepository {
@@ -1,24 +1,24 @@
package com.meloda.app.fast.data.api.conversations package dev.meloda.fast.data.api.conversations
import com.meloda.app.fast.common.VkConstants import dev.meloda.fast.common.VkConstants
import com.meloda.app.fast.data.VkGroupsMap import dev.meloda.fast.data.VkGroupsMap
import com.meloda.app.fast.data.VkMemoryCache import dev.meloda.fast.data.VkMemoryCache
import com.meloda.app.fast.data.VkUsersMap import dev.meloda.fast.data.VkUsersMap
import com.meloda.app.fast.database.dao.ConversationDao import dev.meloda.fast.database.dao.ConversationDao
import com.meloda.app.fast.model.api.data.VkContactData import dev.meloda.fast.model.api.data.VkContactData
import com.meloda.app.fast.model.api.data.VkGroupData import dev.meloda.fast.model.api.data.VkGroupData
import com.meloda.app.fast.model.api.data.VkUserData import dev.meloda.fast.model.api.data.VkUserData
import com.meloda.app.fast.model.api.data.asDomain import dev.meloda.fast.model.api.data.asDomain
import com.meloda.app.fast.model.api.domain.VkConversation import dev.meloda.fast.model.api.domain.VkConversation
import com.meloda.app.fast.model.api.domain.asEntity import dev.meloda.fast.model.api.domain.asEntity
import com.meloda.app.fast.model.api.requests.ConversationsDeleteRequest import dev.meloda.fast.model.api.requests.ConversationsDeleteRequest
import com.meloda.app.fast.model.api.requests.ConversationsGetRequest import dev.meloda.fast.model.api.requests.ConversationsGetRequest
import com.meloda.app.fast.model.api.requests.ConversationsPinRequest import dev.meloda.fast.model.api.requests.ConversationsPinRequest
import com.meloda.app.fast.model.api.requests.ConversationsUnpinRequest import dev.meloda.fast.model.api.requests.ConversationsUnpinRequest
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.meloda.app.fast.network.mapApiDefault import dev.meloda.fast.network.mapApiDefault
import com.meloda.app.fast.network.mapApiResult import dev.meloda.fast.network.mapApiResult
import com.meloda.app.fast.network.service.conversations.ConversationsService import dev.meloda.fast.network.service.conversations.ConversationsService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.api.conversations package dev.meloda.fast.data.api.conversations
import com.meloda.app.fast.data.State import dev.meloda.fast.data.State
import com.meloda.app.fast.model.api.domain.VkConversation import dev.meloda.fast.model.api.domain.VkConversation
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface ConversationsUseCase { interface ConversationsUseCase {
@@ -1,6 +1,6 @@
package com.meloda.app.fast.data.api.files package dev.meloda.fast.data.api.files
import com.meloda.app.fast.network.service.files.FilesService import dev.meloda.fast.network.service.files.FilesService
import okhttp3.MultipartBody import okhttp3.MultipartBody
class FilesRepository( class FilesRepository(
@@ -1,8 +1,8 @@
package com.meloda.app.fast.data.api.friends package dev.meloda.fast.data.api.friends
import com.meloda.app.fast.model.FriendsInfo import dev.meloda.fast.model.FriendsInfo
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
interface FriendsRepository { interface FriendsRepository {
@@ -1,18 +1,18 @@
package com.meloda.app.fast.data.api.friends package dev.meloda.fast.data.api.friends
import com.meloda.app.fast.common.VkConstants import dev.meloda.fast.common.VkConstants
import com.meloda.app.fast.data.VkMemoryCache import dev.meloda.fast.data.VkMemoryCache
import com.meloda.app.fast.database.dao.UsersDao import dev.meloda.fast.database.dao.UsersDao
import com.meloda.app.fast.model.FriendsInfo import dev.meloda.fast.model.FriendsInfo
import com.meloda.app.fast.model.api.data.VkUserData import dev.meloda.fast.model.api.data.VkUserData
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
import com.meloda.app.fast.model.api.domain.asEntity import dev.meloda.fast.model.api.domain.asEntity
import com.meloda.app.fast.model.api.requests.GetFriendsRequest import dev.meloda.fast.model.api.requests.GetFriendsRequest
import com.meloda.app.fast.model.api.requests.GetOnlineFriendsRequest import dev.meloda.fast.model.api.requests.GetOnlineFriendsRequest
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.meloda.app.fast.network.mapApiDefault import dev.meloda.fast.network.mapApiDefault
import com.meloda.app.fast.network.mapApiResult import dev.meloda.fast.network.mapApiResult
import com.meloda.app.fast.network.service.friends.FriendsService import dev.meloda.fast.network.service.friends.FriendsService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import com.slack.eithernet.successOrElse import com.slack.eithernet.successOrElse
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@@ -1,8 +1,8 @@
package com.meloda.app.fast.data.api.friends package dev.meloda.fast.data.api.friends
import com.meloda.app.fast.data.State import dev.meloda.fast.data.State
import com.meloda.app.fast.model.FriendsInfo import dev.meloda.fast.model.FriendsInfo
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface FriendsUseCase { interface FriendsUseCase {
@@ -1,8 +1,8 @@
package com.meloda.app.fast.data.api.longpoll package dev.meloda.fast.data.api.longpoll
import com.meloda.app.fast.model.api.data.LongPollUpdates import dev.meloda.fast.model.api.data.LongPollUpdates
import com.meloda.app.fast.model.api.data.VkLongPollData import dev.meloda.fast.model.api.data.VkLongPollData
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
interface LongPollRepository { interface LongPollRepository {
@@ -1,14 +1,14 @@
package com.meloda.app.fast.data.api.longpoll package dev.meloda.fast.data.api.longpoll
import com.meloda.app.fast.model.api.data.LongPollUpdates import dev.meloda.fast.model.api.data.LongPollUpdates
import com.meloda.app.fast.model.api.data.VkLongPollData import dev.meloda.fast.model.api.data.VkLongPollData
import com.meloda.app.fast.model.api.requests.LongPollGetUpdatesRequest import dev.meloda.fast.model.api.requests.LongPollGetUpdatesRequest
import com.meloda.app.fast.model.api.requests.MessagesGetLongPollServerRequest import dev.meloda.fast.model.api.requests.MessagesGetLongPollServerRequest
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.meloda.app.fast.network.mapApiResult import dev.meloda.fast.network.mapApiResult
import com.meloda.app.fast.network.mapDefault import dev.meloda.fast.network.mapDefault
import com.meloda.app.fast.network.service.longpoll.LongPollService import dev.meloda.fast.network.service.longpoll.LongPollService
import com.meloda.app.fast.network.service.messages.MessagesService import dev.meloda.fast.network.service.messages.MessagesService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.api.messages package dev.meloda.fast.data.api.messages
import com.meloda.app.fast.model.api.domain.VkConversation import dev.meloda.fast.model.api.domain.VkConversation
import com.meloda.app.fast.model.api.domain.VkMessage import dev.meloda.fast.model.api.domain.VkMessage
data class MessagesHistoryInfo( data class MessagesHistoryInfo(
val messages: List<VkMessage>, val messages: List<VkMessage>,
@@ -1,9 +1,9 @@
package com.meloda.app.fast.data.api.messages package dev.meloda.fast.data.api.messages
import com.meloda.app.fast.model.api.domain.VkAttachment import dev.meloda.fast.model.api.domain.VkAttachment
import com.meloda.app.fast.model.api.domain.VkAttachmentHistoryMessage import dev.meloda.fast.model.api.domain.VkAttachmentHistoryMessage
import com.meloda.app.fast.model.api.domain.VkMessage import dev.meloda.fast.model.api.domain.VkMessage
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
interface MessagesRepository { interface MessagesRepository {
@@ -1,28 +1,28 @@
package com.meloda.app.fast.data.api.messages package dev.meloda.fast.data.api.messages
import com.meloda.app.fast.common.VkConstants import dev.meloda.fast.common.VkConstants
import com.meloda.app.fast.data.VkGroupsMap import dev.meloda.fast.data.VkGroupsMap
import com.meloda.app.fast.data.VkMemoryCache import dev.meloda.fast.data.VkMemoryCache
import com.meloda.app.fast.data.VkUsersMap import dev.meloda.fast.data.VkUsersMap
import com.meloda.app.fast.database.dao.MessageDao import dev.meloda.fast.database.dao.MessageDao
import com.meloda.app.fast.model.api.data.VkAttachmentHistoryMessageData import dev.meloda.fast.model.api.data.VkAttachmentHistoryMessageData
import com.meloda.app.fast.model.api.data.VkContactData import dev.meloda.fast.model.api.data.VkContactData
import com.meloda.app.fast.model.api.data.VkGroupData import dev.meloda.fast.model.api.data.VkGroupData
import com.meloda.app.fast.model.api.data.VkUserData import dev.meloda.fast.model.api.data.VkUserData
import com.meloda.app.fast.model.api.data.asDomain import dev.meloda.fast.model.api.data.asDomain
import com.meloda.app.fast.model.api.domain.VkAttachment import dev.meloda.fast.model.api.domain.VkAttachment
import com.meloda.app.fast.model.api.domain.VkAttachmentHistoryMessage import dev.meloda.fast.model.api.domain.VkAttachmentHistoryMessage
import com.meloda.app.fast.model.api.domain.VkMessage import dev.meloda.fast.model.api.domain.VkMessage
import com.meloda.app.fast.model.api.domain.asEntity import dev.meloda.fast.model.api.domain.asEntity
import com.meloda.app.fast.model.api.requests.MessagesGetByIdRequest import dev.meloda.fast.model.api.requests.MessagesGetByIdRequest
import com.meloda.app.fast.model.api.requests.MessagesGetHistoryAttachmentsRequest import dev.meloda.fast.model.api.requests.MessagesGetHistoryAttachmentsRequest
import com.meloda.app.fast.model.api.requests.MessagesGetHistoryRequest import dev.meloda.fast.model.api.requests.MessagesGetHistoryRequest
import com.meloda.app.fast.model.api.requests.MessagesMarkAsReadRequest import dev.meloda.fast.model.api.requests.MessagesMarkAsReadRequest
import com.meloda.app.fast.model.api.requests.MessagesSendRequest import dev.meloda.fast.model.api.requests.MessagesSendRequest
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.meloda.app.fast.network.mapApiDefault import dev.meloda.fast.network.mapApiDefault
import com.meloda.app.fast.network.mapApiResult import dev.meloda.fast.network.mapApiResult
import com.meloda.app.fast.network.service.messages.MessagesService import dev.meloda.fast.network.service.messages.MessagesService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@@ -1,9 +1,9 @@
package com.meloda.app.fast.data.api.messages package dev.meloda.fast.data.api.messages
import com.meloda.app.fast.data.State import dev.meloda.fast.data.State
import com.meloda.app.fast.model.api.domain.VkAttachment import dev.meloda.fast.model.api.domain.VkAttachment
import com.meloda.app.fast.model.api.domain.VkAttachmentHistoryMessage import dev.meloda.fast.model.api.domain.VkAttachmentHistoryMessage
import com.meloda.app.fast.model.api.domain.VkMessage import dev.meloda.fast.model.api.domain.VkMessage
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface MessagesUseCase { interface MessagesUseCase {
@@ -1,6 +1,6 @@
package com.meloda.app.fast.data.api.oauth package dev.meloda.fast.data.api.oauth
import com.meloda.app.fast.model.api.responses.AuthDirectResponse import dev.meloda.fast.model.api.responses.AuthDirectResponse
interface OAuthRepository { interface OAuthRepository {
@@ -1,9 +1,9 @@
package com.meloda.app.fast.data.api.oauth package dev.meloda.fast.data.api.oauth
import com.meloda.app.fast.common.VkConstants import dev.meloda.fast.common.VkConstants
import com.meloda.app.fast.model.api.requests.AuthDirectRequest import dev.meloda.fast.model.api.requests.AuthDirectRequest
import com.meloda.app.fast.model.api.responses.AuthDirectResponse import dev.meloda.fast.model.api.responses.AuthDirectResponse
import com.meloda.app.fast.network.service.oauth.OAuthService import dev.meloda.fast.network.service.oauth.OAuthService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.api.photos package dev.meloda.fast.data.api.photos
import com.meloda.app.fast.model.api.requests.PhotosSaveMessagePhotoRequest import dev.meloda.fast.model.api.requests.PhotosSaveMessagePhotoRequest
import com.meloda.app.fast.network.service.photos.PhotosService import dev.meloda.fast.network.service.photos.PhotosService
import okhttp3.MultipartBody import okhttp3.MultipartBody
class PhotosRepository( class PhotosRepository(
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.api.users package dev.meloda.fast.data.api.users
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
interface UsersRepository { interface UsersRepository {
@@ -1,16 +1,16 @@
package com.meloda.app.fast.data.api.users package dev.meloda.fast.data.api.users
import com.meloda.app.fast.data.VkMemoryCache import dev.meloda.fast.data.VkMemoryCache
import com.meloda.app.fast.database.dao.UsersDao import dev.meloda.fast.database.dao.UsersDao
import com.meloda.app.fast.model.api.data.VkUserData import dev.meloda.fast.model.api.data.VkUserData
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
import com.meloda.app.fast.model.api.domain.asEntity import dev.meloda.fast.model.api.domain.asEntity
import com.meloda.app.fast.model.api.requests.UsersGetRequest import dev.meloda.fast.model.api.requests.UsersGetRequest
import com.meloda.app.fast.model.database.VkUserEntity import dev.meloda.fast.model.database.VkUserEntity
import com.meloda.app.fast.model.database.asExternalModel import dev.meloda.fast.model.database.asExternalModel
import com.meloda.app.fast.network.RestApiErrorDomain import dev.meloda.fast.network.RestApiErrorDomain
import com.meloda.app.fast.network.mapApiResult import dev.meloda.fast.network.mapApiResult
import com.meloda.app.fast.network.service.users.UsersService import dev.meloda.fast.network.service.users.UsersService
import com.slack.eithernet.ApiResult import com.slack.eithernet.ApiResult
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.api.users package dev.meloda.fast.data.api.users
import com.meloda.app.fast.data.State import dev.meloda.fast.data.State
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface UsersUseCase { interface UsersUseCase {
@@ -1,8 +1,8 @@
package com.meloda.app.fast.data.api.users package dev.meloda.fast.data.api.users
import com.meloda.app.fast.data.State import dev.meloda.fast.data.State
import com.meloda.app.fast.data.mapToState import dev.meloda.fast.data.mapToState
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flow
@@ -1,6 +1,6 @@
package com.meloda.app.fast.data.api.videos package dev.meloda.fast.data.api.videos
import com.meloda.app.fast.network.service.videos.VideosService import dev.meloda.fast.network.service.videos.VideosService
import okhttp3.MultipartBody import okhttp3.MultipartBody
class VideosRepository( class VideosRepository(
@@ -1,6 +1,6 @@
package com.meloda.app.fast.data.db package dev.meloda.fast.data.db
import com.meloda.app.fast.model.database.AccountEntity import dev.meloda.fast.model.database.AccountEntity
interface AccountsRepository { interface AccountsRepository {
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.db package dev.meloda.fast.data.db
import com.meloda.app.fast.database.dao.AccountDao import dev.meloda.fast.database.dao.AccountDao
import com.meloda.app.fast.model.database.AccountEntity import dev.meloda.fast.model.database.AccountEntity
class AccountsRepositoryImpl( class AccountsRepositoryImpl(
private val accountDao: AccountDao private val accountDao: AccountDao
@@ -1,7 +1,7 @@
package com.meloda.app.fast.data.db package dev.meloda.fast.data.db
import com.meloda.app.fast.common.UserConfig import dev.meloda.fast.common.UserConfig
import com.meloda.app.fast.model.database.AccountEntity import dev.meloda.fast.model.database.AccountEntity
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@@ -1,36 +1,36 @@
package com.meloda.app.fast.data.di package dev.meloda.fast.data.di
import com.meloda.app.fast.common.di.commonModule import dev.meloda.fast.common.di.commonModule
import com.meloda.app.fast.data.api.account.AccountRepository import dev.meloda.fast.data.api.account.AccountRepository
import com.meloda.app.fast.data.api.account.AccountRepositoryImpl import dev.meloda.fast.data.api.account.AccountRepositoryImpl
import com.meloda.app.fast.data.api.account.AccountUseCase import dev.meloda.fast.data.api.account.AccountUseCase
import com.meloda.app.fast.data.api.account.AccountUseCaseImpl import dev.meloda.fast.data.api.account.AccountUseCaseImpl
import com.meloda.app.fast.data.api.audios.AudiosRepository import dev.meloda.fast.data.api.audios.AudiosRepository
import com.meloda.app.fast.data.api.auth.AuthRepository import dev.meloda.fast.data.api.auth.AuthRepository
import com.meloda.app.fast.data.api.auth.AuthRepositoryImpl import dev.meloda.fast.data.api.auth.AuthRepositoryImpl
import com.meloda.app.fast.data.api.conversations.ConversationsRepository import dev.meloda.fast.data.api.conversations.ConversationsRepository
import com.meloda.app.fast.data.api.conversations.ConversationsRepositoryImpl import dev.meloda.fast.data.api.conversations.ConversationsRepositoryImpl
import com.meloda.app.fast.data.api.files.FilesRepository import dev.meloda.fast.data.api.files.FilesRepository
import com.meloda.app.fast.data.api.friends.FriendsRepository import dev.meloda.fast.data.api.friends.FriendsRepository
import com.meloda.app.fast.data.api.friends.FriendsRepositoryImpl import dev.meloda.fast.data.api.friends.FriendsRepositoryImpl
import com.meloda.app.fast.data.api.longpoll.LongPollRepository import dev.meloda.fast.data.api.longpoll.LongPollRepository
import com.meloda.app.fast.data.api.longpoll.LongPollRepositoryImpl import dev.meloda.fast.data.api.longpoll.LongPollRepositoryImpl
import com.meloda.app.fast.data.api.messages.MessagesRepository import dev.meloda.fast.data.api.messages.MessagesRepository
import com.meloda.app.fast.data.api.messages.MessagesRepositoryImpl import dev.meloda.fast.data.api.messages.MessagesRepositoryImpl
import com.meloda.app.fast.data.api.oauth.OAuthRepository import dev.meloda.fast.data.api.oauth.OAuthRepository
import com.meloda.app.fast.data.api.oauth.OAuthRepositoryImpl import dev.meloda.fast.data.api.oauth.OAuthRepositoryImpl
import com.meloda.app.fast.data.api.photos.PhotosRepository import dev.meloda.fast.data.api.photos.PhotosRepository
import com.meloda.app.fast.data.api.users.UsersRepository import dev.meloda.fast.data.api.users.UsersRepository
import com.meloda.app.fast.data.api.users.UsersRepositoryImpl import dev.meloda.fast.data.api.users.UsersRepositoryImpl
import com.meloda.app.fast.data.api.users.UsersUseCase import dev.meloda.fast.data.api.users.UsersUseCase
import com.meloda.app.fast.data.api.users.UsersUseCaseImpl import dev.meloda.fast.data.api.users.UsersUseCaseImpl
import com.meloda.app.fast.data.api.videos.VideosRepository import dev.meloda.fast.data.api.videos.VideosRepository
import com.meloda.app.fast.data.db.AccountsRepository import dev.meloda.fast.data.db.AccountsRepository
import com.meloda.app.fast.data.db.AccountsRepositoryImpl import dev.meloda.fast.data.db.AccountsRepositoryImpl
import com.meloda.app.fast.data.db.GetCurrentAccountUseCase import dev.meloda.fast.data.db.GetCurrentAccountUseCase
import com.meloda.app.fast.database.di.databaseModule import dev.meloda.fast.database.di.databaseModule
import com.meloda.app.fast.datastore.di.dataStoreModule import dev.meloda.fast.datastore.di.dataStoreModule
import com.meloda.app.fast.network.di.networkModule import dev.meloda.fast.network.di.networkModule
import org.koin.core.module.dsl.singleOf import org.koin.core.module.dsl.singleOf
import org.koin.dsl.bind import org.koin.dsl.bind
import org.koin.dsl.module import org.koin.dsl.module
+2 -2
View File
@@ -4,10 +4,10 @@ plugins {
alias(libs.plugins.com.google.devtools.ksp) alias(libs.plugins.com.google.devtools.ksp)
} }
group = "com.meloda.app.fast.database" group = "dev.meloda.fast.database"
android { android {
namespace = "com.meloda.app.fast.database" namespace = "dev.meloda.fast.database"
compileSdk = Configs.compileSdk compileSdk = Configs.compileSdk
defaultConfig { defaultConfig {
@@ -1,9 +1,9 @@
package com.meloda.app.fast.database package dev.meloda.fast.database
import androidx.room.Database import androidx.room.Database
import androidx.room.RoomDatabase import androidx.room.RoomDatabase
import com.meloda.app.fast.database.dao.AccountDao import dev.meloda.fast.database.dao.AccountDao
import com.meloda.app.fast.model.database.AccountEntity import dev.meloda.fast.model.database.AccountEntity
@Database( @Database(
entities = [AccountEntity::class], entities = [AccountEntity::class],
@@ -1,17 +1,17 @@
package com.meloda.app.fast.database package dev.meloda.fast.database
import androidx.room.Database import androidx.room.Database
import androidx.room.RoomDatabase import androidx.room.RoomDatabase
import androidx.room.TypeConverters import androidx.room.TypeConverters
import com.meloda.app.fast.database.dao.ConversationDao import dev.meloda.fast.database.dao.ConversationDao
import com.meloda.app.fast.database.dao.GroupDao import dev.meloda.fast.database.dao.GroupDao
import com.meloda.app.fast.database.dao.MessageDao import dev.meloda.fast.database.dao.MessageDao
import com.meloda.app.fast.database.dao.UsersDao import dev.meloda.fast.database.dao.UsersDao
import com.meloda.app.fast.database.typeconverters.Converters import dev.meloda.fast.database.typeconverters.Converters
import com.meloda.app.fast.model.database.VkConversationEntity import dev.meloda.fast.model.database.VkConversationEntity
import com.meloda.app.fast.model.database.VkGroupEntity import dev.meloda.fast.model.database.VkGroupEntity
import com.meloda.app.fast.model.database.VkMessageEntity import dev.meloda.fast.model.database.VkMessageEntity
import com.meloda.app.fast.model.database.VkUserEntity import dev.meloda.fast.model.database.VkUserEntity
@Database( @Database(
entities = [ entities = [
@@ -1,8 +1,8 @@
package com.meloda.app.fast.database.dao package dev.meloda.fast.database.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Query import androidx.room.Query
import com.meloda.app.fast.model.database.AccountEntity import dev.meloda.fast.model.database.AccountEntity
@Dao @Dao
abstract class AccountDao : EntityDao<AccountEntity> { abstract class AccountDao : EntityDao<AccountEntity> {
@@ -1,10 +1,10 @@
package com.meloda.app.fast.database.dao package dev.meloda.fast.database.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Query import androidx.room.Query
import androidx.room.Transaction import androidx.room.Transaction
import com.meloda.app.fast.model.database.ConversationWithMessage import dev.meloda.fast.model.database.ConversationWithMessage
import com.meloda.app.fast.model.database.VkConversationEntity import dev.meloda.fast.model.database.VkConversationEntity
@Dao @Dao
abstract class ConversationDao : EntityDao<VkConversationEntity> { abstract class ConversationDao : EntityDao<VkConversationEntity> {
@@ -1,4 +1,4 @@
package com.meloda.app.fast.database.dao package dev.meloda.fast.database.dao
import androidx.room.Delete import androidx.room.Delete
import androidx.room.Insert import androidx.room.Insert
@@ -1,8 +1,8 @@
package com.meloda.app.fast.database.dao package dev.meloda.fast.database.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Query import androidx.room.Query
import com.meloda.app.fast.model.database.VkGroupEntity import dev.meloda.fast.model.database.VkGroupEntity
@Dao @Dao
abstract class GroupDao : EntityDao<VkGroupEntity> { abstract class GroupDao : EntityDao<VkGroupEntity> {
@@ -1,8 +1,8 @@
package com.meloda.app.fast.database.dao package dev.meloda.fast.database.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Query import androidx.room.Query
import com.meloda.app.fast.model.database.VkMessageEntity import dev.meloda.fast.model.database.VkMessageEntity
@Dao @Dao
abstract class MessageDao : EntityDao<VkMessageEntity> { abstract class MessageDao : EntityDao<VkMessageEntity> {
@@ -1,8 +1,8 @@
package com.meloda.app.fast.database.dao package dev.meloda.fast.database.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Query import androidx.room.Query
import com.meloda.app.fast.model.database.VkUserEntity import dev.meloda.fast.model.database.VkUserEntity
@Dao @Dao
abstract class UsersDao : EntityDao<VkUserEntity> { abstract class UsersDao : EntityDao<VkUserEntity> {
@@ -1,7 +1,7 @@
package com.meloda.app.fast.database.di package dev.meloda.fast.database.di
import androidx.room.Room import androidx.room.Room
import com.meloda.app.fast.database.AccountsDatabase import dev.meloda.fast.database.AccountsDatabase
import org.koin.core.scope.Scope import org.koin.core.scope.Scope
import org.koin.dsl.module import org.koin.dsl.module
@@ -12,7 +12,7 @@ val databaseModule = module {
single { get<AccountsDatabase>().accountDao() } single { get<AccountsDatabase>().accountDao() }
single { single {
Room.databaseBuilder(get(), com.meloda.app.fast.database.CacheDatabase::class.java, "cache") Room.databaseBuilder(get(), dev.meloda.fast.database.CacheDatabase::class.java, "cache")
.fallbackToDestructiveMigration() .fallbackToDestructiveMigration()
.build() .build()
} }
@@ -22,4 +22,4 @@ val databaseModule = module {
single { cacheDB().conversationDao() } single { cacheDB().conversationDao() }
} }
private fun Scope.cacheDB(): com.meloda.app.fast.database.CacheDatabase = get() private fun Scope.cacheDB(): dev.meloda.fast.database.CacheDatabase = get()
@@ -1,4 +1,4 @@
package com.meloda.app.fast.database.typeconverters package dev.meloda.fast.database.typeconverters
import androidx.room.TypeConverter import androidx.room.TypeConverter
+2 -2
View File
@@ -3,10 +3,10 @@ plugins {
alias(libs.plugins.org.jetbrains.kotlin.android) alias(libs.plugins.org.jetbrains.kotlin.android)
} }
group = "com.meloda.app.fast.datastore" group = "dev.meloda.fast.datastore"
android { android {
namespace = "com.meloda.app.fast.datastore" namespace = "dev.meloda.fast.datastore"
compileSdk = Configs.compileSdk compileSdk = Configs.compileSdk
defaultConfig { defaultConfig {
@@ -1,8 +1,8 @@
package com.meloda.app.fast.datastore package dev.meloda.fast.datastore
import android.content.SharedPreferences import android.content.SharedPreferences
import androidx.core.content.edit import androidx.core.content.edit
import com.meloda.app.fast.common.model.DarkMode import dev.meloda.fast.common.model.DarkMode
import kotlin.properties.Delegates import kotlin.properties.Delegates
import kotlin.reflect.KClass import kotlin.reflect.KClass
@@ -1,4 +1,4 @@
package com.meloda.app.fast.datastore package dev.meloda.fast.datastore
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
@@ -1,6 +1,6 @@
package com.meloda.app.fast.datastore package dev.meloda.fast.datastore
import com.meloda.app.fast.common.model.DarkMode import dev.meloda.fast.common.model.DarkMode
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@@ -1,7 +1,7 @@
package com.meloda.app.fast.datastore.di package dev.meloda.fast.datastore.di
import com.meloda.app.fast.datastore.UserSettings import dev.meloda.fast.datastore.UserSettings
import com.meloda.app.fast.datastore.UserSettingsImpl import dev.meloda.fast.datastore.UserSettingsImpl
import org.koin.core.module.dsl.singleOf import org.koin.core.module.dsl.singleOf
import org.koin.dsl.bind import org.koin.dsl.bind
import org.koin.dsl.module import org.koin.dsl.module
+2 -2
View File
@@ -4,10 +4,10 @@ plugins {
alias(libs.plugins.kotlin.compose.compiler) alias(libs.plugins.kotlin.compose.compiler)
} }
group = "com.meloda.app.fast.designsystem" group = "dev.meloda.fast.designsystem"
android { android {
namespace = "com.meloda.app.fast.designsystem" namespace = "dev.meloda.fast.designsystem"
compileSdk = Configs.compileSdk compileSdk = Configs.compileSdk
+2 -2
View File
@@ -4,10 +4,10 @@ plugins {
alias(libs.plugins.com.google.devtools.ksp) alias(libs.plugins.com.google.devtools.ksp)
} }
group = "com.meloda.app.fast.model" group = "dev.meloda.fast.model"
android { android {
namespace = "com.meloda.app.fast.model" namespace = "dev.meloda.fast.model"
compileSdk = Configs.compileSdk compileSdk = Configs.compileSdk
defaultConfig { defaultConfig {
@@ -1,4 +1,4 @@
package com.meloda.app.fast.model; package dev.meloda.fast.model;
enum class ApiEvent(val value: Int) { enum class ApiEvent(val value: Int) {
MESSAGE_SET_FLAGS(2), MESSAGE_SET_FLAGS(2),
@@ -1,4 +1,4 @@
package com.meloda.app.fast.model package dev.meloda.fast.model
import androidx.compose.runtime.Immutable import androidx.compose.runtime.Immutable
@@ -1,6 +1,6 @@
package com.meloda.app.fast.model package dev.meloda.fast.model
import com.meloda.app.fast.model.api.domain.VkUser import dev.meloda.fast.model.api.domain.VkUser
data class FriendsInfo( data class FriendsInfo(
val friends: List<VkUser>, val friends: List<VkUser>,
@@ -1,4 +1,4 @@
package com.meloda.app.fast.model package dev.meloda.fast.model
sealed class InteractionType(val value: Int) { sealed class InteractionType(val value: Int) {
data object Typing : InteractionType(1) data object Typing : InteractionType(1)
@@ -1,6 +1,6 @@
package com.meloda.app.fast.model package dev.meloda.fast.model
import com.meloda.app.fast.model.api.domain.VkMessage import dev.meloda.fast.model.api.domain.VkMessage
sealed interface LongPollEvent { sealed interface LongPollEvent {
@@ -1,3 +1,3 @@
package com.meloda.app.fast.model.api package dev.meloda.fast.model.api
fun Boolean.asInt(): Int = if (this) 1 else 0 fun Boolean.asInt(): Int = if (this) 1 else 0

Some files were not shown because too many files have changed in this diff Show More