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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 40 additions & 32 deletions app/feature/feature-insurance-certificate/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
id("hedvig.android.library")
id("hedvig.multiplatform.library")
id("hedvig.multiplatform.library.android")
id("hedvig.gradle.plugin")
}

Expand All @@ -11,35 +12,42 @@ hedvig {
viewModels()
}

android {
testOptions.unitTests.isReturnDefaultValues = true
testOptions.unitTests.isIncludeAndroidResources = true
}

dependencies {
implementation(libs.arrow.core)
implementation(libs.arrow.fx)
implementation(libs.kotlinx.serialization.core)
implementation(projects.apolloCore)
implementation(projects.apolloOctopusPublic)
implementation(projects.coreCommonPublic)
implementation(projects.coreFileUpload)
implementation(projects.coreResources)
implementation(projects.designSystemHedvig)
implementation(projects.moleculePublic)
implementation(projects.navigationCommon)
implementation(projects.navigationCompose)
implementation(projects.navigationCore)

testImplementation(libs.apollo.testingSupport)
testImplementation(libs.assertK)
testImplementation(libs.coroutines.test)
testImplementation(libs.junit)
testImplementation(libs.testParameterInjector)
testImplementation(libs.turbine)
testImplementation(projects.apolloOctopusTest)
testImplementation(projects.apolloTest)
testImplementation(projects.coreCommonTest)
testImplementation(projects.loggingTest)
testImplementation(projects.moleculeTest)
kotlin {
sourceSets {
commonMain.dependencies {
implementation(libs.apollo.api)
implementation(libs.apollo.runtime)
implementation(libs.arrow.core)
implementation(libs.arrow.fx)
implementation(libs.jetbrains.compose.foundation)
implementation(libs.jetbrains.compose.runtime)
implementation(libs.jetbrains.compose.ui)
implementation(libs.jetbrains.compose.ui.tooling.preview)
implementation(libs.jetbrains.lifecycle.runtime.compose)
implementation(libs.kotlinx.serialization.core)
implementation(projects.apolloCore)
implementation(projects.apolloOctopusPublic)
implementation(projects.coreCommonPublic)
implementation(projects.coreFileUpload)
implementation(projects.coreResources)
implementation(projects.designSystemHedvig)
implementation(projects.moleculePublic)
implementation(projects.navigationCommon)
implementation(projects.navigationCompose)
implementation(projects.navigationCore)
}
jvmTest.dependencies {
implementation(libs.apollo.testingSupport)
implementation(libs.assertK)
implementation(libs.coroutines.test)
implementation(libs.junit)
implementation(libs.testParameterInjector)
implementation(libs.turbine)
implementation(projects.apolloOctopusTest)
implementation(projects.apolloTest)
implementation(projects.coreCommonTest)
implementation(projects.loggingTest)
implementation(projects.moleculeTest)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import com.hedvig.android.navigation.common.HedvigNavKey
import com.hedvig.android.navigation.compose.Backstack
import com.hedvig.core.common.android.sharePDF
import dev.zacsweers.metrox.viewmodel.metroViewModel
import java.io.File

fun EntryProviderScope<HedvigNavKey>.insuranceEvidenceEntries(backstack: Backstack, applicationId: String) {
entry<InsuranceEvidenceKey> {
Expand All @@ -27,7 +28,7 @@ fun EntryProviderScope<HedvigNavKey>.insuranceEvidenceEntries(backstack: Backsta
viewModel = viewModel,
navigateUp = backstack::navigateUp,
onShareInsuranceEvidence = {
context.sharePDF(it, applicationId)
context.sharePDF(File(it.path), applicationId)
},
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import com.hedvig.android.molecule.public.MoleculePresenterScope
import com.hedvig.android.molecule.public.MoleculeViewModel
import com.hedvig.android.navigation.compose.Backstack
import com.hedvig.android.navigation.compose.navigateAndPopUpTo
import com.hedvig.core.common.android.validation.validateEmail
import com.hedvig.core.common.android.validation.isValidEmail
import dev.zacsweers.metro.Inject
import hedvig.resources.PROFILE_MY_INFO_INVALID_EMAIL
import hedvig.resources.Res
Expand Down Expand Up @@ -61,7 +61,7 @@ internal class InsuranceEvidenceEmailInputPresenter(
val successScreenState = currentState as? InsuranceEvidenceEmailInputState.Success ?: return
val email = successScreenState.email
if (email != null &&
validateEmail(email).isSuccessful
isValidEmail(email)
) {
generateCertificateInputData = email
generateIteration++
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.hedvig.android.core.fileupload.DownloadedFile
import com.hedvig.android.design.system.hedvig.EmptyState
import com.hedvig.android.design.system.hedvig.EmptyStateDefaults.EmptyStateIconStyle.SUCCESS
import com.hedvig.android.design.system.hedvig.HedvigButton
Expand All @@ -29,15 +30,14 @@ import hedvig.resources.CERTIFICATES_EMAIL_SENT
import hedvig.resources.INSURANCE_EVIDENCE_EMAIL_SENT_DESCRIPTION
import hedvig.resources.Res
import hedvig.resources.general_close_button
import java.io.File
import org.jetbrains.compose.resources.stringResource

@Composable
internal fun InsuranceEvidenceOverviewDestination(
insuranceEvidenceUrl: String,
viewModel: InsuranceEvidenceOverviewViewModel,
navigateUp: () -> Unit,
onShareInsuranceEvidence: (File) -> Unit,
onShareInsuranceEvidence: (DownloadedFile) -> Unit,
) {
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
InsuranceEvidenceOverview(
Expand All @@ -58,7 +58,7 @@ internal fun InsuranceEvidenceOverview(
insuranceEvidenceUrl: String,
onDownloadCertificate: (String) -> Unit,
navigateUp: () -> Unit,
onShareInsuranceEvidence: (File) -> Unit,
onShareInsuranceEvidence: (DownloadedFile) -> Unit,
onRetry: () -> Unit,
) {
when (uiState) {
Expand All @@ -81,7 +81,7 @@ internal fun InsuranceEvidenceOverview(
is Success -> {
LaunchedEffect(uiState.insuranceEvidenceUri) {
uiState.insuranceEvidenceUri?.let {
onShareInsuranceEvidence(File(it.path))
onShareInsuranceEvidence(it)
}
}
HedvigScaffold(
Expand All @@ -101,7 +101,7 @@ internal fun InsuranceEvidenceOverview(
text = stringResource(Res.string.CERTIFICATES_DOWNLOAD),
onClick = {
if (uiState.insuranceEvidenceUri != null) {
onShareInsuranceEvidence(File(uiState.insuranceEvidenceUri.path))
onShareInsuranceEvidence(uiState.insuranceEvidenceUri)
} else {
onDownloadCertificate(insuranceEvidenceUrl)
}
Expand Down
Loading