diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7a90bd3..f5237c6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.application") id("org.jetbrains.kotlin.android") + id("kotlin-kapt") } android { @@ -79,7 +80,7 @@ dependencies { // Room for database implementation("androidx.room:room-runtime:2.6.1") implementation("androidx.room:room-ktx:2.6.1") - annotationProcessor("androidx.room:room-compiler:2.6.1") + kapt("androidx.room:room-compiler:2.6.1") // Biometric authentication implementation("androidx.biometric:biometric:1.1.0") diff --git a/app/src/main/java/com/rosetta/messenger/ui/auth/AuthFlow.kt b/app/src/main/java/com/rosetta/messenger/ui/auth/AuthFlow.kt index 8c11943..a1964c8 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/auth/AuthFlow.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/auth/AuthFlow.kt @@ -130,7 +130,7 @@ fun AuthFlow( currentScreen = AuthScreen.CONFIRM_SEED } }, - onAccountCreated = { onAuthComplete(null) } + onAccountCreated = { account -> onAuthComplete(account) } ) } diff --git a/app/src/main/java/com/rosetta/messenger/ui/auth/SetPasswordScreen.kt b/app/src/main/java/com/rosetta/messenger/ui/auth/SetPasswordScreen.kt index 60bbebf..352d285 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/auth/SetPasswordScreen.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/auth/SetPasswordScreen.kt @@ -27,6 +27,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.rosetta.messenger.crypto.CryptoManager import com.rosetta.messenger.data.AccountManager +import com.rosetta.messenger.data.DecryptedAccount import com.rosetta.messenger.data.EncryptedAccount import com.rosetta.messenger.network.ProtocolManager import com.rosetta.messenger.ui.onboarding.PrimaryBlue @@ -38,7 +39,7 @@ fun SetPasswordScreen( seedPhrase: List, isDarkTheme: Boolean, onBack: () -> Unit, - onAccountCreated: () -> Unit + onAccountCreated: (DecryptedAccount) -> Unit ) { val themeAnimSpec = tween(durationMillis = 500, easing = CubicBezierEasing(0.4f, 0f, 0.2f, 1f)) val backgroundColor by animateColorAsState(if (isDarkTheme) AuthBackground else AuthBackgroundLight, animationSpec = themeAnimSpec) @@ -502,7 +503,16 @@ fun SetPasswordScreen( kotlinx.coroutines.delay(500) ProtocolManager.authenticate(keyPair.publicKey, privateKeyHash) - onAccountCreated() + // Create DecryptedAccount to pass to callback + val decryptedAccount = DecryptedAccount( + publicKey = keyPair.publicKey, + privateKey = keyPair.privateKey, + seedPhrase = seedPhrase, + privateKeyHash = privateKeyHash, + name = truncatedKey + ) + + onAccountCreated(decryptedAccount) } catch (e: Exception) { error = "Failed to create account: ${e.message}" isCreating = false