android: add core common module logging crashlytics and feature flags
This commit is contained in:
7
android/core/common/build.gradle.kts
Normal file
7
android/core/common/build.gradle.kts
Normal file
@@ -0,0 +1,7 @@
|
||||
plugins {
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package ru.daemonlord.messenger.core.feature
|
||||
|
||||
data class FeatureFlags(
|
||||
val accountManagementEnabled: Boolean,
|
||||
val twoFactorEnabled: Boolean,
|
||||
val mediaGalleryEnabled: Boolean,
|
||||
)
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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>
|
||||
}
|
||||
Reference in New Issue
Block a user