diff --git a/fingerprint/connect/build.gradle.kts b/fingerprint/connect/build.gradle.kts
index ada579c339..40438f40a0 100644
--- a/fingerprint/connect/build.gradle.kts
+++ b/fingerprint/connect/build.gradle.kts
@@ -20,4 +20,6 @@ dependencies {
implementation(project(":fingerprint:infra:scanner"))
testImplementation(project(":fingerprint:infra:scannermock"))
+ // Uncomment the line below to use the mock scanner implementation
+ // implementation(project(":fingerprint:infra:scannermock"))
}
diff --git a/fingerprint/connect/src/main/java/com/simprints/fingerprint/connect/ScannerConnectModule.kt b/fingerprint/connect/src/main/java/com/simprints/fingerprint/connect/ScannerConnectModule.kt
new file mode 100644
index 0000000000..4be27b3627
--- /dev/null
+++ b/fingerprint/connect/src/main/java/com/simprints/fingerprint/connect/ScannerConnectModule.kt
@@ -0,0 +1,42 @@
+package com.simprints.fingerprint.connect
+
+import android.bluetooth.BluetoothAdapter
+import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothAdapter
+import com.simprints.fingerprint.infra.scanner.component.bluetooth.android.AndroidBluetoothAdapter
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+import javax.inject.Singleton
+
+@Module
+@InstallIn(SingletonComponent::class)
+object ScannerConnectModule {
+
+ /*
+ * This is the simulated implementation of the BluetoothAdapter
+ * uncomment this and the import of the scanner mock module in the build.gradle.kts
+ */
+/*
+ @Provides
+ @Singleton
+ fun provideComponentBluetoothAdapter(@ApplicationContext ctx: Context): ComponentBluetoothAdapter =
+ SimulatedBluetoothAdapter(SimulatedScannerManager(
+ simulationMode = SimulationMode.V2,
+ isAdapterNull = false,
+ isAdapterEnabled = true,
+ isDeviceBonded = true,
+ deviceName = "Simulated Scanner",
+ outgoingStreamObservers = setOf(),
+ context = ctx,
+ ))
+*/
+
+ /*
+ * This is the real implementation of the BluetoothAdapter
+ */
+ @Provides
+ @Singleton
+ fun provideComponentBluetoothAdapter(): ComponentBluetoothAdapter =
+ AndroidBluetoothAdapter(BluetoothAdapter.getDefaultAdapter())
+}
diff --git a/fingerprint/connect/src/test/java/com/simprints/fingerprint/connect/screens/ConnectScannerViewModelTest.kt b/fingerprint/connect/src/test/java/com/simprints/fingerprint/connect/screens/ConnectScannerViewModelTest.kt
index 022c5db3a6..ff074cb07c 100644
--- a/fingerprint/connect/src/test/java/com/simprints/fingerprint/connect/screens/ConnectScannerViewModelTest.kt
+++ b/fingerprint/connect/src/test/java/com/simprints/fingerprint/connect/screens/ConnectScannerViewModelTest.kt
@@ -25,7 +25,7 @@ import com.simprints.fingerprint.infra.scanner.exceptions.unexpected.UnknownScan
import com.simprints.fingerprint.infra.scanner.tools.SerialNumberConverter
import com.simprints.fingerprint.infra.scanner.wrapper.ScannerFactory
import com.simprints.fingerprint.infra.scanner.wrapper.ScannerWrapper
-import com.simprints.fingerprint.scannermock.dummy.DummyBluetoothDevice
+import com.simprints.fingerprint.infra.scannermock.dummy.DummyBluetoothDevice
import com.simprints.infra.config.store.models.FingerprintConfiguration
import com.simprints.infra.config.store.models.FingerprintConfiguration.BioSdk.SECUGEN_SIM_MATCHER
import com.simprints.infra.config.sync.ConfigManager
diff --git a/fingerprint/infra/scanner/build.gradle.kts b/fingerprint/infra/scanner/build.gradle.kts
index 2d59ea323d..1ff533ace1 100644
--- a/fingerprint/infra/scanner/build.gradle.kts
+++ b/fingerprint/infra/scanner/build.gradle.kts
@@ -23,9 +23,6 @@ dependencies {
// RxJava
api(libs.rxJava2.core)
implementation(libs.rxJava2.kotlin)
-
- // If mock/dummy BT adapter is required test implementation can be switched to regular one
testImplementation(project(":fingerprint:infra:scannermock"))
- //implementation(project(":fingerprint:infra:scannermock"))
}
diff --git a/fingerprint/infra/scanner/src/main/java/com/simprints/fingerprint/infra/scanner/ScannerModule.kt b/fingerprint/infra/scanner/src/main/java/com/simprints/fingerprint/infra/scanner/ScannerModule.kt
index bd236cec32..fa551f9dc3 100644
--- a/fingerprint/infra/scanner/src/main/java/com/simprints/fingerprint/infra/scanner/ScannerModule.kt
+++ b/fingerprint/infra/scanner/src/main/java/com/simprints/fingerprint/infra/scanner/ScannerModule.kt
@@ -1,10 +1,7 @@
package com.simprints.fingerprint.infra.scanner
-import android.bluetooth.BluetoothAdapter
import android.content.Context
import android.nfc.NfcAdapter
-import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothAdapter
-import com.simprints.fingerprint.infra.scanner.component.bluetooth.android.AndroidBluetoothAdapter
import com.simprints.fingerprint.infra.scanner.nfc.ComponentNfcAdapter
import com.simprints.fingerprint.infra.scanner.nfc.android.AndroidNfcAdapter
import dagger.Binds
@@ -13,7 +10,6 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
-import javax.inject.Singleton
@Module(
includes = [
@@ -35,18 +31,4 @@ object FingerprintDependenciesModule {
@Provides
fun provideNfcAdapter(@ApplicationContext context: Context): ComponentNfcAdapter =
AndroidNfcAdapter(NfcAdapter.getDefaultAdapter(context))
-
- /**
- * To provide alternative implementation for BT adapter replace
- * returned instance with any of the mock implementations:
- * - DummyBluetoothAdapter()
- * - AndroidRecordBluetoothAdapter()
- * - SimulatedBluetoothAdapter(SimulatedScannerManager(...))
- *
- * Also change the dependency declaration in build.gradle.kts
- */
- @Provides
- @Singleton
- fun provideComponentBluetoothAdapter(): ComponentBluetoothAdapter =
- AndroidBluetoothAdapter(BluetoothAdapter.getDefaultAdapter())
}
diff --git a/fingerprint/infra/scanner/src/main/java/com/simprints/fingerprint/infra/scanner/component/bluetooth/android/AndroidBluetoothAdapter.kt b/fingerprint/infra/scanner/src/main/java/com/simprints/fingerprint/infra/scanner/component/bluetooth/android/AndroidBluetoothAdapter.kt
index a2e3cd839c..1bc4d8f232 100644
--- a/fingerprint/infra/scanner/src/main/java/com/simprints/fingerprint/infra/scanner/component/bluetooth/android/AndroidBluetoothAdapter.kt
+++ b/fingerprint/infra/scanner/src/main/java/com/simprints/fingerprint/infra/scanner/component/bluetooth/android/AndroidBluetoothAdapter.kt
@@ -5,7 +5,7 @@ import android.bluetooth.BluetoothAdapter
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothAdapter
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothDevice
-internal class AndroidBluetoothAdapter(private val adapter: BluetoothAdapter?) : ComponentBluetoothAdapter {
+class AndroidBluetoothAdapter(private val adapter: BluetoothAdapter?) : ComponentBluetoothAdapter {
override fun isNull(): Boolean = adapter == null
diff --git a/fingerprint/infra/scanner/src/test/java/com/simprints/fingerprint/infra/scanner/ScannerPairingManagerTest.kt b/fingerprint/infra/scanner/src/test/java/com/simprints/fingerprint/infra/scanner/ScannerPairingManagerTest.kt
index a4ca2c9b97..d14ff65d8d 100644
--- a/fingerprint/infra/scanner/src/test/java/com/simprints/fingerprint/infra/scanner/ScannerPairingManagerTest.kt
+++ b/fingerprint/infra/scanner/src/test/java/com/simprints/fingerprint/infra/scanner/ScannerPairingManagerTest.kt
@@ -9,7 +9,7 @@ import com.simprints.fingerprint.infra.scanner.exceptions.safe.MultiplePossibleS
import com.simprints.fingerprint.infra.scanner.exceptions.safe.ScannerNotPairedException
import com.simprints.fingerprint.infra.scanner.tools.ScannerGenerationDeterminer
import com.simprints.fingerprint.infra.scanner.tools.SerialNumberConverter
-import com.simprints.fingerprint.scannermock.dummy.DummyBluetoothDevice
+import com.simprints.fingerprint.infra.scannermock.dummy.DummyBluetoothDevice
import com.simprints.infra.config.store.ConfigRepository
import com.simprints.infra.config.store.models.FingerprintConfiguration
import com.simprints.infra.recent.user.activity.RecentUserActivityManager
diff --git a/fingerprint/infra/scannermock/README.md b/fingerprint/infra/scannermock/README.md
index 6a071d7bda..fa2d79acee 100644
--- a/fingerprint/infra/scannermock/README.md
+++ b/fingerprint/infra/scannermock/README.md
@@ -1,13 +1,47 @@
-# Fingerprint Scanner Mock
-
-This package contains alternatives for `android.bluetooth.BluetoothAdapter` and associated classes that are designed for
-use with the Bluetooth Component Abstractions for mocking, debugging, and testing. The options are as follows:
-
-- [Simulated Bluetooth Adapter](./src/main/java/com/simprints/fingerprint/scannermock/simulated/README.md)
- \- This is for an elaborate mock of the Vero fingerprint scanner, that simulates responses and interaction faithful to how the real scanner would operate.
- For use in integration testing or for manual testing/debugging code easily or where we want the scanner to always respond in a certain way.
-- [Dummy Bluetooth Adapter](./src/main/java/com/simprints/fingerprint/scannermock/dummy/README.md)
- \- This is a very simple skeleton that can be used in tests where communication with the scanner does not occur,
- but we just want something simple to pass as the `ComponentBluetoothAdapter` to allow code to compile.
-- [Android Record Bluetooth Adapter](./src/main/java/com/simprints/fingerprint/scannermock/record/README.md)
- \- This uses the actual `android.bluetooth.BluetoothAdapter` but with ability to record the received byte streams into a file for debugging purposes.
+# Scanner Mock Module README
+
+The Scanner Mock Module provides alternative Bluetooth adapters for replacing real Vero2 or Vero1 scanners in testing environments. This module includes adapters to simulate fingerprint capturing scenarios, record Bluetooth data for debugging, or serve as simple placeholders in basic tests. This README provides guidance on setting up and using each of these mock adapters in your testing environment.
+
+---
+
+## 1. Replacing the Real Android Bluetooth Adapter
+
+To replace the real `AndroidBluetoothAdapter` with one of the mock adapters, select the appropriate adapter for your test case:
+- Substitute the real `AndroidBluetoothAdapter` with `SimulatedBluetoothAdapter` in your DI setup. [Example](../../connect/src/main/java/com/simprints/fingerprint/connect/ScannerConnectModule.kt).
+### A. **SimulatedBluetoothAdapter**
+
+Use the `SimulatedBluetoothAdapter` to fully simulate the fingerprint capturing scenario in NEC or SimMatcher flows. This adapter is designed to emulate the complete scanning and capturing process, providing success and error responses similar to those from real scanners.
+
+#### Setup
+- Configure the test data in `SimulatedUn20ResponseHelper` to match your test case needs. This helper currently contains all necessary data for a successful fingerprint collection flow, but you can adjust it for specific scenarios or errors.
+
+#### Reference
+More details on using the `SimulatedBluetoothAdapter` can be found in the [README](../scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/README.md).
+
+### B. **AndroidRecordBluetoothAdapter**
+
+The `AndroidRecordBluetoothAdapter` mimics the real Android Bluetooth components with the added functionality of recording incoming data bytes from the scanner to a file. This is particularly useful for debugging purposes, allowing you to analyze the exact data transmitted during the fingerprint scanning process.
+More details on using the `AndroidRecordBluetoothAdapter` can be found in the [README](../scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/README.md).
+### C. **DummyBluetoothAdapter**
+
+The `DummyBluetoothAdapter` serves as a simple placeholder adapter, useful in tests that require a Bluetooth component but do not involve actual data transmission or device communication.
+
+- This adapter is beneficial when:
+ - You need a `ComponentBluetoothAdapter` instance that is enabled.
+ - You need access to the MAC address of the `ComponentBluetoothDevice`.
+
+> **Note**: Attempts to connect or communicate with the `DummyBluetoothAdapter` will throw an `UnsupportedOperationException`.
+
+---
+
+## Summary
+
+Each mock adapter provides specific functionality suited to different test requirements:
+
+| Adapter | Purpose |
+|----------------------------|-------------------------------------------------------|
+| **SimulatedBluetoothAdapter** | Full simulation of the fingerprint capture process |
+| **AndroidRecordBluetoothAdapter** | Real Bluetooth functionality with data recording |
+| **DummyBluetoothAdapter** | Basic placeholder with minimal Bluetooth properties|
+
+Choose the adapter that best fits your test scenario to effectively mock the scanner behavior and ensure accurate and efficient testing.
diff --git a/fingerprint/infra/scannermock/src/main/AndroidManifest.xml b/fingerprint/infra/scannermock/src/main/AndroidManifest.xml
index 4f1c58a74d..8072ee00db 100644
--- a/fingerprint/infra/scannermock/src/main/AndroidManifest.xml
+++ b/fingerprint/infra/scannermock/src/main/AndroidManifest.xml
@@ -1,5 +1,2 @@
-
-
-
-
-
+
+
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/README.md b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/README.md
similarity index 100%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/README.md
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/README.md
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/dummy/DummyBluetoothAdapter.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/dummy/DummyBluetoothAdapter.kt
similarity index 92%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/dummy/DummyBluetoothAdapter.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/dummy/DummyBluetoothAdapter.kt
index a517337d68..3d36c415e9 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/dummy/DummyBluetoothAdapter.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/dummy/DummyBluetoothAdapter.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.dummy
+package com.simprints.fingerprint.infra.scannermock.dummy
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothAdapter
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothDevice
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/dummy/DummyBluetoothDevice.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/dummy/DummyBluetoothDevice.kt
similarity index 95%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/dummy/DummyBluetoothDevice.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/dummy/DummyBluetoothDevice.kt
index 6962c657d4..c9809da9a0 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/dummy/DummyBluetoothDevice.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/dummy/DummyBluetoothDevice.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.dummy
+package com.simprints.fingerprint.infra.scannermock.dummy
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothDevice
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothSocket
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/dummy/README.md b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/dummy/README.md
similarity index 100%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/dummy/README.md
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/dummy/README.md
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothAdapter.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothAdapter.kt
similarity index 95%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothAdapter.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothAdapter.kt
index 888d1f2e9e..ea95e80fb2 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothAdapter.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothAdapter.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.record
+package com.simprints.fingerprint.infra.scannermock.record
import android.bluetooth.BluetoothAdapter
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothAdapter
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothDevice.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothDevice.kt
similarity index 93%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothDevice.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothDevice.kt
index 7acfd70c90..312428a00d 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothDevice.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothDevice.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.record
+package com.simprints.fingerprint.infra.scannermock.record
import android.bluetooth.BluetoothDevice
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothDevice
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothSocket.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothSocket.kt
similarity index 94%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothSocket.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothSocket.kt
index c904ca1ca1..4c14cd86ed 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/AndroidRecordBluetoothSocket.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/AndroidRecordBluetoothSocket.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.record
+package com.simprints.fingerprint.infra.scannermock.record
import android.bluetooth.BluetoothSocket
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothSocket
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/README.md b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/README.md
similarity index 100%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/record/README.md
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/record/README.md
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/README.md b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/README.md
similarity index 100%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/README.md
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/README.md
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/SimulatedScannerManager.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/SimulatedScannerManager.kt
similarity index 75%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/SimulatedScannerManager.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/SimulatedScannerManager.kt
index d32b752c73..35c1474d77 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/SimulatedScannerManager.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/SimulatedScannerManager.kt
@@ -1,15 +1,16 @@
-package com.simprints.fingerprint.scannermock.simulated
-
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedFinger
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedScanner
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedScannerState
-import com.simprints.fingerprint.scannermock.simulated.common.SimulationSpeedBehaviour
-import com.simprints.fingerprint.scannermock.simulated.component.SimulatedBluetoothDevice
-import com.simprints.fingerprint.scannermock.simulated.tools.OutputStreamInterceptor
-import com.simprints.fingerprint.scannermock.simulated.v1.SimulatedScannerStateV1
-import com.simprints.fingerprint.scannermock.simulated.v1.SimulatedScannerV1
-import com.simprints.fingerprint.scannermock.simulated.v2.SimulatedScannerStateV2
-import com.simprints.fingerprint.scannermock.simulated.v2.SimulatedScannerV2
+package com.simprints.fingerprint.infra.scannermock.simulated
+
+import android.content.Context
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedFinger
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedScanner
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedScannerState
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulationSpeedBehaviour
+import com.simprints.fingerprint.infra.scannermock.simulated.component.SimulatedBluetoothDevice
+import com.simprints.fingerprint.infra.scannermock.simulated.tools.OutputStreamInterceptor
+import com.simprints.fingerprint.infra.scannermock.simulated.v1.SimulatedScannerStateV1
+import com.simprints.fingerprint.infra.scannermock.simulated.v1.SimulatedScannerV1
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.SimulatedScannerStateV2
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.SimulatedScannerV2
import io.reactivex.Observer
import io.reactivex.observers.DisposableObserver
import java.io.PipedInputStream
@@ -26,7 +27,8 @@ class SimulatedScannerManager(
var isAdapterEnabled: Boolean = true,
var isDeviceBonded: Boolean = true,
var deviceName: String = "",
- var outgoingStreamObservers: Set> = setOf()) {
+ var outgoingStreamObservers: Set> = setOf(),
+ var context: Context?,) {
private var simulatedScanner: SimulatedScanner? = null
@@ -97,6 +99,6 @@ class SimulatedScannerManager(
}
companion object {
- const val DEFAULT_MAC_ADDRESS: String = "F0:AC:D7:CE:E3:B5"
+ const val DEFAULT_MAC_ADDRESS: String = "F0:AC:D7:C0:03:B5"
}
}
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/SimulationMode.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/SimulationMode.kt
new file mode 100644
index 0000000000..a3ea09a19c
--- /dev/null
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/SimulationMode.kt
@@ -0,0 +1,5 @@
+package com.simprints.fingerprint.infra.scannermock.simulated
+
+enum class SimulationMode {
+ V1, V2
+}
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedFinger.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedFinger.kt
similarity index 90%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedFinger.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedFinger.kt
index 8a6c322897..bd8b0de85b 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedFinger.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedFinger.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.common
+package com.simprints.fingerprint.infra.scannermock.simulated.common
enum class SimulatedFinger {
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedScanner.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedScanner.kt
similarity index 76%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedScanner.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedScanner.kt
index ce1b11075d..fa21e0cded 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedScanner.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedScanner.kt
@@ -1,8 +1,8 @@
-package com.simprints.fingerprint.scannermock.simulated.common
+package com.simprints.fingerprint.infra.scannermock.simulated.common
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
-import com.simprints.fingerprint.scannermock.simulated.common.SimulationSpeedBehaviour.INSTANT
-import com.simprints.fingerprint.scannermock.simulated.common.SimulationSpeedBehaviour.REALISTIC
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulationSpeedBehaviour.INSTANT
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulationSpeedBehaviour.REALISTIC
import java.io.OutputStream
abstract class SimulatedScanner(val scannerManager: SimulatedScannerManager) {
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedScannerState.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedScannerState.kt
similarity index 62%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedScannerState.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedScannerState.kt
index 364df4a9d0..8cc1353800 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulatedScannerState.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulatedScannerState.kt
@@ -1,3 +1,3 @@
-package com.simprints.fingerprint.scannermock.simulated.common
+package com.simprints.fingerprint.infra.scannermock.simulated.common
abstract class SimulatedScannerState(val eventQueue: MutableList Unit> = mutableListOf())
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulationSpeedBehaviour.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulationSpeedBehaviour.kt
similarity index 80%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulationSpeedBehaviour.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulationSpeedBehaviour.kt
index 547c07a56e..d1f033fb14 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/common/SimulationSpeedBehaviour.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/common/SimulationSpeedBehaviour.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.common
+package com.simprints.fingerprint.infra.scannermock.simulated.common
enum class SimulationSpeedBehaviour {
INSTANT,
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothAdapter.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothAdapter.kt
similarity index 83%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothAdapter.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothAdapter.kt
index abfcc9b6e1..4e2bdf5423 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothAdapter.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothAdapter.kt
@@ -1,8 +1,8 @@
-package com.simprints.fingerprint.scannermock.simulated.component
+package com.simprints.fingerprint.infra.scannermock.simulated.component
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothAdapter
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothDevice
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
class SimulatedBluetoothAdapter(private val simulatedScannerManager: SimulatedScannerManager) : ComponentBluetoothAdapter {
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothDevice.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothDevice.kt
similarity index 84%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothDevice.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothDevice.kt
index 0a9184a089..56e54e29ae 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothDevice.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothDevice.kt
@@ -1,8 +1,8 @@
-package com.simprints.fingerprint.scannermock.simulated.component
+package com.simprints.fingerprint.infra.scannermock.simulated.component
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothDevice
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothSocket
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
import java.util.UUID
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothSocket.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothSocket.kt
similarity index 79%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothSocket.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothSocket.kt
index 69a77f672d..29d015ec4b 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/component/SimulatedBluetoothSocket.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/component/SimulatedBluetoothSocket.kt
@@ -1,7 +1,7 @@
-package com.simprints.fingerprint.scannermock.simulated.component
+package com.simprints.fingerprint.infra.scannermock.simulated.component
import com.simprints.fingerprint.infra.scanner.component.bluetooth.ComponentBluetoothSocket
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
import java.io.InputStream
import java.io.OutputStream
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/tools/ByteArrayTools.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/tools/ByteArrayTools.kt
similarity index 91%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/tools/ByteArrayTools.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/tools/ByteArrayTools.kt
index 437a23315b..4de65aaf3f 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/tools/ByteArrayTools.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/tools/ByteArrayTools.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.tools
+package com.simprints.fingerprint.infra.scannermock.simulated.tools
/** @throws IndexOutOfBoundsException if odd number of hex characters */
fun hexStringToByteArray(string: String): ByteArray {
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/tools/OutputStreamInterceptor.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/tools/OutputStreamInterceptor.kt
similarity index 93%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/tools/OutputStreamInterceptor.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/tools/OutputStreamInterceptor.kt
index f782d569d4..0f7e110337 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/tools/OutputStreamInterceptor.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/tools/OutputStreamInterceptor.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.tools
+package com.simprints.fingerprint.infra.scannermock.simulated.tools
import io.reactivex.Observer
import java.io.OutputStream
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/ScannerStateHandlerV1.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/ScannerStateHandlerV1.kt
similarity index 86%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/ScannerStateHandlerV1.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/ScannerStateHandlerV1.kt
index ad2ae536d1..04d0d4eb19 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/ScannerStateHandlerV1.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/ScannerStateHandlerV1.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v1
+package com.simprints.fingerprint.infra.scannermock.simulated.v1
import com.simprints.fingerprint.infra.scanner.v1.Message
import com.simprints.fingerprint.infra.scanner.v1.enums.MESSAGE_TYPE
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedCommandParserV1.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedCommandParserV1.kt
similarity index 88%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedCommandParserV1.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedCommandParserV1.kt
index a1c461e5bd..28f3c0ce48 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedCommandParserV1.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedCommandParserV1.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v1
+package com.simprints.fingerprint.infra.scannermock.simulated.v1
import com.simprints.fingerprint.infra.scanner.v1.Message
import java.io.PipedInputStream
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedFingerV1.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedFingerV1.kt
similarity index 99%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedFingerV1.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedFingerV1.kt
index 413ff7e205..4c04e897fa 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedFingerV1.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedFingerV1.kt
@@ -1,6 +1,6 @@
-package com.simprints.fingerprint.scannermock.simulated.v1
+package com.simprints.fingerprint.infra.scannermock.simulated.v1
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedFinger
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedFinger
enum class SimulatedFingerV1(val imageQualityResponse: String = "fa fa fa fa 0e 00 8b 00 63 00 f5 f5 f5 f5 ", // Quality score 99
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedResponseHelperV1.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedResponseHelperV1.kt
similarity index 95%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedResponseHelperV1.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedResponseHelperV1.kt
index 19d3e25d12..70c7685cce 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedResponseHelperV1.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedResponseHelperV1.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v1
+package com.simprints.fingerprint.infra.scannermock.simulated.v1
import com.simprints.fingerprint.infra.scanner.v1.Message
import com.simprints.fingerprint.infra.scanner.v1.enums.MESSAGE_TYPE.CAPTURE_IMAGE
@@ -15,8 +15,8 @@ import com.simprints.fingerprint.infra.scanner.v1.enums.MESSAGE_TYPE.SET_RUNNING
import com.simprints.fingerprint.infra.scanner.v1.enums.MESSAGE_TYPE.SET_UI
import com.simprints.fingerprint.infra.scanner.v1.enums.MESSAGE_TYPE.UN20_SHUTDOWN
import com.simprints.fingerprint.infra.scanner.v1.enums.MESSAGE_TYPE.UN20_WAKEUP
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
-import com.simprints.fingerprint.scannermock.simulated.tools.byteArrayFromHexString
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.tools.byteArrayFromHexString
class SimulatedResponseHelperV1(private val simulatedScannerManager: SimulatedScannerManager,
private val simulatedScanner: SimulatedScannerV1) {
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedScannerStateV1.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedScannerStateV1.kt
new file mode 100644
index 0000000000..8a3868575c
--- /dev/null
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedScannerStateV1.kt
@@ -0,0 +1,5 @@
+package com.simprints.fingerprint.infra.scannermock.simulated.v1
+
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedScannerState
+
+class SimulatedScannerStateV1(var isUn20On: Boolean = false) : SimulatedScannerState()
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedScannerV1.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedScannerV1.kt
similarity index 77%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedScannerV1.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedScannerV1.kt
index 77b4d16510..badddc39c1 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedScannerV1.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v1/SimulatedScannerV1.kt
@@ -1,8 +1,8 @@
-package com.simprints.fingerprint.scannermock.simulated.v1
+package com.simprints.fingerprint.infra.scannermock.simulated.v1
import com.simprints.fingerprint.infra.scanner.v1.Message
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedScanner
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedScanner
import java.io.OutputStream
class SimulatedScannerV1(simulatedScannerManager: SimulatedScannerManager,
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/ScannerStateHandlerV2.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/ScannerStateHandlerV2.kt
similarity index 98%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/ScannerStateHandlerV2.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/ScannerStateHandlerV2.kt
index fe6c806ea6..2ff2defc90 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/ScannerStateHandlerV2.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/ScannerStateHandlerV2.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v2
+package com.simprints.fingerprint.infra.scannermock.simulated.v2
import com.simprints.fingerprint.infra.scanner.v2.domain.Mode
import com.simprints.fingerprint.infra.scanner.v2.domain.OutgoingMessage
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedCommandInputStream.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedCommandInputStream.kt
similarity index 99%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedCommandInputStream.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedCommandInputStream.kt
index fee4f7f28b..0ab6535498 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedCommandInputStream.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedCommandInputStream.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v2
+package com.simprints.fingerprint.infra.scannermock.simulated.v2
import com.simprints.fingerprint.infra.scanner.v2.domain.Mode
import com.simprints.fingerprint.infra.scanner.v2.domain.Mode.CYPRESS_OTA
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedFingerV2.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedFingerV2.kt
similarity index 97%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedFingerV2.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedFingerV2.kt
index 6f9f4b94f6..a2e22e42de 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedFingerV2.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedFingerV2.kt
@@ -1,8 +1,8 @@
-package com.simprints.fingerprint.scannermock.simulated.v2
+package com.simprints.fingerprint.infra.scannermock.simulated.v2
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.models.CaptureFingerprintResult
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedFinger
-import com.simprints.fingerprint.scannermock.simulated.tools.byteArrayFromHexString
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedFinger
+import com.simprints.fingerprint.infra.scannermock.simulated.tools.byteArrayFromHexString
enum class SimulatedFingerV2(
val captureFingerprintResult: CaptureFingerprintResult = CaptureFingerprintResult.OK,
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedResponseOutputStream.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedResponseOutputStream.kt
similarity index 96%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedResponseOutputStream.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedResponseOutputStream.kt
index a365ee235a..487c31e5c6 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedResponseOutputStream.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedResponseOutputStream.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v2
+package com.simprints.fingerprint.infra.scannermock.simulated.v2
import com.simprints.fingerprint.infra.scanner.v2.domain.IncomingMessage
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.MainMessage
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedScannerStateV2.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedScannerStateV2.kt
similarity index 92%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedScannerStateV2.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedScannerStateV2.kt
index 07d6780cf6..4cd3d3d75f 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedScannerStateV2.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedScannerStateV2.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v2
+package com.simprints.fingerprint.infra.scannermock.simulated.v2
import com.simprints.fingerprint.infra.scanner.v2.domain.Mode
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.models.Dpi
@@ -10,7 +10,7 @@ import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.model
import com.simprints.fingerprint.infra.scanner.v2.domain.root.models.CypressFirmwareVersion
import com.simprints.fingerprint.infra.scanner.v2.domain.root.models.UnifiedVersionInformation
import com.simprints.fingerprint.infra.scanner.v2.scanner.Scanner
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedScannerState
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedScannerState
class SimulatedScannerStateV2(
var mode: Mode = Mode.ROOT,
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedScannerV2.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedScannerV2.kt
similarity index 82%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedScannerV2.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedScannerV2.kt
index ae6f0e0d9f..007549ac52 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/SimulatedScannerV2.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/SimulatedScannerV2.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v2
+package com.simprints.fingerprint.infra.scannermock.simulated.v2
import android.annotation.SuppressLint
import com.simprints.fingerprint.infra.scanner.v2.domain.IncomingMessage
@@ -6,12 +6,12 @@ import com.simprints.fingerprint.infra.scanner.v2.domain.OutgoingMessage
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.events.TriggerButtonPressedEvent
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.events.Un20StateChangeEvent
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.models.DigitalValue
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedScanner
-import com.simprints.fingerprint.scannermock.simulated.v2.response.SimulatedResponseHelperV2
-import com.simprints.fingerprint.scannermock.simulated.v2.response.SimulatedRootResponseHelper
-import com.simprints.fingerprint.scannermock.simulated.v2.response.SimulatedUn20ResponseHelper
-import com.simprints.fingerprint.scannermock.simulated.v2.response.SimulatedVeroResponseHelper
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulatedScanner
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.response.SimulatedResponseHelperV2
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.response.SimulatedRootResponseHelper
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.response.SimulatedUn20ResponseHelper
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.response.SimulatedVeroResponseHelper
import io.reactivex.Flowable
import io.reactivex.rxkotlin.subscribeBy
import java.io.OutputStream
@@ -34,7 +34,7 @@ class SimulatedScannerV2(simulatedScannerManager: SimulatedScannerManager,
.apply { respondToCommands(simulatedCommandInputStream.veroCommands) }
@Suppress("unused")
- private val simulatedUn20ResponseHelper = SimulatedUn20ResponseHelper(simulatedScannerManager, this)
+ private val simulatedUn20ResponseHelper = SimulatedUn20ResponseHelper(simulatedScannerManager)
.apply { respondToCommands(simulatedCommandInputStream.un20Commands) }
override fun handleAppToScannerEvent(bytes: ByteArray, returnStream: OutputStream) {
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedResponseHelperV2.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedResponseHelperV2.kt
similarity index 78%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedResponseHelperV2.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedResponseHelperV2.kt
index 5e57e65ae2..3782660f4e 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedResponseHelperV2.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedResponseHelperV2.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v2.response
+package com.simprints.fingerprint.infra.scannermock.simulated.v2.response
import com.simprints.fingerprint.infra.scanner.v2.domain.IncomingMessage
import com.simprints.fingerprint.infra.scanner.v2.domain.OutgoingMessage
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedRootResponseHelper.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedRootResponseHelper.kt
similarity index 73%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedRootResponseHelper.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedRootResponseHelper.kt
index 1233506b5a..b2d750681e 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedRootResponseHelper.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedRootResponseHelper.kt
@@ -1,21 +1,24 @@
-package com.simprints.fingerprint.scannermock.simulated.v2.response
+package com.simprints.fingerprint.infra.scannermock.simulated.v2.response
import com.simprints.fingerprint.infra.scanner.v2.domain.root.RootCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.root.RootResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.root.commands.EnterCypressOtaModeCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.root.commands.EnterMainModeCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.root.commands.EnterStmOtaModeCommand
+import com.simprints.fingerprint.infra.scanner.v2.domain.root.commands.GetCypressVersionCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.root.commands.GetVersionCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.root.commands.SetVersionCommand
+import com.simprints.fingerprint.infra.scanner.v2.domain.root.models.CypressFirmwareVersion
import com.simprints.fingerprint.infra.scanner.v2.domain.root.responses.EnterCypressOtaModeResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.root.responses.EnterMainModeResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.root.responses.EnterStmOtaModeResponse
+import com.simprints.fingerprint.infra.scanner.v2.domain.root.responses.GetCypressVersionResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.root.responses.GetVersionResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.root.responses.SetVersionResponse
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
-import com.simprints.fingerprint.scannermock.simulated.common.RealisticSpeedBehaviour
-import com.simprints.fingerprint.scannermock.simulated.common.SimulationSpeedBehaviour
-import com.simprints.fingerprint.scannermock.simulated.v2.SimulatedScannerV2
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.common.RealisticSpeedBehaviour
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulationSpeedBehaviour
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.SimulatedScannerV2
class SimulatedRootResponseHelper(private val simulatedScannerManager: SimulatedScannerManager,
private val simulatedScannerV2: SimulatedScannerV2) : SimulatedResponseHelperV2 {
@@ -27,6 +30,7 @@ class SimulatedRootResponseHelper(private val simulatedScannerManager: Simulated
is EnterStmOtaModeCommand -> EnterStmOtaModeResponse()
is GetVersionCommand -> GetVersionResponse(simulatedScannerV2.scannerState.versionInfo)
is SetVersionCommand -> SetVersionResponse()
+ is GetCypressVersionCommand -> GetCypressVersionResponse(CypressFirmwareVersion(1,0,0,0))
else -> throw UnsupportedOperationException("Un-mocked response to $command in SimulatedRootResponseHelper")
}
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedUn20ResponseHelper.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedUn20ResponseHelper.kt
similarity index 53%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedUn20ResponseHelper.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedUn20ResponseHelper.kt
index 9d6c11039b..6f714b33cc 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedUn20ResponseHelper.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedUn20ResponseHelper.kt
@@ -1,63 +1,93 @@
-package com.simprints.fingerprint.scannermock.simulated.v2.response
+package com.simprints.fingerprint.infra.scannermock.simulated.v2.response
+
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.Un20Command
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.Un20Response
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.CaptureFingerprintCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetImageCommand
+import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetImageDistortionConfigurationMatrixCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetImageQualityCommand
+import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetImageQualityPreviewCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetSupportedImageFormatsCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetSupportedTemplateTypesCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetTemplateCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetUn20ExtendedAppVersionCommand
+import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.GetUnprocessedImageCommand
+import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.commands.SetScanLedStateCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.models.ImageData
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.models.ImageFormat
+import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.models.OperationResultCode
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.models.TemplateData
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.models.TemplateType
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.models.Un20ExtendedAppVersion
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.CaptureFingerprintResponse
+import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.GetImageDistortionConfigurationMatrixResponse
+import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.GetImageQualityPreviewResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.GetImageQualityResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.GetImageResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.GetSupportedImageFormatsResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.GetSupportedTemplateTypesResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.GetTemplateResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.GetUn20ExtendedAppVersionResponse
+import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.un20.responses.SetScanLedStateResponse
import com.simprints.fingerprint.infra.scanner.v2.tools.crc.Crc32Calculator
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
-import com.simprints.fingerprint.scannermock.simulated.common.RealisticSpeedBehaviour
-import com.simprints.fingerprint.scannermock.simulated.common.SimulationSpeedBehaviour
-import com.simprints.fingerprint.scannermock.simulated.v2.SimulatedFingerV2
-import com.simprints.fingerprint.scannermock.simulated.v2.SimulatedScannerV2
-import com.simprints.fingerprint.scannermock.simulated.v2.toV2
-import kotlin.random.Random
+import com.simprints.fingerprint.infra.scannermock.R
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.common.RealisticSpeedBehaviour
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulationSpeedBehaviour
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.SimulatedFingerV2
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.toV2
-class SimulatedUn20ResponseHelper(private val simulatedScannerManager: SimulatedScannerManager,
- private val simulatedScannerV2: SimulatedScannerV2) : SimulatedResponseHelperV2 {
+class SimulatedUn20ResponseHelper(
+ private val simulatedScannerManager: SimulatedScannerManager
+) : SimulatedResponseHelperV2 {
override fun createResponseToCommand(command: Un20Command): Un20Response {
val response = when (command) {
- is GetUn20ExtendedAppVersionCommand -> GetUn20ExtendedAppVersionResponse(Un20ExtendedAppVersion("0.E-1.1"))
+ is GetUn20ExtendedAppVersionCommand -> GetUn20ExtendedAppVersionResponse(
+ Un20ExtendedAppVersion("0.E-1.1")
+ )
is CaptureFingerprintCommand -> CaptureFingerprintResponse(
simulatedScannerManager.currentMockFinger().toV2()
- .also { if (it == SimulatedFingerV2.NO_FINGER) simulatedScannerManager.cycleToNextFinger() }
- .captureFingerprintResult
+ .also { if (it == SimulatedFingerV2.NO_FINGER) simulatedScannerManager.cycleToNextFinger() }.captureFingerprintResult
+ )
+ is GetSupportedTemplateTypesCommand -> GetSupportedTemplateTypesResponse(
+ setOf(
+ TemplateType.ISO_19794_2_2011
+ )
)
- is GetSupportedTemplateTypesCommand -> GetSupportedTemplateTypesResponse(setOf(TemplateType.ISO_19794_2_2011))
- is GetTemplateCommand -> GetTemplateResponse(command.templateType,
- TemplateData(
+ is GetTemplateCommand -> GetTemplateResponse(
+ command.templateType, TemplateData(
simulatedScannerManager.currentMockFinger().toV2().templateBytes
)
).also { simulatedScannerManager.cycleToNextFinger() }
- is GetSupportedImageFormatsCommand -> GetSupportedImageFormatsResponse(setOf(ImageFormat.RAW))
+ is GetSupportedImageFormatsCommand -> GetSupportedImageFormatsResponse(
+ setOf(
+ ImageFormat.RAW, ImageFormat.WSQ
+ )
+ )
is GetImageCommand -> {
- val imageBytes = Random.nextBytes((120000 * (((simulatedScannerV2.scannerState.lastFingerCapturedDpi.value / 100) * 100) / 500f)).toInt())
- GetImageResponse(command.imageFormatData.imageFormat,
- ImageData(
- imageBytes,
- Crc32Calculator().calculateCrc32(imageBytes)
+ val imageBytes = readFromResources(R.raw.corrected_fingerprint_image)
+ GetImageResponse(
+ command.imageFormatData.imageFormat, ImageData(
+ imageBytes, Crc32Calculator().calculateCrc32(imageBytes)
)
)
}
- is GetImageQualityCommand -> GetImageQualityResponse(simulatedScannerManager.currentMockFinger().toV2().imageQuality)
+ is GetImageQualityCommand -> GetImageQualityResponse(
+ simulatedScannerManager.currentMockFinger().toV2().imageQuality
+ )
+ is SetScanLedStateCommand -> SetScanLedStateResponse(OperationResultCode.OK)
+ is GetImageQualityPreviewCommand -> GetImageQualityPreviewResponse(70)
+ is GetImageDistortionConfigurationMatrixCommand -> GetImageDistortionConfigurationMatrixResponse(
+ readFromResources(R.raw.image_distortion_config)
+ )
+
+ is GetUnprocessedImageCommand -> {
+ val imageBytes = readFromResources(R.raw.raw_image)
+ GetImageResponse(ImageFormat.WSQ,ImageData(imageBytes,1))
+ }
+
else -> throw UnsupportedOperationException("Unmocked response to $command in SimulatedUn20ResponseHelper")
}
@@ -75,4 +105,11 @@ class SimulatedUn20ResponseHelper(private val simulatedScannerManager: Simulated
return response
}
+
+ private fun readFromResources(resId: Int): ByteArray {
+ simulatedScannerManager.context?.resources?.openRawResource(resId)?.use { inputStream ->
+ return inputStream.readBytes()
+ }
+ return byteArrayOf(0)
+ }
}
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedVeroResponseHelper.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedVeroResponseHelper.kt
similarity index 93%
rename from fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedVeroResponseHelper.kt
rename to fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedVeroResponseHelper.kt
index c53c1e876f..1687a2fedf 100644
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v2/response/SimulatedVeroResponseHelper.kt
+++ b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/infra/scannermock/simulated/v2/response/SimulatedVeroResponseHelper.kt
@@ -1,4 +1,4 @@
-package com.simprints.fingerprint.scannermock.simulated.v2.response
+package com.simprints.fingerprint.infra.scannermock.simulated.v2.response
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.VeroCommand
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.VeroResponse
@@ -36,10 +36,10 @@ import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.respo
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.responses.SetSmileLedStateResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.responses.SetTriggerButtonActiveResponse
import com.simprints.fingerprint.infra.scanner.v2.domain.main.message.vero.responses.SetUn20OnResponse
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
-import com.simprints.fingerprint.scannermock.simulated.common.RealisticSpeedBehaviour
-import com.simprints.fingerprint.scannermock.simulated.common.SimulationSpeedBehaviour
-import com.simprints.fingerprint.scannermock.simulated.v2.SimulatedScannerV2
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.common.RealisticSpeedBehaviour
+import com.simprints.fingerprint.infra.scannermock.simulated.common.SimulationSpeedBehaviour
+import com.simprints.fingerprint.infra.scannermock.simulated.v2.SimulatedScannerV2
class SimulatedVeroResponseHelper(private val simulatedScannerManager: SimulatedScannerManager,
private val simulatedScannerV2: SimulatedScannerV2) : SimulatedResponseHelperV2 {
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/SimulationMode.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/SimulationMode.kt
deleted file mode 100644
index 45ec2c8570..0000000000
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/SimulationMode.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.simprints.fingerprint.scannermock.simulated
-
-enum class SimulationMode {
- V1, V2
-}
diff --git a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedScannerStateV1.kt b/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedScannerStateV1.kt
deleted file mode 100644
index 2af1e8850d..0000000000
--- a/fingerprint/infra/scannermock/src/main/java/com/simprints/fingerprint/scannermock/simulated/v1/SimulatedScannerStateV1.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.simprints.fingerprint.scannermock.simulated.v1
-
-import com.simprints.fingerprint.scannermock.simulated.common.SimulatedScannerState
-
-class SimulatedScannerStateV1(var isUn20On: Boolean = false) : SimulatedScannerState()
diff --git a/fingerprint/infra/scannermock/src/main/res/raw/corrected_fingerprint_image.wsq b/fingerprint/infra/scannermock/src/main/res/raw/corrected_fingerprint_image.wsq
new file mode 100644
index 0000000000..5af8051729
Binary files /dev/null and b/fingerprint/infra/scannermock/src/main/res/raw/corrected_fingerprint_image.wsq differ
diff --git a/fingerprint/infra/scannermock/src/main/res/raw/image_distortion_config.raw b/fingerprint/infra/scannermock/src/main/res/raw/image_distortion_config.raw
new file mode 100644
index 0000000000..b1eab19b95
Binary files /dev/null and b/fingerprint/infra/scannermock/src/main/res/raw/image_distortion_config.raw differ
diff --git a/fingerprint/infra/scannermock/src/main/res/raw/raw_image.bin b/fingerprint/infra/scannermock/src/main/res/raw/raw_image.bin
new file mode 100644
index 0000000000..cefd71ebfa
Binary files /dev/null and b/fingerprint/infra/scannermock/src/main/res/raw/raw_image.bin differ
diff --git a/fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/scannermock/ByteArrayUtilsTest.kt b/fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/infra/scannermock/ByteArrayUtilsTest.kt
similarity index 78%
rename from fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/scannermock/ByteArrayUtilsTest.kt
rename to fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/infra/scannermock/ByteArrayUtilsTest.kt
index bdc1c739f4..70e03d47bf 100644
--- a/fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/scannermock/ByteArrayUtilsTest.kt
+++ b/fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/infra/scannermock/ByteArrayUtilsTest.kt
@@ -1,7 +1,7 @@
-package com.simprints.fingerprint.scannermock
+package com.simprints.fingerprint.infra.scannermock
import com.simprints.fingerprint.infra.scanner.v1.Message
-import com.simprints.fingerprint.scannermock.simulated.tools.hexStringToByteArray
+import com.simprints.fingerprint.infra.scannermock.simulated.tools.hexStringToByteArray
import org.junit.Assert.assertEquals
import org.junit.Test
import java.nio.ByteBuffer
diff --git a/fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/scannermock/OutgoingMessagesToScannerTest.kt b/fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/infra/scannermock/OutgoingMessagesToScannerTest.kt
similarity index 92%
rename from fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/scannermock/OutgoingMessagesToScannerTest.kt
rename to fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/infra/scannermock/OutgoingMessagesToScannerTest.kt
index 272c47d029..2d5a5f3870 100644
--- a/fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/scannermock/OutgoingMessagesToScannerTest.kt
+++ b/fingerprint/infra/scannermock/src/test/java/com/simprints/fingerprint/infra/scannermock/OutgoingMessagesToScannerTest.kt
@@ -1,12 +1,14 @@
-package com.simprints.fingerprint.scannermock
+package com.simprints.fingerprint.infra.scannermock
+import androidx.test.ext.junit.runners.AndroidJUnit4
import com.simprints.fingerprint.infra.scanner.v1.Scanner
import com.simprints.fingerprint.infra.scanner.v1.ScannerCallback
import com.simprints.fingerprint.infra.scanner.v1.wrappedScannerCallback
-import com.simprints.fingerprint.scannermock.simulated.SimulatedScannerManager
-import com.simprints.fingerprint.scannermock.simulated.SimulationMode
-import com.simprints.fingerprint.scannermock.simulated.component.SimulatedBluetoothAdapter
-import com.simprints.fingerprint.scannermock.simulated.tools.byteArrayFromHexString
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulatedScannerManager
+import com.simprints.fingerprint.infra.scannermock.simulated.SimulationMode
+import com.simprints.fingerprint.infra.scannermock.simulated.component.SimulatedBluetoothAdapter
+import com.simprints.fingerprint.infra.scannermock.simulated.tools.byteArrayFromHexString
+import io.mockk.mockk
import io.reactivex.android.plugins.RxAndroidPlugins
import io.reactivex.observers.TestObserver
import io.reactivex.plugins.RxJavaPlugins
@@ -15,11 +17,10 @@ import org.junit.Assert
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import org.robolectric.RobolectricTestRunner
import org.robolectric.shadows.ShadowLooper
import java.util.concurrent.LinkedBlockingQueue
-@RunWith(RobolectricTestRunner::class)
+@RunWith(AndroidJUnit4::class)
class OutgoingMessagesToScannerTest {
private lateinit var testScanner: Scanner
@@ -33,7 +34,11 @@ class OutgoingMessagesToScannerTest {
testObserver = TestObserver()
- val simulatedScannerManager = SimulatedScannerManager(SimulationMode.V1, outgoingStreamObservers = setOf(testObserver))
+ val simulatedScannerManager = SimulatedScannerManager(
+ SimulationMode.V1,
+ outgoingStreamObservers = setOf(testObserver),
+ context = mockk(relaxed = true)
+ )
val simulatedBluetoothAdapter = SimulatedBluetoothAdapter(simulatedScannerManager)
testScanner = Scanner("F0:AC:D7:C0:00:00", simulatedBluetoothAdapter)