Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 54515c48 authored by cketti's avatar cketti Committed by GitHub
Browse files

Merge pull request #8177 from thunderbird/qr_code_scanner_2

Add QR code scanner UI (part 2)
parents 3d5551c4 bba75aed
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -14,8 +14,14 @@ dependencies {
    implementation(projects.core.ui.compose.designsystem)
    debugImplementation(projects.core.ui.compose.theme2.k9mail)

    implementation(libs.androidx.camera.core)
    implementation(libs.androidx.camera.camera2)
    implementation(libs.androidx.camera.lifecycle)
    implementation(libs.androidx.camera.view)
    implementation(libs.moshi)
    implementation(libs.okio)
    implementation(libs.timber)
    implementation(libs.zxing)

    testImplementation(projects.core.ui.compose.testing)
    testImplementation(projects.core.ui.compose.theme2.k9mail)
+4 −1
Original line number Diff line number Diff line
package app.k9mail.feature.migration.qrcode.ui

import app.k9mail.core.ui.compose.common.mvi.BaseViewModel
import app.k9mail.feature.migration.qrcode.domain.QrCodeDomainContract.UseCase
import app.k9mail.feature.migration.qrcode.ui.QrCodeScannerContract.Effect
import app.k9mail.feature.migration.qrcode.ui.QrCodeScannerContract.Event
import app.k9mail.feature.migration.qrcode.ui.QrCodeScannerContract.State

class NoOpQrCodeScannerViewModel(
internal class NoOpQrCodeScannerViewModel(
    initialState: State = State(),
) : BaseViewModel<State, Event, Effect>(initialState), QrCodeScannerContract.ViewModel {
    override val cameraUseCasesProvider = UseCase.CameraUseCasesProvider { emptyList() }

    override fun event(event: Event) = Unit
}
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ import app.k9mail.core.ui.compose.designsystem.atom.Surface
@PreviewScreenSizes
@Composable
fun PermissionDeniedContentPreview() {
    PreviewWithTheme {
    PreviewWithTheme(isDarkTheme = true) {
        Surface {
            PermissionDeniedContent(
                onGoToSettingsClick = {},
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ class QrCodeScannerActivity : ComponentActivity() {
        enableEdgeToEdge()

        setActivityContent {
            K9MailTheme2 {
            K9MailTheme2(darkTheme = true) {
                QrCodeScannerScreen()
            }
        }
+3 −3
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ import app.k9mail.feature.migration.qrcode.ui.QrCodeScannerContract.UiPermission
@Preview
@Composable
fun QrCodeScannerScreenPreview_permission_unknown() {
    PreviewWithTheme {
    PreviewWithTheme(isDarkTheme = true) {
        QrCodeScannerScreen(
            viewModel = NoOpQrCodeScannerViewModel(
                initialState = State(cameraPermissionState = UiPermissionState.Unknown),
@@ -21,7 +21,7 @@ fun QrCodeScannerScreenPreview_permission_unknown() {
@Preview
@Composable
fun QrCodeScannerScreenPreview_permission_granted() {
    PreviewWithTheme {
    PreviewWithTheme(isDarkTheme = true) {
        QrCodeScannerScreen(
            viewModel = NoOpQrCodeScannerViewModel(
                initialState = State(cameraPermissionState = UiPermissionState.Granted),
@@ -33,7 +33,7 @@ fun QrCodeScannerScreenPreview_permission_granted() {
@Preview
@Composable
fun QrCodeScannerScreenPreview_permission_denied() {
    PreviewWithTheme {
    PreviewWithTheme(isDarkTheme = true) {
        QrCodeScannerScreen(
            viewModel = NoOpQrCodeScannerViewModel(
                initialState = State(cameraPermissionState = UiPermissionState.Denied),
Loading