android: add core common module logging crashlytics and feature flags

This commit is contained in:
Codex
2026-03-09 16:04:53 +03:00
parent ef5f866bd0
commit 65e74cffdb
14 changed files with 153 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
plugins {
id("org.jetbrains.kotlin.jvm")
}
kotlin {
jvmToolchain(17)
}

View File

@@ -0,0 +1,7 @@
package ru.daemonlord.messenger.core.feature
data class FeatureFlags(
val accountManagementEnabled: Boolean,
val twoFactorEnabled: Boolean,
val mediaGalleryEnabled: Boolean,
)

View File

@@ -0,0 +1,8 @@
package ru.daemonlord.messenger.core.logging
interface AppLogger {
fun d(tag: String, message: String)
fun i(tag: String, message: String)
fun w(tag: String, message: String, throwable: Throwable? = null)
fun e(tag: String, message: String, throwable: Throwable? = null)
}

View File

@@ -0,0 +1,9 @@
package ru.daemonlord.messenger.domain.common
sealed interface AppError {
data object InvalidCredentials : AppError
data object Unauthorized : AppError
data object Network : AppError
data class Server(val message: String?) : AppError
data class Unknown(val cause: Throwable?) : AppError
}

View File

@@ -0,0 +1,6 @@
package ru.daemonlord.messenger.domain.common
sealed interface AppResult<out T> {
data class Success<T>(val data: T) : AppResult<T>
data class Error(val reason: AppError) : AppResult<Nothing>
}