forked from dsutanto/bChot-android
refactoring to id.databisnis.bachot
This commit is contained in:
@@ -10,12 +10,12 @@ import extension.testCommonDependencies
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("io.element.android-compose-library")
|
||||
id("id.databisnis.android.bachot-compose-library")
|
||||
id("kotlin-parcelize")
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "io.element.android.features.lockscreen.impl"
|
||||
namespace = "id.databisnis.android.bachot.features.lockscreen.impl"
|
||||
|
||||
testOptions {
|
||||
unitTests.isIncludeAndroidResources = true
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<application>
|
||||
<activity
|
||||
android:name="io.element.android.features.lockscreen.impl.unlock.activity.PinUnlockActivity"
|
||||
android:name="id.databisnis.android.bachot.features.lockscreen.impl.unlock.activity.PinUnlockActivity"
|
||||
android:configChanges="screenSize|screenLayout|orientation|keyboardHidden|keyboard|navigation|uiMode"/>
|
||||
</application>
|
||||
|
||||
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@@ -14,9 +14,9 @@ import com.bumble.appyx.core.modality.BuildContext
|
||||
import com.bumble.appyx.core.node.Node
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.features.lockscreen.api.LockScreenEntryPoint
|
||||
import io.element.android.features.lockscreen.impl.unlock.activity.PinUnlockActivity
|
||||
import io.element.android.libraries.architecture.createNode
|
||||
import id.databisnis.android.bachot.features.lockscreen.api.LockScreenEntryPoint
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.activity.PinUnlockActivity
|
||||
import id.databisnis.android.bachot.libraries.architecture.createNode
|
||||
|
||||
@ContributesBinding(AppScope::class)
|
||||
class DefaultLockScreenEntryPoint : LockScreenEntryPoint {
|
||||
+12
-12
@@ -6,22 +6,22 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import io.element.android.features.lockscreen.api.LockScreenLockState
|
||||
import io.element.android.features.lockscreen.api.LockScreenService
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.biometric.DefaultBiometricUnlockCallback
|
||||
import io.element.android.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.libraries.di.annotations.AppCoroutineScope
|
||||
import io.element.android.libraries.sessionstorage.api.observer.SessionListener
|
||||
import io.element.android.libraries.sessionstorage.api.observer.SessionObserver
|
||||
import io.element.android.services.appnavstate.api.AppForegroundStateService
|
||||
import id.databisnis.android.bachot.features.lockscreen.api.LockScreenLockState
|
||||
import id.databisnis.android.bachot.features.lockscreen.api.LockScreenService
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.DefaultBiometricUnlockCallback
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.libraries.di.annotations.AppCoroutineScope
|
||||
import id.databisnis.android.bachot.libraries.sessionstorage.api.observer.SessionListener
|
||||
import id.databisnis.android.bachot.libraries.sessionstorage.api.observer.SessionObserver
|
||||
import id.databisnis.android.bachot.services.appnavstate.api.AppForegroundStateService
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
+2
-2
@@ -6,14 +6,14 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.BindingContainer
|
||||
import dev.zacsweers.metro.ContributesTo
|
||||
import dev.zacsweers.metro.Provides
|
||||
import kotlin.time.Duration
|
||||
import io.element.android.appconfig.LockScreenConfig as AppConfigLockScreenConfig
|
||||
import id.databisnis.android.bachot.appconfig.LockScreenConfig as AppConfigLockScreenConfig
|
||||
|
||||
data class LockScreenConfig(
|
||||
val isPinMandatory: Boolean,
|
||||
+10
-10
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl
|
||||
|
||||
import android.os.Parcelable
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -18,15 +18,15 @@ import com.bumble.appyx.core.plugin.plugins
|
||||
import com.bumble.appyx.navmodel.backstack.BackStack
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.features.lockscreen.api.LockScreenEntryPoint
|
||||
import io.element.android.features.lockscreen.impl.settings.LockScreenSettingsFlowNode
|
||||
import io.element.android.features.lockscreen.impl.setup.LockScreenSetupFlowNode
|
||||
import io.element.android.libraries.architecture.BackstackView
|
||||
import io.element.android.libraries.architecture.BaseFlowNode
|
||||
import io.element.android.libraries.architecture.NodeInputs
|
||||
import io.element.android.libraries.architecture.createNode
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.features.lockscreen.api.LockScreenEntryPoint
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.settings.LockScreenSettingsFlowNode
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.LockScreenSetupFlowNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.BackstackView
|
||||
import id.databisnis.android.bachot.libraries.architecture.BaseFlowNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.NodeInputs
|
||||
import id.databisnis.android.bachot.libraries.architecture.createNode
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.biometric
|
||||
|
||||
import android.security.keystore.KeyPermanentlyInvalidatedException
|
||||
import androidx.biometric.BiometricPrompt
|
||||
@@ -14,9 +14,9 @@ import androidx.biometric.BiometricPrompt.CryptoObject
|
||||
import androidx.biometric.BiometricPrompt.PromptInfo
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import io.element.android.libraries.core.extensions.runCatchingExceptions
|
||||
import io.element.android.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import io.element.android.libraries.cryptography.api.SecretKeyRepository
|
||||
import id.databisnis.android.bachot.libraries.core.extensions.runCatchingExceptions
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.SecretKeyRepository
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import kotlinx.coroutines.CompletableDeferred
|
||||
import timber.log.Timber
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.biometric
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.biometric
|
||||
|
||||
import androidx.biometric.BiometricPrompt
|
||||
|
||||
+9
-9
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.biometric
|
||||
|
||||
import android.app.KeyguardManager
|
||||
import android.content.Context
|
||||
@@ -26,14 +26,14 @@ import androidx.lifecycle.compose.LocalLifecycleOwner
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import io.element.android.features.lockscreen.impl.LockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.R
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import io.element.android.libraries.cryptography.api.SecretKeyRepository
|
||||
import io.element.android.libraries.di.annotations.AppCoroutineScope
|
||||
import io.element.android.libraries.di.annotations.ApplicationContext
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.LockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.R
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.SecretKeyRepository
|
||||
import id.databisnis.android.bachot.libraries.di.annotations.AppCoroutineScope
|
||||
import id.databisnis.android.bachot.libraries.di.annotations.ApplicationContext
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.concurrent.CopyOnWriteArrayList
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.biometric
|
||||
|
||||
open class DefaultBiometricUnlockCallback : BiometricAuthenticator.Callback {
|
||||
override fun onBiometricSetupError() = Unit
|
||||
+7
-7
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.components
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.components
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
@@ -26,12 +26,12 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinDigit
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.pinDigitBg
|
||||
import id.databisnis.android.bachot.compound.theme.ElementTheme
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinDigit
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.pinDigitBg
|
||||
|
||||
@Composable
|
||||
fun PinEntryTextField(
|
||||
+5
-5
@@ -6,15 +6,15 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import io.element.android.libraries.cryptography.api.EncryptionResult
|
||||
import io.element.android.libraries.cryptography.api.SecretKeyRepository
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.EncryptionResult
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.SecretKeyRepository
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import java.util.concurrent.CopyOnWriteArrayList
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin
|
||||
|
||||
open class DefaultPinCodeManagerCallback : PinCodeManager.Callback {
|
||||
override fun onPinCodeVerified() = Unit
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin.model
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin.model
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin.model
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin.model
|
||||
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.settings
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.settings
|
||||
|
||||
sealed interface LockScreenSettingsEvents {
|
||||
data object OnRemovePin : LockScreenSettingsEvents
|
||||
+11
-11
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.settings
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.settings
|
||||
|
||||
import android.os.Parcelable
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -21,16 +21,16 @@ import com.bumble.appyx.navmodel.backstack.operation.newRoot
|
||||
import com.bumble.appyx.navmodel.backstack.operation.push
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.SetupPinNode
|
||||
import io.element.android.features.lockscreen.impl.unlock.PinUnlockNode
|
||||
import io.element.android.libraries.architecture.BackstackView
|
||||
import io.element.android.libraries.architecture.BaseFlowNode
|
||||
import io.element.android.libraries.architecture.createNode
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import io.element.android.libraries.ui.common.nodes.emptyNode
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.SetupPinNode
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.PinUnlockNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.BackstackView
|
||||
import id.databisnis.android.bachot.libraries.architecture.BaseFlowNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.createNode
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.libraries.ui.common.nodes.emptyNode
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.parcelize.Parcelize
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.settings
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.settings
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
@@ -15,9 +15,9 @@ import com.bumble.appyx.core.node.Node
|
||||
import com.bumble.appyx.core.plugin.Plugin
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.libraries.architecture.callback
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.callback
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
@AssistedInject
|
||||
+8
-8
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.settings
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.settings
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
@@ -16,13 +16,13 @@ import androidx.compose.runtime.produceState
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.features.lockscreen.impl.LockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.di.annotations.AppCoroutineScope
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.LockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.libraries.architecture.Presenter
|
||||
import id.databisnis.android.bachot.libraries.di.annotations.AppCoroutineScope
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.settings
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.settings
|
||||
|
||||
data class LockScreenSettingsState(
|
||||
val showRemovePinOption: Boolean,
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.settings
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.settings
|
||||
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
|
||||
+13
-13
@@ -6,23 +6,23 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.settings
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.settings
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import io.element.android.features.lockscreen.impl.R
|
||||
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceDivider
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferencePage
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceSwitch
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.R
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.dialogs.ConfirmationDialog
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.preferences.PreferenceCategory
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.preferences.PreferenceDivider
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.preferences.PreferencePage
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.preferences.PreferenceSwitch
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.ListItem
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.ListItemStyle
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Text
|
||||
|
||||
@Composable
|
||||
fun LockScreenSettingsView(
|
||||
@@ -32,7 +32,7 @@ fun LockScreenSettingsView(
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
PreferencePage(
|
||||
title = stringResource(id = io.element.android.libraries.ui.strings.R.string.common_screen_lock),
|
||||
title = stringResource(id = id.databisnis.android.bachot.libraries.ui.strings.R.string.common_screen_lock),
|
||||
onBackClick = onBackClick,
|
||||
modifier = modifier
|
||||
) {
|
||||
+12
-12
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup
|
||||
|
||||
import android.os.Parcelable
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -19,17 +19,17 @@ import com.bumble.appyx.navmodel.backstack.BackStack
|
||||
import com.bumble.appyx.navmodel.backstack.operation.newRoot
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.setup.biometric.SetupBiometricNode
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.SetupPinNode
|
||||
import io.element.android.libraries.architecture.BackstackView
|
||||
import io.element.android.libraries.architecture.BaseFlowNode
|
||||
import io.element.android.libraries.architecture.callback
|
||||
import io.element.android.libraries.architecture.createNode
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.biometric.SetupBiometricNode
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.SetupPinNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.BackstackView
|
||||
import id.databisnis.android.bachot.libraries.architecture.BaseFlowNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.callback
|
||||
import id.databisnis.android.bachot.libraries.architecture.createNode
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.biometric
|
||||
|
||||
sealed interface SetupBiometricEvents {
|
||||
data object AllowBiometric : SetupBiometricEvents
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.biometric
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
@@ -16,9 +16,9 @@ import com.bumble.appyx.core.node.Node
|
||||
import com.bumble.appyx.core.plugin.Plugin
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.libraries.architecture.callback
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.callback
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
@AssistedInject
|
||||
+5
-5
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.biometric
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
@@ -15,10 +15,10 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.runtime.setValue
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.libraries.architecture.Presenter
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@Inject
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.biometric
|
||||
|
||||
data class SetupBiometricState(
|
||||
val isBiometricSetupDone: Boolean,
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.biometric
|
||||
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
|
||||
+10
-10
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.biometric
|
||||
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.layout.padding
|
||||
@@ -17,15 +17,15 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.lockscreen.impl.R
|
||||
import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule
|
||||
import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
|
||||
import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage
|
||||
import io.element.android.libraries.designsystem.components.BigIcon
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Button
|
||||
import io.element.android.libraries.designsystem.theme.components.TextButton
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.R
|
||||
import id.databisnis.android.bachot.libraries.designsystem.atomic.molecules.ButtonColumnMolecule
|
||||
import id.databisnis.android.bachot.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
|
||||
import id.databisnis.android.bachot.libraries.designsystem.atomic.pages.HeaderFooterPage
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.BigIcon
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Button
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.TextButton
|
||||
|
||||
@Composable
|
||||
fun SetupBiometricView(
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin
|
||||
|
||||
sealed interface SetupPinEvents {
|
||||
data class OnPinEntryChanged(val entryAsText: String, val fromConfirmationStep: Boolean) : SetupPinEvents
|
||||
+3
-3
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
@@ -15,8 +15,8 @@ import com.bumble.appyx.core.node.Node
|
||||
import com.bumble.appyx.core.plugin.Plugin
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
@AssistedInject
|
||||
+8
-8
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
@@ -15,13 +15,13 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.features.lockscreen.impl.LockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.validation.PinValidator
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.core.meta.BuildMeta
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.LockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation.PinValidator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
import id.databisnis.android.bachot.libraries.architecture.Presenter
|
||||
import id.databisnis.android.bachot.libraries.core.meta.BuildMeta
|
||||
import kotlinx.coroutines.delay
|
||||
|
||||
/**
|
||||
+3
-3
@@ -6,10 +6,10 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin
|
||||
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
|
||||
data class SetupPinState(
|
||||
val choosePinEntry: PinEntry,
|
||||
+3
-3
@@ -6,11 +6,11 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin
|
||||
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
|
||||
open class SetupPinStateProvider : PreviewParameterProvider<SetupPinState> {
|
||||
override val values: Sequence<SetupPinState>
|
||||
+13
-13
@@ -8,7 +8,7 @@
|
||||
|
||||
@file:OptIn(ExperimentalMaterial3Api::class)
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.consumeWindowInsets
|
||||
@@ -29,18 +29,18 @@ import androidx.compose.ui.focus.focusRequester
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.lockscreen.impl.R
|
||||
import io.element.android.features.lockscreen.impl.components.PinEntryTextField
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
|
||||
import io.element.android.libraries.designsystem.components.BigIcon
|
||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.R
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.components.PinEntryTextField
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
import id.databisnis.android.bachot.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.BigIcon
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.button.BackButton
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.dialogs.ErrorDialog
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Scaffold
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.TopAppBar
|
||||
|
||||
@Composable
|
||||
fun SetupPinView(
|
||||
+3
-3
@@ -6,11 +6,11 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin.validation
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation
|
||||
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.features.lockscreen.impl.LockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.LockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
|
||||
@Inject
|
||||
class PinValidator(private val lockScreenConfig: LockScreenConfig) {
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin.validation
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation
|
||||
|
||||
sealed interface SetupPinFailure {
|
||||
data object ForbiddenPin : SetupPinFailure
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.storage
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.storage
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.storage
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.storage
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.storage
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.storage
|
||||
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import androidx.datastore.preferences.core.booleanPreferencesKey
|
||||
@@ -15,8 +15,8 @@ import androidx.datastore.preferences.core.intPreferencesKey
|
||||
import androidx.datastore.preferences.core.stringPreferencesKey
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.features.lockscreen.impl.LockScreenConfig
|
||||
import io.element.android.libraries.preferences.api.store.PreferenceDataStoreFactory
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.LockScreenConfig
|
||||
import id.databisnis.android.bachot.libraries.preferences.api.store.PreferenceDataStoreFactory
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.flow.map
|
||||
+2
-2
@@ -6,9 +6,9 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import io.element.android.features.lockscreen.impl.unlock.keypad.PinKeypadModel
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.keypad.PinKeypadModel
|
||||
|
||||
sealed interface PinUnlockEvents {
|
||||
data class OnPinKeypadPressed(val pinKeypadModel: PinKeypadModel) : PinUnlockEvents
|
||||
+5
-5
@@ -6,17 +6,17 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.rememberUpdatedState
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.biometric.DefaultBiometricUnlockCallback
|
||||
import io.element.android.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.DefaultBiometricUnlockCallback
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
|
||||
@Inject
|
||||
class PinUnlockHelper(
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
@@ -16,9 +16,9 @@ import com.bumble.appyx.core.node.Node
|
||||
import com.bumble.appyx.core.plugin.Plugin
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.libraries.architecture.callback
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.callback
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
@AssistedInject
|
||||
+13
-13
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
@@ -17,18 +17,18 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.saveable.rememberSaveable
|
||||
import androidx.compose.runtime.setValue
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.features.lockscreen.impl.unlock.keypad.PinKeypadModel
|
||||
import io.element.android.features.logout.api.LogoutUseCase
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.architecture.runCatchingUpdatingState
|
||||
import io.element.android.libraries.core.bool.orFalse
|
||||
import io.element.android.libraries.di.annotations.AppCoroutineScope
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.keypad.PinKeypadModel
|
||||
import id.databisnis.android.bachot.features.logout.api.LogoutUseCase
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.libraries.architecture.Presenter
|
||||
import id.databisnis.android.bachot.libraries.architecture.runCatchingUpdatingState
|
||||
import id.databisnis.android.bachot.libraries.core.bool.orFalse
|
||||
import id.databisnis.android.bachot.libraries.di.annotations.AppCoroutineScope
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
+6
-6
@@ -6,13 +6,13 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricUnlockError
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricUnlockError
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
|
||||
data class PinUnlockState(
|
||||
val pinEntry: AsyncData<PinEntry>,
|
||||
+6
-6
@@ -6,15 +6,15 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricUnlockError
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricUnlockError
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
|
||||
open class PinUnlockStateProvider : PreviewParameterProvider<PinUnlockState> {
|
||||
override val values: Sequence<PinUnlockState>
|
||||
+22
-22
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@@ -39,27 +39,27 @@ import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.lockscreen.impl.R
|
||||
import io.element.android.features.lockscreen.impl.components.PinEntryTextField
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinDigit
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.features.lockscreen.impl.unlock.keypad.PinKeypad
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.designsystem.components.BigIcon
|
||||
import io.element.android.libraries.designsystem.components.ProgressDialog
|
||||
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
|
||||
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.theme.components.Surface
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.theme.components.TextButton
|
||||
import io.element.android.libraries.designsystem.utils.OnLifecycleEvent
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.compound.theme.ElementTheme
|
||||
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.R
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.components.PinEntryTextField
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinDigit
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.keypad.PinKeypad
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.BigIcon
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.ProgressDialog
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.dialogs.ConfirmationDialog
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.dialogs.ErrorDialog
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Icon
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Surface
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Text
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.TextButton
|
||||
import id.databisnis.android.bachot.libraries.designsystem.utils.OnLifecycleEvent
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
|
||||
@Composable
|
||||
fun PinUnlockView(
|
||||
+12
-12
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock.activity
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock.activity
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@@ -20,17 +20,17 @@ import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.compound.colors.SemanticColorsLightDark
|
||||
import io.element.android.features.enterprise.api.EnterpriseService
|
||||
import io.element.android.features.lockscreen.api.LockScreenLockState
|
||||
import io.element.android.features.lockscreen.api.LockScreenService
|
||||
import io.element.android.features.lockscreen.impl.unlock.PinUnlockPresenter
|
||||
import io.element.android.features.lockscreen.impl.unlock.PinUnlockView
|
||||
import io.element.android.features.lockscreen.impl.unlock.di.PinUnlockBindings
|
||||
import io.element.android.libraries.architecture.bindings
|
||||
import io.element.android.libraries.core.meta.BuildMeta
|
||||
import io.element.android.libraries.designsystem.theme.ElementThemeApp
|
||||
import io.element.android.libraries.preferences.api.store.AppPreferencesStore
|
||||
import id.databisnis.android.bachot.compound.colors.SemanticColorsLightDark
|
||||
import id.databisnis.android.bachot.features.enterprise.api.EnterpriseService
|
||||
import id.databisnis.android.bachot.features.lockscreen.api.LockScreenLockState
|
||||
import id.databisnis.android.bachot.features.lockscreen.api.LockScreenService
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.PinUnlockPresenter
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.PinUnlockView
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.di.PinUnlockBindings
|
||||
import id.databisnis.android.bachot.libraries.architecture.bindings
|
||||
import id.databisnis.android.bachot.libraries.core.meta.BuildMeta
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.ElementThemeApp
|
||||
import id.databisnis.android.bachot.libraries.preferences.api.store.AppPreferencesStore
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class PinUnlockActivity : AppCompatActivity() {
|
||||
+2
-2
@@ -6,11 +6,11 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock.di
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock.di
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesTo
|
||||
import io.element.android.features.lockscreen.impl.unlock.activity.PinUnlockActivity
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.activity.PinUnlockActivity
|
||||
|
||||
@ContributesTo(AppScope::class)
|
||||
interface PinUnlockBindings {
|
||||
+8
-8
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock.keypad
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock.keypad
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
@@ -39,13 +39,13 @@ import androidx.compose.ui.unit.coerceIn
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.compose.ui.unit.times
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.text.toSp
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import io.element.android.libraries.ui.utils.time.digit
|
||||
import id.databisnis.android.bachot.compound.theme.ElementTheme
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
|
||||
import id.databisnis.android.bachot.libraries.designsystem.text.toSp
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Icon
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.libraries.ui.utils.time.digit
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock.keypad
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock.keypad
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
+2
-2
@@ -6,12 +6,12 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.impl.unlock.activity.PinUnlockActivity
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.activity.PinUnlockActivity
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
+4
-4
@@ -6,15 +6,15 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl
|
||||
|
||||
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
|
||||
import com.bumble.appyx.core.modality.BuildContext
|
||||
import com.bumble.appyx.testing.junit4.util.MainDispatcherRule
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.api.LockScreenEntryPoint
|
||||
import io.element.android.tests.testutils.lambda.lambdaError
|
||||
import io.element.android.tests.testutils.node.TestParentNode
|
||||
import id.databisnis.android.bachot.features.lockscreen.api.LockScreenEntryPoint
|
||||
import id.databisnis.android.bachot.tests.testutils.lambda.lambdaError
|
||||
import id.databisnis.android.bachot.tests.testutils.node.TestParentNode
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
|
||||
+12
-12
@@ -6,21 +6,21 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl
|
||||
|
||||
import app.cash.turbine.test
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.biometric.FakeBiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.fixtures.aLockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.createDefaultPinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.libraries.sessionstorage.api.observer.SessionObserver
|
||||
import io.element.android.libraries.sessionstorage.test.observer.FakeSessionObserver
|
||||
import io.element.android.services.appnavstate.api.AppForegroundStateService
|
||||
import io.element.android.services.appnavstate.test.FakeAppForegroundStateService
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.FakeBiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.fixtures.aLockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.createDefaultPinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.libraries.sessionstorage.api.observer.SessionObserver
|
||||
import id.databisnis.android.bachot.libraries.sessionstorage.test.observer.FakeSessionObserver
|
||||
import id.databisnis.android.bachot.services.appnavstate.api.AppForegroundStateService
|
||||
import id.databisnis.android.bachot.services.appnavstate.test.FakeAppForegroundStateService
|
||||
import kotlinx.coroutines.test.TestScope
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.biometric
|
||||
|
||||
class FakeBiometricAuthenticator(
|
||||
override val isActive: Boolean = false,
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.biometric
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
+2
-2
@@ -6,9 +6,9 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.fixtures
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.fixtures
|
||||
|
||||
import io.element.android.features.lockscreen.impl.LockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.LockScreenConfig
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright (c) 2025 Element Creations Ltd.
|
||||
* Copyright 2023-2025 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.fixtures
|
||||
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.DefaultPinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import id.databisnis.android.bachot.libraries.cryptography.impl.AESEncryptionDecryptionService
|
||||
import id.databisnis.android.bachot.libraries.cryptography.test.SimpleSecretKeyRepository
|
||||
|
||||
internal fun aPinCodeManager(
|
||||
lockScreenStore: LockScreenStore = InMemoryLockScreenStore(),
|
||||
secretKeyRepository: SimpleSecretKeyRepository = SimpleSecretKeyRepository(),
|
||||
encryptionDecryptionService: EncryptionDecryptionService = AESEncryptionDecryptionService(),
|
||||
): PinCodeManager {
|
||||
return DefaultPinCodeManager(secretKeyRepository, encryptionDecryptionService, lockScreenStore)
|
||||
}
|
||||
+7
-7
@@ -6,16 +6,16 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin
|
||||
|
||||
import app.cash.turbine.test
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import io.element.android.libraries.cryptography.api.SecretKeyRepository
|
||||
import io.element.android.libraries.cryptography.impl.AESEncryptionDecryptionService
|
||||
import io.element.android.libraries.cryptography.test.SimpleSecretKeyRepository
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import id.databisnis.android.bachot.libraries.cryptography.api.SecretKeyRepository
|
||||
import id.databisnis.android.bachot.libraries.cryptography.impl.AESEncryptionDecryptionService
|
||||
import id.databisnis.android.bachot.libraries.cryptography.test.SimpleSecretKeyRepository
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin.model
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin.model
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin.model
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin.model
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.Test
|
||||
+2
-2
@@ -6,9 +6,9 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.pin.storage
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.pin.storage
|
||||
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
||||
+13
-13
@@ -6,21 +6,21 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.settings
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.settings
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.impl.LockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.biometric.FakeBiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.FakeBiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.fixtures.aLockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.fixtures.aPinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.tests.testutils.awaitLastSequentialItem
|
||||
import io.element.android.tests.testutils.consumeItemsUntilPredicate
|
||||
import io.element.android.tests.testutils.test
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.LockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.FakeBiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.FakeBiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.fixtures.aLockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.fixtures.aPinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.tests.testutils.awaitLastSequentialItem
|
||||
import id.databisnis.android.bachot.tests.testutils.consumeItemsUntilPredicate
|
||||
import id.databisnis.android.bachot.tests.testutils.test
|
||||
import kotlinx.coroutines.test.TestScope
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
+7
-7
@@ -6,18 +6,18 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.biometric
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.biometric
|
||||
|
||||
import app.cash.molecule.RecompositionMode
|
||||
import app.cash.molecule.moleculeFlow
|
||||
import app.cash.turbine.test
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.biometric.FakeBiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.FakeBiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.FakeBiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.FakeBiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.storage.LockScreenStore
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
+13
-13
@@ -6,24 +6,24 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.setup.pin
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.setup.pin
|
||||
|
||||
import app.cash.molecule.RecompositionMode
|
||||
import app.cash.molecule.moleculeFlow
|
||||
import app.cash.turbine.test
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.impl.LockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.fixtures.aLockScreenConfig
|
||||
import io.element.android.features.lockscreen.impl.fixtures.aPinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.model.assertEmpty
|
||||
import io.element.android.features.lockscreen.impl.pin.model.assertText
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.validation.PinValidator
|
||||
import io.element.android.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
import io.element.android.libraries.matrix.test.core.aBuildMeta
|
||||
import io.element.android.tests.testutils.awaitLastSequentialItem
|
||||
import io.element.android.tests.testutils.consumeItemsUntilPredicate
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.LockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.fixtures.aLockScreenConfig
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.fixtures.aPinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.assertEmpty
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.assertText
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation.PinValidator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.core.aBuildMeta
|
||||
import id.databisnis.android.bachot.tests.testutils.awaitLastSequentialItem
|
||||
import id.databisnis.android.bachot.tests.testutils.consumeItemsUntilPredicate
|
||||
import kotlinx.coroutines.CompletableDeferred
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
+14
-14
@@ -6,25 +6,25 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import app.cash.molecule.RecompositionMode
|
||||
import app.cash.molecule.moleculeFlow
|
||||
import app.cash.turbine.test
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.biometric.FakeBiometricAuthenticatorManager
|
||||
import io.element.android.features.lockscreen.impl.fixtures.aPinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.features.lockscreen.impl.pin.model.assertText
|
||||
import io.element.android.features.lockscreen.impl.unlock.keypad.PinKeypadModel
|
||||
import io.element.android.features.logout.test.FakeLogoutUseCase
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.tests.testutils.lambda.assert
|
||||
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.FakeBiometricAuthenticatorManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.fixtures.aPinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.DefaultPinCodeManagerCallback
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.PinCodeManager
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.PinEntry
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.pin.model.assertText
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.unlock.keypad.PinKeypadModel
|
||||
import id.databisnis.android.bachot.features.logout.test.FakeLogoutUseCase
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.tests.testutils.lambda.assert
|
||||
import id.databisnis.android.bachot.tests.testutils.lambda.lambdaRecorder
|
||||
import kotlinx.coroutines.test.TestScope
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
+4
-4
@@ -6,13 +6,13 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock
|
||||
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import io.element.android.features.lockscreen.impl.biometric.BiometricUnlockError
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricAuthenticator
|
||||
import id.databisnis.android.bachot.features.lockscreen.impl.biometric.BiometricUnlockError
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import org.junit.Test
|
||||
|
||||
class PinUnlockStateTest {
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.unlock.keypad
|
||||
package id.databisnis.android.bachot.features.lockscreen.impl.unlock.keypad
|
||||
|
||||
import android.view.KeyEvent
|
||||
import androidx.activity.ComponentActivity
|
||||
@@ -23,9 +23,9 @@ import androidx.compose.ui.test.performKeyInput
|
||||
import androidx.compose.ui.test.pressKey
|
||||
import androidx.compose.ui.test.requestFocus
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import io.element.android.tests.testutils.EnsureNeverCalledWithParam
|
||||
import io.element.android.tests.testutils.EventsRecorder
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.tests.testutils.EnsureNeverCalledWithParam
|
||||
import id.databisnis.android.bachot.tests.testutils.EventsRecorder
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.rules.TestRule
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2025 Element Creations Ltd.
|
||||
* Copyright 2023-2025 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.lockscreen.impl.fixtures
|
||||
|
||||
import io.element.android.features.lockscreen.impl.pin.DefaultPinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.PinCodeManager
|
||||
import io.element.android.features.lockscreen.impl.pin.storage.InMemoryLockScreenStore
|
||||
import io.element.android.features.lockscreen.impl.storage.LockScreenStore
|
||||
import io.element.android.libraries.cryptography.api.EncryptionDecryptionService
|
||||
import io.element.android.libraries.cryptography.impl.AESEncryptionDecryptionService
|
||||
import io.element.android.libraries.cryptography.test.SimpleSecretKeyRepository
|
||||
|
||||
internal fun aPinCodeManager(
|
||||
lockScreenStore: LockScreenStore = InMemoryLockScreenStore(),
|
||||
secretKeyRepository: SimpleSecretKeyRepository = SimpleSecretKeyRepository(),
|
||||
encryptionDecryptionService: EncryptionDecryptionService = AESEncryptionDecryptionService(),
|
||||
): PinCodeManager {
|
||||
return DefaultPinCodeManager(secretKeyRepository, encryptionDecryptionService, lockScreenStore)
|
||||
}
|
||||
Reference in New Issue
Block a user