Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions apps/flipcash/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -86,12 +86,18 @@ android {
buildTypes {
getByName("release") {
resValue("string", "applicationId", appNamespace)
buildConfigField("Boolean", "NOTIFY_ERRORS", "true")
isMinifyEnabled = !skipExpensiveReleaseTasks
isShrinkResources = !skipExpensiveReleaseTasks
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
getByName("debug") {
resValue("string", "applicationId", appNamespace)
buildConfigField(
"Boolean",
"NOTIFY_ERRORS",
tryReadProperty(rootProject.rootDir, "NOTIFY_ERRORS", "false")
)
signingConfig = signingConfigs.getByName("contributors")

val debugMinifyEnabled = tryReadProperty(rootProject.rootDir, "DEBUG_MINIFY", "false").toBooleanStrictOrNull() ?: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import com.getcode.util.resources.AndroidContentReader
import com.getcode.util.resources.AndroidResources
import com.getcode.util.resources.AndroidSettingsHelper
import com.getcode.util.resources.ContentReader
import com.getcode.util.resources.AndroidResourceHelper
import com.getcode.util.resources.ResourceHelper
import com.getcode.util.resources.SettingsHelper
import dagger.Module
Expand Down Expand Up @@ -43,9 +44,14 @@ object AppModule {
): ContentReader = AndroidContentReader(context)

@Provides
fun providesResourceHelper(
fun providesAndroidResourceHelper(
@ApplicationContext context: Context,
): ResourceHelper = AndroidResources(context)
): AndroidResourceHelper = AndroidResources(context)

@Provides
fun providesResourceHelper(
resources: AndroidResourceHelper,
): ResourceHelper = resources

@Provides
fun providesSettingsHelper(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.flipcash.app.internal.startup
import android.content.Context
import androidx.startup.Initializer
import com.flipcash.libs.currency.math.Curves
import com.flipcash.libs.currency.math.initialize

/**
* Preloads the discrete bonding curve tables.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import com.getcode.crypt.MnemonicCache

class MnemonicCacheInitializer: Initializer<Unit> {
override fun create(context: Context) {
MnemonicCache.init(context)
// Touching the cache loads the BIP39 word list at startup rather than on first use.
MnemonicCache.cachedCode
}

override fun dependencies(): List<Class<out Initializer<*>?>?> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ import com.flipcash.app.internal.debug.TestLab
import com.flipcash.app.internal.debug.bugsnagReleaseStage
import com.flipcash.app.updates.ReleaseStage
import com.flipcash.app.updates.ReleaseStageProvider
import com.getcode.utils.BuildFlags
import com.getcode.utils.ErrorUtils
import com.getcode.utils.TraceManager
import com.getcode.utils.initialize
import dagger.hilt.EntryPoint
import dagger.hilt.InstallIn
import dagger.hilt.android.EntryPointAccessors
Expand All @@ -28,6 +30,8 @@ class TraceInitializer: Initializer<Unit> {
}

override fun create(context: Context) {
BuildFlags.isDebug = BuildConfig.DEBUG
BuildFlags.notifyErrors = BuildConfig.NOTIFY_ERRORS
TraceManager.initialize(context)

if (BuildConfig.DEBUG) {
Expand Down
105 changes: 64 additions & 41 deletions apps/flipcash/core/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,49 +1,72 @@
plugins {
alias(libs.plugins.flipcash.android.feature)
alias(libs.plugins.flipcash.kmp.app.library)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.kotlin.ksp)
}

android {
namespace = "${Gradle.flipcashNamespace}.core"
}

dependencies {
implementation(libs.bundles.haze)
implementation(libs.zxing)
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(libs.robolectric)

implementation(libs.androidx.browser)

implementation(libs.kotlinx.serialization.core)
implementation(libs.kotlinx.serialization.json)

implementation(platform(libs.firebase.bom))
implementation(libs.firebase.messaging)

implementation(libs.androidx.localbroadcastmanager)
implementation(libs.androidx.datastore)
implementation(libs.compose.material3)
kotlin {
android {
namespace = "${Gradle.flipcashNamespace}.core"
androidResources {
enable = true
}
}

api(libs.coil3)
api(libs.coil3.network)
sourceSets {
commonMain.dependencies {
implementation(libs.kotlinx.serialization.core)
implementation(libs.kotlinx.serialization.json)
implementation(libs.jetbrains.compose.runtime)

api(project(":services:flipcash-compose"))
api(project(":services:flipcash"))
api(project(":services:opencode"))
implementation(project(":libs:encryption:keys"))
}
androidMain.dependencies {
// What flipcash.android.feature supplied before the move to KMP.
implementation(libs.bundles.hilt)
implementation(project.dependencies.platform(libs.compose.bom))
implementation(libs.bundles.compose)
implementation(libs.rinku.compose)
implementation(project(":libs:coroutines"))
implementation(project(":libs:logging"))
implementation(project(":ui:components"))
implementation(project(":ui:navigation"))
implementation(project(":ui:resources"))
implementation(project(":ui:theme"))

api(project(":libs:reporting"))
implementation(project(":libs:messaging"))
api(project(":libs:permissions:public"))
implementation(project(":libs:vibrator:public"))

implementation(project(":apps:flipcash:shared:userflags"))
api(project(":apps:flipcash:shared:theme"))

api(libs.sodium.bindings)

api(project(":vendor:kik:scanner"))

api(project(":ui:core"))
api(libs.navigation3.runtime)
implementation(libs.bundles.haze)
implementation(libs.zxing)
implementation(libs.androidx.browser)
implementation(project.dependencies.platform(libs.firebase.bom))
implementation(libs.firebase.messaging)
implementation(libs.androidx.localbroadcastmanager)
implementation(libs.androidx.datastore)
implementation(libs.compose.material3)
api(libs.coil3)
api(libs.coil3.network)
api(project(":services:flipcash-compose"))
api(project(":libs:reporting"))
implementation(project(":libs:messaging"))
api(project(":libs:permissions:public"))
implementation(project(":libs:vibrator:public"))
implementation(project(":apps:flipcash:shared:userflags"))
api(project(":apps:flipcash:shared:theme"))
api(libs.sodium.bindings)
api(project(":vendor:kik:scanner"))
api(project(":ui:core"))
api(libs.navigation3.runtime)
api(project(":vendor:tipkit:tipkit-m2"))
}
getByName("androidHostTest").dependencies {
implementation(kotlin("test"))
implementation(libs.bundles.unit.testing)
implementation(libs.robolectric)
}
}
}

api(project(":vendor:tipkit:tipkit-m2"))
dependencies {
add("kspAndroid", libs.hilt.android.compiler)
add("kspAndroid", libs.hilt.compiler)
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.flipcash.libs.coroutines.DispatcherProvider
import com.flipcash.services.user.UserManager
import com.getcode.libs.qr.QRCodeGenerator
import com.getcode.opencode.managers.MnemonicManager
import com.getcode.util.resources.ResourceHelper
import com.getcode.util.resources.AndroidResourceHelper
import com.getcode.view.LoadingSuccessState
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.delay
Expand All @@ -16,7 +16,7 @@ import kotlin.time.Duration.Companion.seconds

@HiltViewModel
internal class BackupKeyScreenViewModel @Inject constructor(
resources: ResourceHelper,
resources: AndroidResourceHelper,
mnemonicManager: MnemonicManager,
mediaSaver: MediaSaver,
userManager: UserManager,
Expand Down
2 changes: 1 addition & 1 deletion apps/flipcash/features/cash/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
dependencies {
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))
testImplementation(libs.mockito.kotlin)
testImplementation(libs.robolectric)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
dependencies {
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))
testImplementation(libs.mockito.kotlin)

implementation(libs.bundles.kotlinx.serialization)
Expand Down
2 changes: 1 addition & 1 deletion apps/flipcash/features/login/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
dependencies {
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))
testImplementation(libs.mockito.kotlin)
testImplementation(libs.bundles.compose.ui.testing)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import com.flipcash.services.user.UserManager
import com.getcode.libs.qr.QRCodeGenerator
import com.getcode.manager.BottomBarManager
import com.getcode.opencode.managers.MnemonicManager
import com.getcode.util.resources.ResourceHelper
import com.getcode.util.resources.AndroidResourceHelper
import com.getcode.view.LoadingSuccessState
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.delay
Expand All @@ -24,7 +24,7 @@ import javax.inject.Inject

@HiltViewModel
internal class LoginAccessKeyViewModel @Inject constructor(
private val resources: ResourceHelper,
private val resources: AndroidResourceHelper,
mnemonicManager: MnemonicManager,
qrCodeGenerator: QRCodeGenerator,
mediaSaver: MediaSaver,
Expand Down
2 changes: 1 addition & 1 deletion apps/flipcash/features/menu/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ dependencies {
testImplementation(libs.kotlinx.coroutines.test)
testImplementation(libs.robolectric)
testImplementation(libs.bundles.unit.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))

implementation(libs.bundles.haze)

Expand Down
2 changes: 1 addition & 1 deletion apps/flipcash/features/myaccount/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ dependencies {
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(libs.bundles.compose.ui.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))

implementation(libs.bundles.haze)
implementation(libs.compose.paging)
Expand Down
2 changes: 1 addition & 1 deletion apps/flipcash/features/tipping/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
dependencies {
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))
testImplementation(testFixtures(project(":apps:flipcash:shared:analytics")))
testImplementation(libs.robolectric)

Expand Down
2 changes: 1 addition & 1 deletion apps/flipcash/features/transactions/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
dependencies {
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))
testImplementation(libs.mockito.kotlin)

implementation(libs.compose.paging)
Expand Down
2 changes: 1 addition & 1 deletion apps/flipcash/features/user-profile/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
dependencies {
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))
testImplementation(libs.mockito.kotlin)

implementation(libs.bundles.kotlinx.serialization)
Expand Down
2 changes: 1 addition & 1 deletion apps/flipcash/features/withdrawal/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
dependencies {
testImplementation(kotlin("test"))
testImplementation(libs.bundles.unit.testing)
testImplementation(testFixtures(project(":ui:resources")))
testImplementation(project(":ui:resources:test-fixtures"))
testImplementation(libs.bundles.compose.ui.testing)

implementation(project(":apps:flipcash:shared:amount-entry"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import com.getcode.theme.Alert
import com.getcode.theme.GradientSpec
import com.getcode.theme.White
import com.getcode.ui.utils.toAGColor
import com.getcode.util.resources.ResourceHelper
import com.getcode.util.resources.AndroidResourceHelper
import com.getcode.utils.TraceType
import com.getcode.utils.decodeBase64
import com.getcode.utils.trace
Expand Down Expand Up @@ -59,7 +59,7 @@ data class AccessKeyUiModel(
)

abstract class BaseAccessKeyViewModel(
private val resources: ResourceHelper,
private val resources: AndroidResourceHelper,
private val mnemonicManager: MnemonicManager,
private val mediaSaver: MediaSaver,
userManager: UserManager,
Expand Down
1 change: 1 addition & 0 deletions apps/flipcash/shared/analytics/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies {
implementation(libs.bugsnag)

api(project(":libs:analytics-events"))
implementation(project(":libs:logging"))
implementation(project(":services:flipcash"))
implementation(project(":services:opencode"))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.flipcash.analytics.PeopleCounter
import com.flipcash.app.analytics.FlipcashAnalytics
import com.flipcash.analytics.PropertyValue
import com.flipcash.app.analytics.TokenSymbolResolver
import com.getcode.services.flipcash.BuildConfig
import com.getcode.utils.BuildFlags
import com.getcode.utils.TraceType
import com.getcode.utils.trace
import com.mixpanel.android.mpmetrics.MixpanelAPI
Expand All @@ -20,7 +20,7 @@ internal class MixpanelAnalyticsDelegate @Inject constructor(
override fun track(event: AnalyticsEvent) {
val properties = event.toMixpanelProperties(tokenSymbolResolver)

if (BuildConfig.DEBUG) {
if (BuildFlags.isDebug) {
val propsString = properties.entries.joinToString { "${it.key} => ${it.value}" }
trace(
buildString {
Expand All @@ -42,7 +42,7 @@ internal class MixpanelAnalyticsDelegate @Inject constructor(
// region Internal

private fun increment(property: String, amount: Double) {
if (BuildConfig.DEBUG) {
if (BuildFlags.isDebug) {
trace("debug increment $property by $amount", type = TraceType.Silent)
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import com.flipcash.services.models.GetUserProfileError
import com.flipcash.services.models.ProfileIdentifier
import com.flipcash.services.repository.AccountRepository
import com.flipcash.services.repository.ProfileRepository
import com.getcode.ed25519.Ed25519.KeyPair
import com.getcode.ed25519kmp.Ed25519.KeyPair
import com.getcode.opencode.model.core.ID
import javax.inject.Inject

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import com.flipcash.app.auth.internal.accounts.AccountStoreMigration
import com.flipcash.services.controllers.AccountController
import com.flipcash.services.user.AuthState
import com.flipcash.services.user.UserManager
import com.getcode.ed25519.Ed25519
import com.getcode.ed25519kmp.Ed25519
import com.getcode.opencode.model.core.ID
import com.getcode.utils.base58
import com.getcode.utils.encodeBase64
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.flipcash.services.models.ProfileIdentifier
import com.flipcash.services.models.UserProfile
import com.flipcash.services.repository.AccountRepository
import com.flipcash.services.repository.ProfileRepository
import com.getcode.ed25519.Ed25519.KeyPair
import com.getcode.ed25519kmp.Ed25519.KeyPair
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.mockk
Expand Down
Loading
Loading