Compare commits
1 Commits
dev-2.1.12
...
API-CALLS-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cf2e904445 |
3
.idea/gradle.xml
generated
3
.idea/gradle.xml
generated
@@ -4,8 +4,9 @@
|
|||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
|
<option name="testRunner" value="GRADLE" />
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
<option name="gradleJvm" value="jbr-17" />
|
||||||
<option name="modules">
|
<option name="modules">
|
||||||
<set>
|
<set>
|
||||||
<option value="$PROJECT_DIR$" />
|
<option value="$PROJECT_DIR$" />
|
||||||
|
|||||||
1
app/.gitignore
vendored
1
app/.gitignore
vendored
@@ -1,4 +1,3 @@
|
|||||||
/build
|
/build
|
||||||
/release
|
|
||||||
/google-services*
|
/google-services*
|
||||||
/idea
|
/idea
|
||||||
@@ -14,13 +14,13 @@ android {
|
|||||||
compileSdk 34
|
compileSdk 34
|
||||||
namespace 'in.sminnovations.hpostesting'
|
namespace 'in.sminnovations.hpostesting'
|
||||||
|
|
||||||
// dev -> development, quality -> qc, uat -> User Acceptance Testing, preprod -> preproduction, prod -> production, iocl -> iocl-iisc production
|
// prod - production, preprod - preproduction, quality - qc, dev - development
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "in.sminnovations.hpostesting.dev"
|
applicationId "in.sminnovations.hpostesting.quality"
|
||||||
minSdk 21
|
minSdk 21
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 128
|
versionCode 100
|
||||||
versionName "2.1.128"
|
versionName "2.1.100"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,6 @@ android {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation "com.google.dagger:hilt-android:2.46"
|
implementation "com.google.dagger:hilt-android:2.46"
|
||||||
implementation 'androidx.activity:activity:1.8.0'
|
|
||||||
kapt "com.google.dagger:hilt-android-compiler:2.46"
|
kapt "com.google.dagger:hilt-android-compiler:2.46"
|
||||||
|
|
||||||
implementation 'androidx.core:core-ktx:1.12.0'
|
implementation 'androidx.core:core-ktx:1.12.0'
|
||||||
@@ -76,21 +75,21 @@ dependencies {
|
|||||||
implementation platform('com.google.firebase:firebase-bom:32.1.0')
|
implementation platform('com.google.firebase:firebase-bom:32.1.0')
|
||||||
implementation("com.google.firebase:firebase-perf-ktx")
|
implementation("com.google.firebase:firebase-perf-ktx")
|
||||||
implementation("com.google.firebase:firebase-crashlytics-ktx")
|
implementation("com.google.firebase:firebase-crashlytics-ktx")
|
||||||
implementation("com.google.firebase:firebase-config-ktx")
|
|
||||||
implementation("com.google.firebase:firebase-analytics-ktx")
|
implementation("com.google.firebase:firebase-analytics-ktx")
|
||||||
implementation 'com.google.firebase:firebase-firestore-ktx'
|
implementation 'com.google.firebase:firebase-firestore-ktx'
|
||||||
implementation 'com.google.firebase:firebase-auth-ktx'
|
implementation 'com.google.firebase:firebase-auth-ktx'
|
||||||
implementation 'com.google.firebase:firebase-storage-ktx'
|
implementation 'com.google.firebase:firebase-storage-ktx'
|
||||||
implementation 'com.firebaseui:firebase-ui-firestore:8.0.2'
|
implementation 'com.firebaseui:firebase-ui-firestore:8.0.2'
|
||||||
implementation 'com.google.android.gms:play-services-auth:21.0.0'
|
implementation 'com.google.android.gms:play-services-auth:20.7.0'
|
||||||
implementation 'com.google.android.gms:play-services-location:21.1.0'
|
implementation 'com.google.android.gms:play-services-location:21.1.0'
|
||||||
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
|
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
|
||||||
implementation 'com.google.android.things:androidthings:1.0'
|
implementation 'com.google.android.things:androidthings:1.0'
|
||||||
implementation 'com.google.firebase:firebase-appdistribution:16.0.0-beta12'
|
implementation 'com.google.firebase:firebase-appdistribution:16.0.0-beta11'
|
||||||
implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta12")
|
implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta11")
|
||||||
implementation 'androidx.preference:preference-ktx:1.2.1'
|
implementation 'androidx.preference:preference-ktx:1.2.1'
|
||||||
implementation 'androidx.preference:preference-ktx:1.2.1'
|
implementation 'androidx.preference:preference-ktx:1.2.1'
|
||||||
implementation 'io.nats:jnats:2.11.4'
|
implementation 'com.google.android.play:core:1.10.3'
|
||||||
|
implementation 'io.nats:jnats:2.11.2'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -113,15 +112,13 @@ dependencies {
|
|||||||
androidTestImplementation 'org.mockito:mockito-android:3.12.4'
|
androidTestImplementation 'org.mockito:mockito-android:3.12.4'
|
||||||
androidTestImplementation 'org.mockito:mockito-inline:3.12.4'
|
androidTestImplementation 'org.mockito:mockito-inline:3.12.4'
|
||||||
androidTestImplementation 'org.mockito:mockito-android:3.12.4'
|
androidTestImplementation 'org.mockito:mockito-android:3.12.4'
|
||||||
testImplementation 'org.powermock:powermock-api-mockito2:2.0.9'
|
|
||||||
testImplementation 'org.powermock:powermock-module-junit4:2.0.9'
|
|
||||||
|
|
||||||
testImplementation "androidx.arch.core:core-testing:2.2.0"
|
testImplementation "androidx.arch.core:core-testing:2.2.0"
|
||||||
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.1'
|
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.1'
|
||||||
|
|
||||||
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0"
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0"
|
||||||
implementation 'com.opencsv:opencsv:5.9'
|
implementation 'com.opencsv:opencsv:5.9'
|
||||||
implementation 'com.github.mik3y:usb-serial-for-android:3.8.0'
|
implementation 'com.github.mik3y:usb-serial-for-android:3.5.1'
|
||||||
|
|
||||||
implementation "androidx.fragment:fragment-ktx:1.6.2"
|
implementation "androidx.fragment:fragment-ktx:1.6.2"
|
||||||
|
|
||||||
@@ -138,15 +135,14 @@ dependencies {
|
|||||||
implementation "androidx.room:room-ktx:2.6.1"
|
implementation "androidx.room:room-ktx:2.6.1"
|
||||||
implementation "androidx.room:room-runtime:2.6.1"
|
implementation "androidx.room:room-runtime:2.6.1"
|
||||||
kapt ("androidx.room:room-compiler:2.6.1")
|
kapt ("androidx.room:room-compiler:2.6.1")
|
||||||
implementation "net.zetetic:android-database-sqlcipher:4.4.0"
|
|
||||||
|
|
||||||
//image
|
//image
|
||||||
implementation 'com.github.bumptech.glide:glide:4.13.2'
|
implementation 'com.github.bumptech.glide:glide:4.13.2'
|
||||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
|
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
|
||||||
|
|
||||||
// Navigation Component
|
// Navigation Component
|
||||||
implementation "androidx.navigation:navigation-fragment-ktx:2.7.7"
|
implementation "androidx.navigation:navigation-fragment-ktx:2.7.6"
|
||||||
implementation "androidx.navigation:navigation-ui-ktx:2.7.7"
|
implementation "androidx.navigation:navigation-ui-ktx:2.7.6"
|
||||||
|
|
||||||
//Dagger - Hilt
|
//Dagger - Hilt
|
||||||
implementation "com.google.dagger:hilt-android:2.46"
|
implementation "com.google.dagger:hilt-android:2.46"
|
||||||
@@ -159,17 +155,12 @@ dependencies {
|
|||||||
implementation("com.squareup.okhttp3:okhttp:4.9.3")
|
implementation("com.squareup.okhttp3:okhttp:4.9.3")
|
||||||
|
|
||||||
implementation "androidx.preference:preference-ktx:1.2.1"
|
implementation "androidx.preference:preference-ktx:1.2.1"
|
||||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1'
|
implementation 'io.nats:jnats:2.11.2'
|
||||||
|
|
||||||
implementation("androidx.work:work-runtime-ktx:2.9.0")
|
implementation("androidx.work:work-runtime-ktx:2.9.0")
|
||||||
|
|
||||||
// implementation("io.nats:jnats:2.11.2")
|
// implementation("io.nats:jnats:2.11.2")
|
||||||
// implementation 'com.google.android.play:core:1.10.3'
|
implementation 'com.google.android.play:core:1.10.3'
|
||||||
|
|
||||||
implementation fileTree(dir: 'libs', include: ['*.aar'])
|
implementation fileTree(dir: 'libs', include: ['*.aar'])
|
||||||
implementation 'io.nats:jnats:2.11.4'
|
|
||||||
implementation 'org.apache.commons:commons-math3:3.6.1'
|
|
||||||
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.17'
|
|
||||||
implementation 'androidx.security:security-crypto:1.1.0-alpha03'
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,205 +1,45 @@
|
|||||||
{
|
{
|
||||||
"project_info": {
|
"project_info": {
|
||||||
"project_number": "650071678820",
|
"project_number": "1004619739289",
|
||||||
"project_id": "hpos-af3cc",
|
"project_id": "hpos-qa",
|
||||||
"storage_bucket": "hpos-af3cc.appspot.com"
|
"storage_bucket": "hpos-qa.appspot.com"
|
||||||
},
|
},
|
||||||
"client": [
|
"client": [
|
||||||
{
|
{
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:650071678820:android:f1435a1c07f710036c6471",
|
"mobilesdk_app_id": "1:1004619739289:android:f669b47552748433e5c808",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "com.example.hposconsentform"
|
"package_name": "in.sminnovations.hposregistration.quality"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [
|
"oauth_client": [],
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
"api_key": [
|
||||||
{
|
{
|
||||||
"current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
|
"current_key": "AIzaSyC4d4GhWHr_NMJAeBvnztQ_yQ3Qe9MAnLs"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"services": {
|
"services": {
|
||||||
"appinvite_service": {
|
"appinvite_service": {
|
||||||
"other_platform_oauth_client": [
|
"other_platform_oauth_client": []
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:650071678820:android:7865bef608cdee6f6c6471",
|
"mobilesdk_app_id": "1:1004619739289:android:8397cd1f0357bd89e5c808",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "com.smi.counselling"
|
"package_name": "in.sminnovations.hpostesting.quality"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [
|
"oauth_client": [],
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
"api_key": [
|
||||||
{
|
{
|
||||||
"current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
|
"current_key": "AIzaSyC4d4GhWHr_NMJAeBvnztQ_yQ3Qe9MAnLs"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"services": {
|
"services": {
|
||||||
"appinvite_service": {
|
"appinvite_service": {
|
||||||
"other_platform_oauth_client": [
|
"other_platform_oauth_client": []
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:650071678820:android:2925e9ce3417d2386c6471",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "in.sminnovations.hemocube"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-srhm9spm9hjn4frcd3r6o02gdhdbtd15.apps.googleusercontent.com",
|
|
||||||
"client_type": 1,
|
|
||||||
"android_info": {
|
|
||||||
"package_name": "in.sminnovations.hemocube",
|
|
||||||
"certificate_hash": "7714b9268a81d0cf0fb178b0af8dbb630f8fc70a"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:650071678820:android:7569c1cad4fc99916c6471",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "in.sminnovations.hposregistration"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-70kp5jvjda4r5diqch2kn4lc40p4f42g.apps.googleusercontent.com",
|
|
||||||
"client_type": 1,
|
|
||||||
"android_info": {
|
|
||||||
"package_name": "in.sminnovations.hposregistration",
|
|
||||||
"certificate_hash": "7714b9268a81d0cf0fb178b0af8dbb630f8fc70a"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:650071678820:android:f96be19e5d43102b6c6471",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "in.sminnovations.hpostesting"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-l87dnr0bdj95get0khgnvfv2an1k6ogq.apps.googleusercontent.com",
|
|
||||||
"client_type": 1,
|
|
||||||
"android_info": {
|
|
||||||
"package_name": "in.sminnovations.hpostesting",
|
|
||||||
"certificate_hash": "7714b9268a81d0cf0fb178b0af8dbb630f8fc70a"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:650071678820:android:a53292637abb7c0d6c6471",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "in.sminnovations.hpostesting.dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
app/release/hpos-app.apk
Normal file
BIN
app/release/hpos-app.apk
Normal file
Binary file not shown.
@@ -4,34 +4,17 @@
|
|||||||
"type": "APK",
|
"type": "APK",
|
||||||
"kind": "Directory"
|
"kind": "Directory"
|
||||||
},
|
},
|
||||||
"applicationId": "in.sminnovations.hpostesting.dev",
|
"applicationId": "com.example.hpos",
|
||||||
"variantName": "release",
|
"variantName": "release",
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"type": "SINGLE",
|
"type": "SINGLE",
|
||||||
"filters": [],
|
"filters": [],
|
||||||
"attributes": [],
|
"attributes": [],
|
||||||
"versionCode": 128,
|
"versionCode": 1,
|
||||||
"versionName": "2.1.128",
|
"versionName": "1.0",
|
||||||
"outputFile": "app-release.apk"
|
"outputFile": "app-release.apk"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"elementType": "File",
|
"elementType": "File"
|
||||||
"baselineProfiles": [
|
|
||||||
{
|
|
||||||
"minApi": 28,
|
|
||||||
"maxApi": 30,
|
|
||||||
"baselineProfiles": [
|
|
||||||
"baselineProfiles/1/app-release.dm"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"minApi": 31,
|
|
||||||
"maxApi": 2147483647,
|
|
||||||
"baselineProfiles": [
|
|
||||||
"baselineProfiles/0/app-release.dm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"minSdkVersionForDexing": 21
|
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting
|
package com.example.hpostesting
|
||||||
|
|
||||||
import androidx.test.core.app.ActivityScenario
|
import androidx.test.core.app.ActivityScenario
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting
|
package com.example.hpostesting
|
||||||
|
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
<!--
|
|
||||||
~ // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
~ // Notice: All information contained herein is, and remains
|
|
||||||
~ // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
~ // if any. The intellectual and technical concepts contained
|
|
||||||
~ // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
~ // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
~ // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
~ // Dissemination of this information or reproduction of this material
|
|
||||||
~ // is strictly forbidden unless prior written permission is obtained
|
|
||||||
~ // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<vector android:height="24dp" android:tint="@color/primary"
|
<vector android:height="24dp" android:tint="@color/primary"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|||||||
@@ -2,13 +2,11 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<uses-permission
|
|
||||||
android:name="android.permission.AUTHENTICATE_ACCOUNTS"
|
|
||||||
android:maxSdkVersion="22" />
|
|
||||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||||
|
|
||||||
<uses-permission
|
<uses-permission
|
||||||
android:name="android.permission.BATTERY_STATS"
|
android:name="android.permission.BATTERY_STATS"
|
||||||
tools:ignore="ProtectedPermissions" />
|
tools:ignore="ProtectedPermissions" />
|
||||||
@@ -32,41 +30,13 @@
|
|||||||
android:fullBackupContent="@xml/backup_rules"
|
android:fullBackupContent="@xml/backup_rules"
|
||||||
android:icon="@mipmap/hpos_icon"
|
android:icon="@mipmap/hpos_icon"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:largeHeap="true"
|
|
||||||
android:roundIcon="@mipmap/hpos_icon_round"
|
android:roundIcon="@mipmap/hpos_icon_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.HPOSTesting"
|
android:theme="@style/Theme.HPOSTesting"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
<activity
|
|
||||||
android:name="com.example.hpostesting.presentation.dashboard.UpdateValuesActivity"
|
|
||||||
android:exported="false"
|
|
||||||
android:screenOrientation="portrait"/>
|
|
||||||
|
|
||||||
<service
|
|
||||||
android:name="com.example.hpostesting.util.MyAuthenticatorService"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.BIND_AUTOFILL_SERVICE">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.accounts.AccountAuthenticator" />
|
|
||||||
</intent-filter>
|
|
||||||
|
|
||||||
<meta-data
|
|
||||||
android:name="android.accounts.AccountAuthenticator"
|
|
||||||
android:resource="@xml/authenticator" />
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<activity
|
|
||||||
android:name="com.example.hpostesting.presentation.dashboard.ui.PasswordResetActivity"
|
|
||||||
android:exported="false"
|
|
||||||
android:screenOrientation="portrait" />
|
|
||||||
<activity
|
|
||||||
android:name="com.example.hpostesting.presentation.usb_teminal.UsbTerminalActivity"
|
|
||||||
android:exported="false"
|
|
||||||
android:screenOrientation="portrait" />
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.deviceinfo.DeviceActivity"
|
android:name="com.example.hpostesting.presentation.deviceinfo.DeviceActivity"
|
||||||
android:exported="false"
|
android:exported="false" />
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar" />
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.hemocube.DigitalCardActivity"
|
android:name="com.example.hpostesting.presentation.hemocube.DigitalCardActivity"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
@@ -74,18 +44,10 @@
|
|||||||
android:name="com.example.hpostesting.presentation.diagnostics.DiagnosticsActivity"
|
android:name="com.example.hpostesting.presentation.diagnostics.DiagnosticsActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar" />
|
android:theme="@style/Theme.HPOS.NoActionBar" />
|
||||||
<activity
|
|
||||||
android:name="com.example.hpostesting.presentation.hb_test.HBTestActivity"
|
|
||||||
android:exported="false"
|
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar" />
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.autodac.AutoDacActivity"
|
android:name="com.example.hpostesting.presentation.autodac.AutoDacActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar" />
|
android:theme="@style/Theme.HPOS.NoActionBar" />
|
||||||
<activity
|
|
||||||
android:name="com.example.hpostesting.presentation.jig.JigActivity"
|
|
||||||
android:exported="false"
|
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar" />
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.deviceprovision.DeviceProvisionActivity"
|
android:name="com.example.hpostesting.presentation.deviceprovision.DeviceProvisionActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
@@ -93,20 +55,21 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.calibration.CalibrationActivity"
|
android:name="com.example.hpostesting.presentation.calibration.CalibrationActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar" />
|
android:theme="@style/Theme.HPOS.NoActionBar"/>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.assurance.AssuranceControlsActivity"
|
android:name="com.example.hpostesting.presentation.assurance.AssuranceControlsActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:screenOrientation="portrait"
|
android:theme="@style/Theme.HPOS.NoActionBar"/>
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar" />
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.hemocube.HemocubeActivity"
|
android:name="com.example.hpostesting.presentation.hemocube.HemocubeActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:noHistory="true"
|
android:noHistory="true"
|
||||||
android:parentActivityName="com.example.hpostesting.presentation.MainActivity"
|
android:parentActivityName="com.example.hpostesting.presentation.MainActivity"
|
||||||
android:screenOrientation="portrait"
|
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar"
|
android:theme="@style/Theme.HPOS.NoActionBar"
|
||||||
android:windowSoftInputMode="adjustPan" />
|
android:windowSoftInputMode="adjustPan" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.trueheme.TrueHemeActivity"
|
android:name="com.example.hpostesting.presentation.trueheme.TrueHemeActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
@@ -114,6 +77,7 @@
|
|||||||
android:parentActivityName="com.example.hpostesting.presentation.MainActivity"
|
android:parentActivityName="com.example.hpostesting.presentation.MainActivity"
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar"
|
android:theme="@style/Theme.HPOS.NoActionBar"
|
||||||
android:windowSoftInputMode="adjustPan" />
|
android:windowSoftInputMode="adjustPan" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.buffercheck.HemocubeBufferCheckActivity"
|
android:name="com.example.hpostesting.presentation.buffercheck.HemocubeBufferCheckActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
@@ -130,22 +94,21 @@
|
|||||||
android:name="com.example.hpostesting.presentation.dashboard.DashboardActivity"
|
android:name="com.example.hpostesting.presentation.dashboard.DashboardActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:label="@string/title_activity_dashboard"
|
android:label="@string/title_activity_dashboard"
|
||||||
android:screenOrientation="portrait"
|
|
||||||
android:theme="@style/Theme.HPOS.NoActionBar"
|
android:theme="@style/Theme.HPOS.NoActionBar"
|
||||||
tools:ignore="AppLinkUrlError,MissingClass">
|
tools:ignore="AppLinkUrlError,MissingClass">
|
||||||
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
|
||||||
<data android:scheme="content" />
|
<data android:scheme="content" />
|
||||||
<data android:scheme="file" />
|
<data android:scheme="file" />
|
||||||
<data android:mimeType="application/vnd.android.package-archive" />
|
<data android:mimeType="application/vnd.android.package-archive" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
|
||||||
<service
|
<service
|
||||||
android:name="com.example.hpostesting.util.UsbService"
|
android:name="com.example.hpostesting.presentation.testRight.UsbService"
|
||||||
android:enabled="true"
|
android:enabled="true"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
|
||||||
@@ -157,14 +120,6 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.HOME" />
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
|
||||||
<category android:name="android.intent.category.MONKEY" />
|
|
||||||
<category android:name="android.intent.category.LAUNCHER_APP" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.intent.action.MAIN" />
|
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
@@ -188,7 +143,6 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.MainActivity"
|
android:name="com.example.hpostesting.presentation.MainActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:screenOrientation="portrait"
|
|
||||||
android:theme="@style/AppTheme.NoActionBar">
|
android:theme="@style/AppTheme.NoActionBar">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
|
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
|
||||||
@@ -202,16 +156,18 @@
|
|||||||
android:name="com.journeyapps.barcodescanner.CaptureActivity"
|
android:name="com.journeyapps.barcodescanner.CaptureActivity"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:stateNotNeeded="true"
|
android:stateNotNeeded="true"
|
||||||
tools:replace="android:screenOrientation" /> <!-- ${applicationId} -->
|
tools:replace="android:screenOrientation" />
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="androidx.core.content.FileProvider"
|
android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="${applicationId}.fileprovider"
|
android:authorities="com.example.hpostesting.fileprovider"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:grantUriPermissions="true">
|
android:grantUriPermissions="true">
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||||
android:resource="@xml/file_paths" />
|
android:resource="@xml/file_paths" />
|
||||||
</provider>
|
</provider>
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
@@ -1,14 +1 @@
|
|||||||
#
|
|
||||||
# // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
# // Notice: All information contained herein is, and remains
|
|
||||||
# // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
# // if any. The intellectual and technical concepts contained
|
|
||||||
# // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
# // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
# // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
# // Dissemination of this information or reproduction of this material
|
|
||||||
# // is strictly forbidden unless prior written permission is obtained
|
|
||||||
# // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
#
|
|
||||||
|
|
||||||
BASE_URL= https://datacollection.micropcr.com/api/
|
BASE_URL= https://datacollection.micropcr.com/api/
|
||||||
@@ -1,28 +1,20 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting
|
package com.example.hpostesting
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
|
import android.content.Context
|
||||||
|
import androidx.room.Room
|
||||||
|
import com.example.hpostesting.data.dao.MyDatabase
|
||||||
|
import com.google.android.datatransport.runtime.dagger.Provides
|
||||||
import com.google.firebase.firestore.FirebaseFirestore
|
import com.google.firebase.firestore.FirebaseFirestore
|
||||||
import com.google.firebase.firestore.FirebaseFirestoreSettings
|
import com.google.firebase.firestore.FirebaseFirestoreSettings
|
||||||
import dagger.hilt.android.HiltAndroidApp
|
import dagger.hilt.android.HiltAndroidApp
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.SupervisorJob
|
import kotlinx.coroutines.SupervisorJob
|
||||||
|
import javax.inject.Singleton
|
||||||
|
|
||||||
@HiltAndroidApp
|
@HiltAndroidApp
|
||||||
class HPOSTestingApplication : Application() {
|
class HPOSTestingApplication: Application() {
|
||||||
val applicationScope = CoroutineScope(SupervisorJob() + Dispatchers.IO)
|
val applicationScope = CoroutineScope(SupervisorJob() + Dispatchers.IO)
|
||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
|
|||||||
@@ -1,17 +1,4 @@
|
|||||||
/*
|
package com.example.hpostesting.data
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.util
|
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
@@ -1,17 +1,4 @@
|
|||||||
/*
|
package com.example.hpostesting.data
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.constant
|
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
||||||
@@ -21,14 +8,12 @@ import com.example.hpostesting.data.model.test.TestType
|
|||||||
|
|
||||||
object DataHolder {
|
object DataHolder {
|
||||||
|
|
||||||
var sampleId: String = "sampleId"
|
|
||||||
var selectedTestType: TestType = TestType.SICKLECERT
|
var selectedTestType: TestType = TestType.SICKLECERT
|
||||||
val usbConnected = MutableLiveData(true)
|
val usbConnected = MutableLiveData(true)
|
||||||
var mobileUniqueId: String? = null
|
var mobileUniqueId: String? = null
|
||||||
var isAppFolderCreated = false
|
var isAppFolderCreated = false
|
||||||
var appFolderPath = ""
|
var appFolderPath = ""
|
||||||
var isReferenceTaken = false
|
var isReferenceTaken = false
|
||||||
var isToken = false
|
|
||||||
var sampleReadCounter = 0
|
var sampleReadCounter = 0
|
||||||
|
|
||||||
var deviceConstant: TestRightDeviceConstants? = null
|
var deviceConstant: TestRightDeviceConstants? = null
|
||||||
@@ -38,14 +23,8 @@ object DataHolder {
|
|||||||
val intensityReferenceArray = ArrayList<Double>()
|
val intensityReferenceArray = ArrayList<Double>()
|
||||||
var selectedTest: UserData? = null
|
var selectedTest: UserData? = null
|
||||||
var hemoCubeTestData: HemoCubeTestData? = null
|
var hemoCubeTestData: HemoCubeTestData? = null
|
||||||
var bloodGroup: String = "Unknown"
|
|
||||||
var age = "0"
|
|
||||||
var kitSerial: String = ""
|
var kitSerial: String = ""
|
||||||
var centerName: String = ""
|
|
||||||
var district: String = ""
|
|
||||||
var quickCapture:Boolean = false
|
|
||||||
var location: UserData.Location? = null
|
var location: UserData.Location? = null
|
||||||
var ipAddress: String ="0.0"
|
|
||||||
var testExp: Boolean = true
|
var testExp: Boolean = true
|
||||||
var hemocubeResult: Double? = null
|
var hemocubeResult: Double? = null
|
||||||
}
|
}
|
||||||
@@ -1,17 +1,4 @@
|
|||||||
/*
|
package com.example.hpostesting.data
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.util
|
|
||||||
|
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -1,17 +1,4 @@
|
|||||||
/*
|
package com.example.hpostesting.data
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.util
|
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
7
app/src/main/java/com/example/hpostesting/data/Result.kt
Normal file
7
app/src/main/java/com/example/hpostesting/data/Result.kt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
package com.example.hpostesting.data
|
||||||
|
|
||||||
|
sealed class Result<out T : Any> {
|
||||||
|
data class Success<out T : Any>(val data: T) : Result<T>()
|
||||||
|
data class Error(val exception: Exception) : Result<Nothing>()
|
||||||
|
class Loading<T : Any> : Result<T>()
|
||||||
|
}
|
||||||
@@ -1,20 +1,5 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.api
|
package com.example.hpostesting.data.api
|
||||||
|
|
||||||
import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsRequest
|
|
||||||
import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsResponse
|
|
||||||
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest
|
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest
|
||||||
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionResponse
|
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionResponse
|
||||||
import com.example.hpostesting.data.model.login.LoginRequest
|
import com.example.hpostesting.data.model.login.LoginRequest
|
||||||
@@ -26,12 +11,11 @@ interface MolbioAuthApi {
|
|||||||
|
|
||||||
@POST("deviceManagement/device/provision")
|
@POST("deviceManagement/device/provision")
|
||||||
suspend fun deviceProvision(
|
suspend fun deviceProvision(
|
||||||
@Body deviceProvisionRequest: DeviceProvisionRequest,
|
@Body deviceProvisionRequest: DeviceProvisionRequest
|
||||||
): DeviceProvisionResponse
|
): DeviceProvisionResponse
|
||||||
|
|
||||||
@POST("deviceService/device/login")
|
@POST("deviceService/device/login")
|
||||||
suspend fun login(
|
suspend fun login(
|
||||||
@Body loginRequest: LoginRequest,
|
@Body loginRequest: LoginRequest
|
||||||
): LoginResponse
|
): LoginResponse
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,20 +1,5 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.api
|
package com.example.hpostesting.data.api
|
||||||
|
|
||||||
import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsRequest
|
|
||||||
import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsResponse
|
|
||||||
import com.example.hpostesting.data.model.log.UploadLogsResponse
|
import com.example.hpostesting.data.model.log.UploadLogsResponse
|
||||||
import com.example.hpostesting.data.model.molbioresult.MolbioV2ResultRequest
|
import com.example.hpostesting.data.model.molbioresult.MolbioV2ResultRequest
|
||||||
import com.example.hpostesting.data.model.molbioresult.MolbioV2ResultResponse
|
import com.example.hpostesting.data.model.molbioresult.MolbioV2ResultResponse
|
||||||
@@ -23,9 +8,7 @@ import com.example.hpostesting.data.model.updates.CheckUpdateResponse
|
|||||||
import com.example.hpostesting.data.model.updates.DeviceUpdateRequest
|
import com.example.hpostesting.data.model.updates.DeviceUpdateRequest
|
||||||
import okhttp3.MultipartBody
|
import okhttp3.MultipartBody
|
||||||
import okhttp3.ResponseBody
|
import okhttp3.ResponseBody
|
||||||
import retrofit2.Response
|
|
||||||
import retrofit2.http.Body
|
import retrofit2.http.Body
|
||||||
import retrofit2.http.GET
|
|
||||||
import retrofit2.http.Multipart
|
import retrofit2.http.Multipart
|
||||||
import retrofit2.http.POST
|
import retrofit2.http.POST
|
||||||
import retrofit2.http.PUT
|
import retrofit2.http.PUT
|
||||||
@@ -35,36 +18,22 @@ interface MolbioResultApi {
|
|||||||
|
|
||||||
@PUT("deviceService/results/HPOS")
|
@PUT("deviceService/results/HPOS")
|
||||||
suspend fun uploadResults(
|
suspend fun uploadResults(
|
||||||
@Body molbioV2ResultRequest: MolbioV2ResultRequest,
|
@Body molbioV2ResultRequest: MolbioV2ResultRequest
|
||||||
): MolbioV2ResultResponse
|
): MolbioV2ResultResponse
|
||||||
|
|
||||||
@POST("deviceService/device/checkUpdate")
|
@POST("deviceService/device/checkUpdate")
|
||||||
suspend fun checkUpdate(
|
suspend fun checkUpdate(
|
||||||
@Body checkUpdateRequest: CheckUpdateRequest,
|
@Body checkUpdateRequest: CheckUpdateRequest
|
||||||
): CheckUpdateResponse
|
): CheckUpdateResponse
|
||||||
|
|
||||||
// @POST("deviceService/device/getUpdate")
|
|
||||||
// suspend fun deviceUpdate(
|
|
||||||
// @Body deviceUpdateRequest: DeviceUpdateRequest,
|
|
||||||
// ): ResponseBody
|
|
||||||
@POST("deviceService/device/getUpdate")
|
@POST("deviceService/device/getUpdate")
|
||||||
suspend fun deviceUpdate(
|
suspend fun deviceUpdate(
|
||||||
@Body deviceUpdateRequest: DeviceUpdateRequest,
|
@Body deviceUpdateRequest: DeviceUpdateRequest
|
||||||
): Response<ResponseBody>
|
|
||||||
|
|
||||||
@GET("deviceService/device/getClientCertificate")
|
|
||||||
suspend fun downloadClientCertificate(
|
|
||||||
): ResponseBody
|
): ResponseBody
|
||||||
|
|
||||||
@Multipart
|
@Multipart
|
||||||
@POST("deviceService/device/uploadLogs")
|
@POST("deviceService/device/uploadLogs")
|
||||||
suspend fun uploadLogs(
|
suspend fun uploadLogs(
|
||||||
@Part logFile: MultipartBody.Part,
|
@Part logFile: MultipartBody.Part
|
||||||
): UploadLogsResponse
|
): UploadLogsResponse
|
||||||
|
|
||||||
|
|
||||||
@PUT("deviceService/device/uploadDeviceDiagnostics")
|
|
||||||
suspend fun deviceDiagnostics(
|
|
||||||
@Body deviceDiagnosticsRequest: DeviceDiagnosticsRequest
|
|
||||||
): DeviceDiagnosticsResponse
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package com.example.hpostesting.data.api
|
||||||
|
|
||||||
|
interface PropertyProvider {
|
||||||
|
|
||||||
|
fun getProperty(key: String): String
|
||||||
|
}
|
||||||
@@ -1,35 +1,14 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.constant
|
package com.example.hpostesting.data.constant
|
||||||
|
|
||||||
object Constants {
|
object Constants {
|
||||||
const val CENTER_NAME =""
|
|
||||||
const val DISTRICT =""
|
|
||||||
const val BUFFER_FLAGS_ENABLED = true//testing flag disable then pass buffer and sample checks
|
|
||||||
const val ABS_FLAGS_ENABLED = false
|
|
||||||
const val IP_ADDRESS="ip_address"
|
|
||||||
const val QUICK_CAPTURE="quick_capture"
|
|
||||||
const val KIT_TIME = "kit_time"
|
|
||||||
const val ACTION_USB_PERMISSION = "shanmukha.in.sickle_cell.USB_PERMISSION"
|
const val ACTION_USB_PERMISSION = "shanmukha.in.sickle_cell.USB_PERMISSION"
|
||||||
const val HEMOCUBE_USB_PERMISSION = "shanmukha.in.sickle_cell_homocube.USB_PERMISSION"
|
const val HOMOCUBE_USB_PERMISSION = "shanmukha.in.sickle_cell_homocube.USB_PERMISSION"
|
||||||
const val passphrase = "smi_#@sql"
|
|
||||||
const val BASE_URL = "www.google.com"
|
const val BASE_URL = "www.google.com"
|
||||||
const val DOCUMENT_ID_FOR_UPDATE ="2o71vBKLqdgEKYtFG8Lb"
|
|
||||||
const val ABHA_APP_PACKAGE = "in.ndhm.phr"
|
const val ABHA_APP_PACKAGE = "in.ndhm.phr"
|
||||||
|
|
||||||
const val MOLBIO_INTEGRATION = false
|
const val MOLBIO_INTERGATION = false
|
||||||
const val FIREBASE_INTEGRATION = true
|
|
||||||
const val deviceProvisionEmail = "HPOS_provisioner@bigtec.co.in"
|
const val deviceProvisionEmail = "HPOS_provisioner@bigtec.co.in"
|
||||||
const val deviceProvisionPassword = "f2ab0e7f9d69"
|
const val deviceProvisionPassword = "f2ab0e7f9d69"
|
||||||
const val DEVICE_ID_API = "deviceIDAPI"
|
const val DEVICE_ID_API = "deviceIDAPI"
|
||||||
@@ -45,8 +24,7 @@ object Constants {
|
|||||||
|
|
||||||
const val TEST_RIGHT_TOTAL_PIXEL = 3694
|
const val TEST_RIGHT_TOTAL_PIXEL = 3694
|
||||||
|
|
||||||
const val MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE = 34
|
const val MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE = 40
|
||||||
const val MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE10MM = 9
|
|
||||||
|
|
||||||
const val RANGE_IN_RESULT_CALCULATIONS = 10
|
const val RANGE_IN_RESULT_CALCULATIONS = 10
|
||||||
|
|
||||||
@@ -77,42 +55,146 @@ object Constants {
|
|||||||
const val USER_ID = "usernameId"
|
const val USER_ID = "usernameId"
|
||||||
|
|
||||||
const val QUICK_CAPTURE_SOLUTION = "SOLUTION"
|
const val QUICK_CAPTURE_SOLUTION = "SOLUTION"
|
||||||
const val QUICK_CAPTURE_FOR_ADMIN = "ADMIN"
|
|
||||||
const val QUICK_CAPTURE_CONCENTRATION = "CONCENTRATION"
|
const val QUICK_CAPTURE_CONCENTRATION = "CONCENTRATION"
|
||||||
const val QUICK_CAPTURE_VOLUME = "VOLUME"
|
const val QUICK_CAPTURE_VOLUME = "VOLUME"
|
||||||
const val QUICK_CAPTURE_READING_PER_SAMPLE = "READING_PER_SAMPLE"
|
const val QUICK_CAPTURE_READING_PER_SAMPLE = "READING_PER_SAMPLE"
|
||||||
|
|
||||||
const val BLANK_EVERY_TEST = false
|
const val BLANK_EVERY_TEST = false
|
||||||
|
|
||||||
// jig
|
val STATICID = listOf(
|
||||||
const val NAVIGATE_TO_TEST_JIG_DIRECTLY = false
|
"FACTORY",
|
||||||
|
"ADMIN",
|
||||||
|
"VIZ-1000-0004",
|
||||||
|
"VIZ-1000-0005",
|
||||||
|
"VIZ-1000-0006",
|
||||||
|
"HC-V1-001",
|
||||||
|
"HC-V1-002",
|
||||||
|
"HC-V1-003",
|
||||||
|
"HC-V1-004",
|
||||||
|
"HC-V1-005",
|
||||||
|
"HC-V1-006",
|
||||||
|
"HC-V1-007",
|
||||||
|
"HC-V1-008",
|
||||||
|
"HC-V1-009",
|
||||||
|
"HC-V1-010",
|
||||||
|
"HC-V1-011",
|
||||||
|
"HC-V1-012",
|
||||||
|
"HC-V1-013",
|
||||||
|
"HC-V1-014",
|
||||||
|
"HC-V1-015",
|
||||||
|
"HC-V1-016",
|
||||||
|
"HC-V1-017",
|
||||||
|
"HC-V1-018",
|
||||||
|
"HC-V1-019",
|
||||||
|
"HC-V1-020",
|
||||||
|
"HCV-000-1015",
|
||||||
|
"HCV-000-3002",
|
||||||
|
"HCV-000-3003",
|
||||||
|
"HCV-000-3004",
|
||||||
|
"HCV-000-3005",
|
||||||
|
"HCV-000-3006",
|
||||||
|
"HCV-000-3007",
|
||||||
|
"HCV-000-3008",
|
||||||
|
"HCV-000-3009",
|
||||||
|
"HCV-000-3010",
|
||||||
|
"HCV-000-3011",
|
||||||
|
"HCV-000-3012",
|
||||||
|
"HCV-000-3013",
|
||||||
|
"HCV-000-3014",
|
||||||
|
"HCV-000-3015",
|
||||||
|
"HCV-000-3016",
|
||||||
|
"HCV-000-3017",
|
||||||
|
"HCV-000-3018",
|
||||||
|
"HCV-000-3019",
|
||||||
|
"HCV-000-3020",
|
||||||
|
"HCV-000-3021",
|
||||||
|
"HCV-000-3022",
|
||||||
|
"HCV-000-3023",
|
||||||
|
"HCV-000-3024",
|
||||||
|
"HCV-000-3025",
|
||||||
|
"HCV-000-3026",
|
||||||
|
"HCV-000-3027",
|
||||||
|
"HCV-000-3028",
|
||||||
|
"HCV-000-3029",
|
||||||
|
"HCV-000-3030",
|
||||||
|
"HPP1-0124-0001",
|
||||||
|
"HPP1-0124-0002",
|
||||||
|
"HPP1-0124-0003",
|
||||||
|
"HPP1-0124-0004",
|
||||||
|
"HPP1-0124-0005",
|
||||||
|
"HPP1-0124-0006",
|
||||||
|
"HPP1-0124-0007",
|
||||||
|
"HPP1-0124-0008",
|
||||||
|
"HPP1-0124-0009",
|
||||||
|
"HPP1-0124-0010",
|
||||||
|
"HPP1-0124-0011",
|
||||||
|
"HPP1-0124-0012",
|
||||||
|
"HPP1-0124-0013",
|
||||||
|
"HPP1-0124-0014",
|
||||||
|
"HPP1-0124-0015",
|
||||||
|
"HPP1-0124-0016",
|
||||||
|
"HPP1-0124-0017",
|
||||||
|
"HPP1-0124-0018",
|
||||||
|
"HPP1-0124-0019",
|
||||||
|
"HPP1-0124-0020",
|
||||||
|
"HPP1-0124-0021",
|
||||||
|
"HPP1-0124-0022",
|
||||||
|
"HPP1-0124-0023",
|
||||||
|
"HPP1-0124-0024",
|
||||||
|
"HPP1-0124-0025",
|
||||||
|
"HPP1-0124-0026",
|
||||||
|
"HPP1-0124-0027",
|
||||||
|
"HPP1-0124-0028",
|
||||||
|
"HPP1-0124-0029",
|
||||||
|
"HPP1-0124-0030",
|
||||||
|
"HPP1-0124-0031",
|
||||||
|
"HPP1-0124-0032",
|
||||||
|
"HPP1-0124-0033",
|
||||||
|
"HPP1-0124-0034",
|
||||||
|
"HPP1-0124-0035",
|
||||||
|
"HPP1-0124-0036",
|
||||||
|
"HPP1-0124-0037",
|
||||||
|
"HPP1-0124-0038",
|
||||||
|
"HPP1-0124-0039",
|
||||||
|
"HPP1-0124-0040",
|
||||||
|
"HPP1-0124-0041",
|
||||||
|
"HPP1-0124-0042",
|
||||||
|
"HPP1-0124-0043",
|
||||||
|
"HPP1-0124-0044",
|
||||||
|
"HPP1-0124-0045",
|
||||||
|
"HPP1-0124-0046",
|
||||||
|
"HPP1-0124-0047",
|
||||||
|
"HPP1-0124-0048",
|
||||||
|
"HPP1-0124-0049",
|
||||||
|
"HPP1-0124-0050",
|
||||||
|
)
|
||||||
|
|
||||||
//update values of abs
|
const val password = "SMI@12345"
|
||||||
const val ABS2LED1MMLL = "ABS2LED1MMLL"
|
|
||||||
const val ABS2LED1MMUL = "ABS2LED1MMUL"
|
|
||||||
const val ABS2LED2MMLL = "ABS2LED2MMLL"
|
|
||||||
const val ABS2LED2MMUL = "ABS2LED2MMUL"
|
|
||||||
|
|
||||||
const val ABS10LED1MMLL = "ABS10LED1MMLL"
|
|
||||||
const val ABS10LED1MMUL = "ABS10LED1MMUL"
|
|
||||||
const val ABS10LED2MMLL = "ABS10LED2MMLL"
|
|
||||||
const val ABS10LED2MMUL = "ABS10LED2MMUL"
|
|
||||||
|
|
||||||
const val KIT_NUMBER = "KitNumber"
|
const val KIT_NUMBER = "KitNumber"
|
||||||
const val KIT_COUNT = "KitCount"
|
const val KIT_COUNT = "KitCount"
|
||||||
const val KIT_CAPACITY = Int.MAX_VALUE // Enforceable
|
|
||||||
const val BUFFER_VALUE_1 = "BufferValue1"
|
const val BUFFER_VALUE_1 = "BufferValue1"
|
||||||
const val BUFFER_VALUE_2 = "BufferValue2"
|
const val BUFFER_VALUE_2 = "BufferValue2"
|
||||||
const val BUFFER_VALUE_3 = "BufferValue3"
|
const val BUFFER_VALUE_3 = "BufferValue3"
|
||||||
const val BUFFER_VALUE_4 = "BufferValue4"
|
const val BUFFER_VALUE_4 = "BufferValue4"
|
||||||
const val DEVICE_ID = "DEVICE_ID"
|
const val DEVICE_ID = "DEVICE_ID"
|
||||||
const val LABNAME = "LAB_NAME"
|
|
||||||
const val CUVETTE_SIZE = "CUVETTE_SIZE"
|
|
||||||
const val LAST_UPDATED = "LAST_UPDATED"
|
|
||||||
const val IS_TOKEN_AVAILABLE = "IS_TOKEN_AVAILABLE"
|
|
||||||
const val BUFFER_LED_LOWER_BOUND = 21000
|
const val BUFFER_LED_LOWER_BOUND = 21000
|
||||||
const val BUFFER_LED_UPPER_BOUND = 23500
|
const val BUFFER_LED_UPPER_BOUND = 23500
|
||||||
|
|
||||||
|
const val TEST_STATUS_CODE_TEST_STARTED = 1.0
|
||||||
|
const val TEST_STATUS_CODE_CONFIG_STARTED = 2.0
|
||||||
|
const val TEST_STATUS_CODE_CONFIG_COMPLETED = 3.0
|
||||||
|
const val TEST_STATUS_CODE_BUFFER_STARTED = 4.0
|
||||||
|
const val TEST_STATUS_CODE_BUFFER_COMPLETED = 5.0
|
||||||
|
const val TEST_STATUS_CODE_BUFFER_PRINT_STARTED = 6.0
|
||||||
|
const val TEST_STATUS_CODE_BUFFER_PRINT_COMPLETED = 7.0
|
||||||
|
const val TEST_STATUS_CODE_SAMPLE_STARTED = 8.0
|
||||||
|
const val TEST_STATUS_CODE_SAMPLE_COMPLETED = 9.0
|
||||||
|
const val TEST_STATUS_CODE_SAMPLE_PRINT_STARTED = 10.0
|
||||||
|
const val TEST_STATUS_CODE_SAMPLE_PRINT_COMPLETED = 11.0
|
||||||
|
const val TEST_STATUS_CODE_TEST_COMPLETED = 12.0
|
||||||
|
|
||||||
val DEVICE_CONFIGURATION: Map<String, List<List<Double>>> = mapOf<String, List<List<Double>>>(
|
val DEVICE_CONFIGURATION: Map<String, List<List<Double>>> = mapOf<String, List<List<Double>>>(
|
||||||
"HCV-000-3001" to listOf(
|
"HCV-000-3001" to listOf(
|
||||||
listOf(1.0, 0.0), // LED1, 435nm
|
listOf(1.0, 0.0), // LED1, 435nm
|
||||||
@@ -1086,8 +1168,7 @@ object Constants {
|
|||||||
)
|
)
|
||||||
|
|
||||||
const val INCUBATION_TIME_MIN = 0
|
const val INCUBATION_TIME_MIN = 0
|
||||||
const val INCUBATION_TIME_MAX = 300
|
const val INCUBATION_TIME_MAX = 1400
|
||||||
const val MAX_KIT_TIME = 240
|
|
||||||
const val BATTERY_LEVEL_MIN = Int.MIN_VALUE
|
const val BATTERY_LEVEL_MIN = Int.MIN_VALUE
|
||||||
|
|
||||||
const val PQ_MODE = true
|
const val PQ_MODE = true
|
||||||
@@ -1578,227 +1659,12 @@ object Constants {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
val COEFFICIENTS: Map<String, List<List<Double>>> = mapOf(
|
val COEFFICIENTS: Map<String, List<List<Double>>> = mapOf(
|
||||||
"HC-V1-005" to listOf(
|
"HC-V1-005" to listOf(
|
||||||
listOf(1.5, 0.0),
|
listOf(1.5,0.0),
|
||||||
listOf(0.0, 0.0)
|
listOf(0.0,0.0)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
//Hemocube for 10mm
|
|
||||||
const val positiveBoderLine10mm1 = 1.3
|
|
||||||
const val positiveBoderLine10mm2 = 1.66
|
|
||||||
const val negativeBoderLine10mm1 = 2.0
|
|
||||||
const val negativeBoderLine10mm2 = 2.4
|
|
||||||
const val normalMin10mm = 0.07
|
|
||||||
const val normalMax10mm = 0.23
|
|
||||||
const val negativeBorderlineMin10mm = 0.23
|
|
||||||
const val negativeBorderlineMax10mm = 0.27
|
|
||||||
const val sickleCellTraitMin10mm = 0.27
|
|
||||||
const val sickleCellTraitMax10mm = 0.31
|
|
||||||
const val positiveForSickleCellMin10mm = 0.31
|
|
||||||
const val positiveForSickleCellMax10mm = 0.39
|
|
||||||
const val sickleCellDiseaseMin10mm = 0.39
|
|
||||||
const val sickleCellDiseaseMax10mm = 0.7
|
|
||||||
//Hemocube for 2mm
|
|
||||||
const val positiveBoderLine2mm1 = 0.8
|
|
||||||
const val positiveBoderLine2mm2 = 1.1
|
|
||||||
const val negativeBoderLine2mm1 = 1.5
|
|
||||||
const val negativeBoderLine2mm2 = 1.9
|
|
||||||
const val normalMin2mm = 0.1
|
|
||||||
const val normalMax2mm = 0.23
|
|
||||||
const val negativeBorderlineMin2mm = 0.23
|
|
||||||
const val negativeBorderlineMax2mm = 0.25
|
|
||||||
const val sickleCellTraitMin2mm = 0.25
|
|
||||||
const val sickleCellTraitMax2mm = 0.31
|
|
||||||
const val positiveForSickleCellMin2mm = 0.31
|
|
||||||
const val positiveForSickleCellMax2mm = 0.45
|
|
||||||
const val sickleCellDiseaseMin2mm = 0.45
|
|
||||||
const val sickleCellDiseaseMax2mm = 0.7
|
|
||||||
|
|
||||||
const val min2mmLed1 = 0.34
|
|
||||||
const val max2mmLed1 = 1.48
|
|
||||||
const val min2mmLed2 = 0.04
|
|
||||||
const val max2mmLed2 = 0.33
|
|
||||||
const val min10mmLed1 = 0.22
|
|
||||||
const val max10mmLed1 = 1.12
|
|
||||||
const val min10mmLed2 = 0.05
|
|
||||||
const val max10mmLed2 = 0.41
|
|
||||||
|
|
||||||
const val bufferMinLed1 = 21000.00
|
|
||||||
const val bufferMaxLed1 = 23000.00
|
|
||||||
const val bufferMinLed2 = 17000.00
|
|
||||||
const val bufferMaxLed2 = 19000.00
|
|
||||||
|
|
||||||
|
|
||||||
// val STATICID = listOf(
|
|
||||||
// "FACTORY",
|
|
||||||
// "ADMIN",
|
|
||||||
// "PQUSER",
|
|
||||||
// "QCUSER",
|
|
||||||
// "VIZ-1000-0004",
|
|
||||||
// "VIZ-1000-0005",
|
|
||||||
// "VIZ-1000-0006",
|
|
||||||
// "HC-V1-001",
|
|
||||||
// "HC-V1-002",
|
|
||||||
// "HC-V1-003",
|
|
||||||
// "HC-V1-004",
|
|
||||||
// "HC-V1-005",
|
|
||||||
// "HC-V1-006",
|
|
||||||
// "HC-V1-007",
|
|
||||||
// "HC-V1-008",
|
|
||||||
// "HC-V1-009",
|
|
||||||
// "HC-V1-010",
|
|
||||||
// "HC-V1-011",
|
|
||||||
// "HC-V1-012",
|
|
||||||
// "HC-V1-013",
|
|
||||||
// "HC-V1-014",
|
|
||||||
// "HC-V1-015",
|
|
||||||
// "HC-V1-016",
|
|
||||||
// "HC-V1-017",
|
|
||||||
// "HC-V1-018",
|
|
||||||
// "HC-V1-019",
|
|
||||||
// "HC-V1-020",
|
|
||||||
// "HCV-000-1015",
|
|
||||||
// "HCV-000-3002",
|
|
||||||
// "HCV-000-3003",
|
|
||||||
// "HCV-000-3004",
|
|
||||||
// "HCV-000-3005",
|
|
||||||
// "HCV-000-3006",
|
|
||||||
// "HCV-000-3007",
|
|
||||||
// "HCV-000-3008",
|
|
||||||
// "HCV-000-3009",
|
|
||||||
// "HCV-000-3010",
|
|
||||||
// "HCV-000-3011",
|
|
||||||
// "HCV-000-3012",
|
|
||||||
// "HCV-000-3013",
|
|
||||||
// "HCV-000-3014",
|
|
||||||
// "HCV-000-3015",
|
|
||||||
// "HCV-000-3016",
|
|
||||||
// "HCV-000-3017",
|
|
||||||
// "HCV-000-3018",
|
|
||||||
// "HCV-000-3019",
|
|
||||||
// "HCV-000-3020",
|
|
||||||
// "HCV-000-3021",
|
|
||||||
// "HCV-000-3022",
|
|
||||||
// "HCV-000-3023",
|
|
||||||
// "HCV-000-3024",
|
|
||||||
// "HCV-000-3025",
|
|
||||||
// "HCV-000-3026",
|
|
||||||
// "HCV-000-3027",
|
|
||||||
// "HCV-000-3028",
|
|
||||||
// "HCV-000-3029",
|
|
||||||
// "HCV-000-3030",
|
|
||||||
// "HPP1-0124-0001",
|
|
||||||
// "HPP1-0124-0002",
|
|
||||||
// "HPP1-0124-0003",
|
|
||||||
// "HPP1-0124-0004",
|
|
||||||
// "HPP1-0124-0005",
|
|
||||||
// "HPP1-0124-0006",
|
|
||||||
// "HPP1-0124-0007",
|
|
||||||
// "HPP1-0124-0008",
|
|
||||||
// "HPP1-0124-0009",
|
|
||||||
// "HPP1-0124-0010",
|
|
||||||
// "HPP1-0124-0011",
|
|
||||||
// "HPP1-0124-0012",
|
|
||||||
// "HPP1-0124-0013",
|
|
||||||
// "HPP1-0124-0014",
|
|
||||||
// "HPP1-0124-0015",
|
|
||||||
// "HPP1-0124-0016",
|
|
||||||
// "HPP1-0124-0017",
|
|
||||||
// "HPP1-0124-0018",
|
|
||||||
// "HPP1-0124-0019",
|
|
||||||
// "HPP1-0124-0020",
|
|
||||||
// "HPP1-0124-0021",
|
|
||||||
// "HPP1-0124-0022",
|
|
||||||
// "HPP1-0124-0023",
|
|
||||||
// "HPP1-0124-0024",
|
|
||||||
// "HPP1-0124-0025",
|
|
||||||
// "HPP1-0124-0026",
|
|
||||||
// "HPP1-0124-0027",
|
|
||||||
// "HPP1-0124-0028",
|
|
||||||
// "HPP1-0124-0029",
|
|
||||||
// "HPP1-0124-0030",
|
|
||||||
// "HPP1-0124-0031",
|
|
||||||
// "HPP1-0124-0032",
|
|
||||||
// "HPP1-0124-0033",
|
|
||||||
// "HPP1-0124-0034",
|
|
||||||
// "HPP1-0124-0035",
|
|
||||||
// "HPP1-0124-0036",
|
|
||||||
// "HPP1-0124-0037",
|
|
||||||
// "HPP1-0124-0038",
|
|
||||||
// "HPP1-0124-0039",
|
|
||||||
// "HPP1-0124-0040",
|
|
||||||
// "HPP1-0124-0041",
|
|
||||||
// "HPP1-0124-0042",
|
|
||||||
// "HPP1-0124-0043",
|
|
||||||
// "HPP1-0124-0044",
|
|
||||||
// "HPP1-0124-0045",
|
|
||||||
// "HPP1-0124-0046",
|
|
||||||
// "HPP1-0124-0047",
|
|
||||||
// "HPP1-0124-0048",
|
|
||||||
// "HPP1-0124-0049",
|
|
||||||
// "HPP1-0124-0050",
|
|
||||||
// "HCV-001-0001",
|
|
||||||
// "HCV-001-0002",
|
|
||||||
// "HCV-001-0003",
|
|
||||||
// "HCV-001-0004",
|
|
||||||
// "HCV-001-0005",
|
|
||||||
// "HCV-001-0006",
|
|
||||||
// "HCV-001-0007",
|
|
||||||
// "HCV-001-0008",
|
|
||||||
// "HCV-001-0009",
|
|
||||||
// "HCV-001-0010",
|
|
||||||
// "HCV-001-0011",
|
|
||||||
// "HCV-001-0012",
|
|
||||||
// "HCV-001-0013",
|
|
||||||
// "HCV-001-0014",
|
|
||||||
// "HCV-001-0015",
|
|
||||||
// "HCV-001-0016",
|
|
||||||
// "HCV-001-0017",
|
|
||||||
// "HCV-001-0018",
|
|
||||||
// "HCV-001-0019",
|
|
||||||
// "HCV-001-0020",
|
|
||||||
// "HCV-001-0021",
|
|
||||||
// "HCV-001-0022",
|
|
||||||
// "HCV-001-0023",
|
|
||||||
// "HCV-001-0024",
|
|
||||||
// "HCV-001-0025",
|
|
||||||
// "HCV-001-0026",
|
|
||||||
// "HCV-001-0027",
|
|
||||||
// "HCV-001-0028",
|
|
||||||
// "HCV-001-0029",
|
|
||||||
// "HCV-001-0030",
|
|
||||||
// "HCV-001-0031",
|
|
||||||
// "HCV-001-0032",
|
|
||||||
// "HCV-001-0033",
|
|
||||||
// "HCV-001-0034",
|
|
||||||
// "HCV-001-0003",
|
|
||||||
// "HCV-001-0035",
|
|
||||||
// "HCV-001-0036",
|
|
||||||
// "HCV-001-0037",
|
|
||||||
// "HCV-001-0038",
|
|
||||||
// "HCV-001-0039",
|
|
||||||
// "HCV-001-0040",
|
|
||||||
// "HCV-001-0041",
|
|
||||||
// "HCV-001-0042",
|
|
||||||
// "HCV-001-0043",
|
|
||||||
// "HCV-001-0044",
|
|
||||||
// "HCV-001-0045",
|
|
||||||
// "HCV-001-0046",
|
|
||||||
// "HCV-001-0047",
|
|
||||||
// "HCV-001-0048",
|
|
||||||
// "HCV-001-0049",
|
|
||||||
// "HCV-001-0050",
|
|
||||||
// "HCV-000-6001",
|
|
||||||
// "HCV-000-6002",
|
|
||||||
// "HCV-000-6003",
|
|
||||||
// "HCV-000-6004",
|
|
||||||
// "HCV-000-6005",
|
|
||||||
// "HCV-000-6006",
|
|
||||||
// "HCV-000-6007",
|
|
||||||
// "HCV-000-6008",
|
|
||||||
// "HCV-000-6009",
|
|
||||||
// "HCV-000-6010",
|
|
||||||
// )
|
|
||||||
//
|
|
||||||
}
|
}
|
||||||
@@ -1,34 +1,16 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.constant
|
package com.example.hpostesting.data.constant
|
||||||
|
|
||||||
enum class HemoCubeCommands(val command: String) {
|
enum class HemoCubeCommands(val command: String) {
|
||||||
START_BUFFER_COMMAND("B\r"),
|
START_BUFFER_COMMAND("B\r"),
|
||||||
AUTO_DAC_COMMAND("C\r"),
|
AUTO_DAC_COMMAND("C\r"),
|
||||||
SET_AUTO_DAC_TO_EPROM_COMMAND("G\r"),
|
|
||||||
DIAGNOSTICS_COMMAND("D\r"),
|
DIAGNOSTICS_COMMAND("D\r"),
|
||||||
FIRMWARE_INFO_COMMAND("F\r"),
|
FIRMWARE_INFO_COMMAND("F\r"),
|
||||||
START_SAMPLE("S\r"),
|
START_SAMPLE("S\r"),
|
||||||
PRINT_COMMAND("P\r"),
|
PRINT_COMMAND("P\r"),
|
||||||
READ_DAC_COMMAND("R\r"),
|
READ_DAC_COMMAND("R\r"),
|
||||||
DEVICE_CONFIGURATION_COMMAND("I\r"),
|
DEVICE_CONFIGURATION_COMMAND("I\r"),
|
||||||
LOAD_DAC_VALUES("E\r"),
|
|
||||||
FIRST_GAIN_COMMAND("T\r"),
|
FIRST_GAIN_COMMAND("T\r"),
|
||||||
SECOND_GAIN_COMMAND("U\r"),
|
SECOND_GAIN_COMMAND("U\r"),
|
||||||
THIRD_GAIN_COMMAND("V\r"),
|
THIRD_GAIN_COMMAND("V\r"),
|
||||||
FORTH_GAIN_COMMAND("W\r"),
|
FORTH_GAIN_COMMAND("W\r"),
|
||||||
CHECK_CUVETTE_COMMAND("L\r"),
|
|
||||||
CHECK_TEMP_COMMAND("A\r"),
|
|
||||||
J_COMMAND("J\r"),
|
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.constant
|
package com.example.hpostesting.data.constant
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -32,14 +19,12 @@ object LanguageManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun persistLanguagePreference(context: Context, languageCode: String) {
|
fun persistLanguagePreference(context: Context, languageCode: String) {
|
||||||
val prefs: SharedPreferences =
|
val prefs: SharedPreferences = context.getSharedPreferences("AppPrefs", Context.MODE_PRIVATE)
|
||||||
context.getSharedPreferences("AppPrefs", Context.MODE_PRIVATE)
|
|
||||||
prefs.edit().putString(LANGUAGE_PREF_KEY, languageCode).apply()
|
prefs.edit().putString(LANGUAGE_PREF_KEY, languageCode).apply()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getSavedLanguage(context: Context): String {
|
fun getSavedLanguage(context: Context): String {
|
||||||
val prefs: SharedPreferences =
|
val prefs: SharedPreferences = context.getSharedPreferences("AppPrefs", Context.MODE_PRIVATE)
|
||||||
context.getSharedPreferences("AppPrefs", Context.MODE_PRIVATE)
|
|
||||||
return prefs.getString(LANGUAGE_PREF_KEY, "en") ?: "en"
|
return prefs.getString(LANGUAGE_PREF_KEY, "en") ?: "en"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.constant
|
package com.example.hpostesting.data.constant
|
||||||
|
|
||||||
enum class TestRightCommands(val command: String) {
|
enum class TestRightCommands(val command: String) {
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.constant
|
package com.example.hpostesting.data.constant
|
||||||
|
|
||||||
enum class TestStatus(val code: Double) {
|
enum class TestStatus(val code: Double) {
|
||||||
@@ -21,22 +8,11 @@ enum class TestStatus(val code: Double) {
|
|||||||
FIRST_EMPTY_AIR_READING_COMPLETED(4.2),
|
FIRST_EMPTY_AIR_READING_COMPLETED(4.2),
|
||||||
FIRST_EMPTY_AIR_READING_PRINT_STARTED(4.3),
|
FIRST_EMPTY_AIR_READING_PRINT_STARTED(4.3),
|
||||||
FIRST_EMPTY_AIR_READING_PRINT_COMPLETED(4.4),
|
FIRST_EMPTY_AIR_READING_PRINT_COMPLETED(4.4),
|
||||||
EPROM_ADC_RETRIEVAL_STARTED(4.5),
|
BUFFER_STARTED(4.0),
|
||||||
EPROM_ADC_RETRIEVAL_COMPLETED(4.6),
|
BUFFER_COMPLETED(5.0),
|
||||||
TEMPERATURE_CHECK(4.7),
|
|
||||||
CUVETTE_ABSENT(4.8),
|
|
||||||
CUVETTE_PRESENT(4.9),
|
|
||||||
CUVETTE_ABSENTR(5.1),
|
|
||||||
CUVETTE_PRESENTR(5.2),
|
|
||||||
CUVETTE_ABSENTS(7.7),
|
|
||||||
CUVETTE_PRESENTS(7.8),
|
|
||||||
BUFFER_STARTED(5.4),
|
|
||||||
BUFFER_COMPLETED(5.5),
|
|
||||||
BUFFER_PRINT_STARTED(6.0),
|
BUFFER_PRINT_STARTED(6.0),
|
||||||
BUFFER_PRINT_COMPLETED(7.0),
|
BUFFER_PRINT_COMPLETED(7.0),
|
||||||
SAMPLE_STARTED(8.0),
|
SAMPLE_STARTED(8.0),
|
||||||
CUVETTE_ABSENTT(30.2),
|
|
||||||
CUVETTE_PRESENTT(30.1),
|
|
||||||
SAMPLE_COMPLETED(9.0),
|
SAMPLE_COMPLETED(9.0),
|
||||||
SAMPLE_PRINT_STARTED(10.0),
|
SAMPLE_PRINT_STARTED(10.0),
|
||||||
SAMPLE_PRINT_COMPLETED(11.0),
|
SAMPLE_PRINT_COMPLETED(11.0),
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.dao
|
package com.example.hpostesting.data.dao
|
||||||
|
|
||||||
import androidx.room.TypeConverter
|
import androidx.room.TypeConverter
|
||||||
@@ -29,7 +16,6 @@ class Converters {
|
|||||||
null
|
null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TypeConverter
|
@TypeConverter
|
||||||
fun toString(location: UserData.Location?): String? {
|
fun toString(location: UserData.Location?): String? {
|
||||||
return if (location != null) {
|
return if (location != null) {
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.dao
|
package com.example.hpostesting.data.dao
|
||||||
|
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
@@ -20,7 +7,7 @@ import androidx.room.OnConflictStrategy
|
|||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import com.example.hpostesting.data.model.patient.DeviceData
|
import com.example.hpostesting.data.model.patient.DeviceData
|
||||||
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
||||||
|
import com.example.hpostesting.data.model.patient.UserData
|
||||||
@Dao
|
@Dao
|
||||||
interface DeviceDao {
|
interface DeviceDao {
|
||||||
@Query("SELECT * from device_table")
|
@Query("SELECT * from device_table")
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.dao
|
package com.example.hpostesting.data.dao
|
||||||
|
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.dao
|
package com.example.hpostesting.data.dao
|
||||||
|
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
@@ -18,7 +5,6 @@ import androidx.room.Dao
|
|||||||
import androidx.room.Insert
|
import androidx.room.Insert
|
||||||
import androidx.room.OnConflictStrategy
|
import androidx.room.OnConflictStrategy
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Update
|
|
||||||
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
||||||
import com.example.hpostesting.data.model.patient.UserData
|
import com.example.hpostesting.data.model.patient.UserData
|
||||||
@Dao
|
@Dao
|
||||||
@@ -26,12 +12,6 @@ interface HemoCubeDao {
|
|||||||
@Query("SELECT * from hemo_cube_test_table")
|
@Query("SELECT * from hemo_cube_test_table")
|
||||||
fun getAll(): LiveData<List<HemoCubeTestData>>
|
fun getAll(): LiveData<List<HemoCubeTestData>>
|
||||||
|
|
||||||
@Query("SELECT * from hemo_cube_test_table WHERE molbioFlag=0")
|
|
||||||
fun getMolbioPending(): List<HemoCubeTestData>
|
|
||||||
|
|
||||||
@Query("SELECT * from hemo_cube_test_table WHERE localFlag=0")
|
|
||||||
fun getFirebasePending():List<HemoCubeTestData>
|
|
||||||
|
|
||||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||||
suspend fun insertAll(hemoCubeTestData: HemoCubeTestData)
|
suspend fun insertAll(hemoCubeTestData: HemoCubeTestData)
|
||||||
|
|
||||||
@@ -40,8 +20,7 @@ interface HemoCubeDao {
|
|||||||
|
|
||||||
@Query("DELETE FROM hemo_cube_test_table WHERE _id = :id")
|
@Query("DELETE FROM hemo_cube_test_table WHERE _id = :id")
|
||||||
suspend fun deleteById(id: String)
|
suspend fun deleteById(id: String)
|
||||||
@Query("DELETE FROM hemo_cube_test_table WHERE testStatus = 0")
|
|
||||||
suspend fun deleteByStatus()
|
|
||||||
@Query("UPDATE hemo_cube_test_table SET localFlag = :newValue WHERE _id = :id")
|
@Query("UPDATE hemo_cube_test_table SET localFlag = :newValue WHERE _id = :id")
|
||||||
suspend fun updateFieldById(id: String, newValue: Boolean)
|
suspend fun updateFieldById(id: String, newValue: Boolean)
|
||||||
|
|
||||||
@@ -50,12 +29,4 @@ interface HemoCubeDao {
|
|||||||
|
|
||||||
@Query("UPDATE hemo_cube_test_table SET isCSVCreated = :newValue WHERE _id = :id")
|
@Query("UPDATE hemo_cube_test_table SET isCSVCreated = :newValue WHERE _id = :id")
|
||||||
suspend fun updateCSVFieldById(id: String, newValue: Boolean)
|
suspend fun updateCSVFieldById(id: String, newValue: Boolean)
|
||||||
|
|
||||||
@Query("SELECT * from hemo_cube_test_table WHERE localFlag = 0")
|
|
||||||
fun getPendingUser(): LiveData<List<HemoCubeTestData>>
|
|
||||||
|
|
||||||
@Update
|
|
||||||
suspend fun updateTest(hemoCubeTestData: HemoCubeTestData)
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.dao
|
package com.example.hpostesting.data.dao
|
||||||
|
|
||||||
import androidx.room.Database
|
import androidx.room.Database
|
||||||
@@ -21,11 +8,7 @@ import com.example.hpostesting.data.model.patient.DeviceData
|
|||||||
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
||||||
import com.example.hpostesting.data.model.patient.UserData
|
import com.example.hpostesting.data.model.patient.UserData
|
||||||
|
|
||||||
@Database(
|
@Database(entities = [UserData::class, HemoCubeTestData::class, DeviceData::class, BufferCheckData::class], version = 24, exportSchema = false)
|
||||||
entities = [UserData::class, HemoCubeTestData::class, DeviceData::class, BufferCheckData::class],
|
|
||||||
version = 38,
|
|
||||||
exportSchema = false
|
|
||||||
)
|
|
||||||
@TypeConverters(Converters::class)
|
@TypeConverters(Converters::class)
|
||||||
abstract class MyDatabase : RoomDatabase() {
|
abstract class MyDatabase : RoomDatabase() {
|
||||||
abstract fun userDao(): UserDao
|
abstract fun userDao(): UserDao
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.dao
|
package com.example.hpostesting.data.dao
|
||||||
|
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
|
|||||||
@@ -1,19 +1,11 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.datasource
|
package com.example.hpostesting.data.datasource
|
||||||
|
|
||||||
|
import android.os.Environment
|
||||||
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
||||||
|
import com.opencsv.CSVWriter
|
||||||
|
import java.io.File
|
||||||
|
import java.io.FileWriter
|
||||||
|
import java.io.IOException
|
||||||
|
|
||||||
interface LocalFileDataSource {
|
interface LocalFileDataSource {
|
||||||
|
|
||||||
@@ -22,8 +14,6 @@ interface LocalFileDataSource {
|
|||||||
fun saveTextToDisk(filepath: String, contents: String)
|
fun saveTextToDisk(filepath: String, contents: String)
|
||||||
|
|
||||||
fun exportDataToCSV(
|
fun exportDataToCSV(
|
||||||
fileName: String, dataList: List<HemoCubeTestData>,
|
fileName: String, dataList: List<HemoCubeTestData>
|
||||||
): Boolean
|
): Boolean
|
||||||
fun backUpDataToCSV(fileName: String, dataList: List<HemoCubeTestData>)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.datasource
|
package com.example.hpostesting.data.datasource
|
||||||
|
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
@@ -21,7 +8,7 @@ import java.io.FileWriter
|
|||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class LocalFileDataSourceImpl @Inject constructor() : LocalFileDataSource {
|
class LocalFileDataSourceImpl @Inject constructor(): LocalFileDataSource {
|
||||||
|
|
||||||
override fun saveCsvToDisk(filepath: String, contents: ArrayList<Array<String>>) {
|
override fun saveCsvToDisk(filepath: String, contents: ArrayList<Array<String>>) {
|
||||||
val writer = CSVWriter(FileWriter(filepath))
|
val writer = CSVWriter(FileWriter(filepath))
|
||||||
@@ -38,13 +25,10 @@ class LocalFileDataSourceImpl @Inject constructor() : LocalFileDataSource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun exportDataToCSV(
|
override fun exportDataToCSV(
|
||||||
fileName: String, dataList: List<HemoCubeTestData>,
|
fileName: String, dataList: List<HemoCubeTestData>
|
||||||
): Boolean {
|
): Boolean {
|
||||||
try {
|
try {
|
||||||
val formattedFileName = fileName.replace(
|
val formattedFileName = fileName.replace(Regex("[^a-zA-Z0-9.-]"), "_") // Replace special characters with underscores
|
||||||
Regex("[^a-zA-Z0-9.-]"),
|
|
||||||
"_"
|
|
||||||
) // Replace special characters with underscores
|
|
||||||
val filePath = File(getExternalStorageDirectory(), formattedFileName)
|
val filePath = File(getExternalStorageDirectory(), formattedFileName)
|
||||||
val writer = FileWriter(filePath)
|
val writer = FileWriter(filePath)
|
||||||
val csvWriter = CSVWriter(writer)
|
val csvWriter = CSVWriter(writer)
|
||||||
@@ -54,7 +38,7 @@ class LocalFileDataSourceImpl @Inject constructor() : LocalFileDataSource {
|
|||||||
"name",
|
"name",
|
||||||
"incubationTime",
|
"incubationTime",
|
||||||
"bloodGroup",
|
"bloodGroup",
|
||||||
"age", // Include other fields from the data class
|
"birthYear", // Include other fields from the data class
|
||||||
"state",
|
"state",
|
||||||
"abhaId",
|
"abhaId",
|
||||||
"userImageURL",
|
"userImageURL",
|
||||||
@@ -102,15 +86,14 @@ class LocalFileDataSourceImpl @Inject constructor() : LocalFileDataSource {
|
|||||||
)
|
)
|
||||||
csvWriter.writeNext(header)
|
csvWriter.writeNext(header)
|
||||||
|
|
||||||
// Filter and write data rows where testStatus is true
|
// Write data rows
|
||||||
val filteredDataList = dataList.filter { it.testStatus == true }
|
for (data in dataList) {
|
||||||
for (data in filteredDataList) {
|
|
||||||
val row = arrayOf(
|
val row = arrayOf(
|
||||||
data._id,
|
data._id,
|
||||||
data.name,
|
data.name,
|
||||||
data.incubationTime,
|
data.incubationTime,
|
||||||
data.bloodGroup,
|
data.bloodGroup,
|
||||||
data.age, // Include other fields similarly
|
data.birthYear, // Include other fields similarly
|
||||||
data.state,
|
data.state,
|
||||||
data.abhaId,
|
data.abhaId,
|
||||||
data.userImageURL,
|
data.userImageURL,
|
||||||
@@ -166,127 +149,6 @@ class LocalFileDataSourceImpl @Inject constructor() : LocalFileDataSource {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun backUpDataToCSV(fileName: String, dataList: List<HemoCubeTestData>) {
|
|
||||||
try {
|
|
||||||
val filePath = File(getExternalStorageDirectory(), fileName)
|
|
||||||
val writer = FileWriter(filePath)
|
|
||||||
val csvWriter = CSVWriter(writer)
|
|
||||||
// Write CSV header
|
|
||||||
val header = arrayOf(
|
|
||||||
"_id",
|
|
||||||
"name",
|
|
||||||
"incubationTime",
|
|
||||||
"bloodGroup",
|
|
||||||
"age", // Include other fields from the data class
|
|
||||||
"state",
|
|
||||||
"abhaId",
|
|
||||||
"userImageURL",
|
|
||||||
"location",
|
|
||||||
"reportUploadTime",
|
|
||||||
"testType",
|
|
||||||
"testTime",
|
|
||||||
"testStatus",
|
|
||||||
"gender",
|
|
||||||
"localFlag", // Add more fields as necessary
|
|
||||||
"deviceId",
|
|
||||||
"appVersion",
|
|
||||||
"deviceSerialNumber",
|
|
||||||
"deviceType",
|
|
||||||
"kitSerial",
|
|
||||||
"resultData",
|
|
||||||
"led1Buffer",
|
|
||||||
"led2Buffer",
|
|
||||||
"led3Buffer",
|
|
||||||
"led4Buffer",
|
|
||||||
"led1Sample",
|
|
||||||
"led2Sample",
|
|
||||||
"led3Sample",
|
|
||||||
"led4Sample",
|
|
||||||
"led1Average",
|
|
||||||
"led2Average",
|
|
||||||
"led3Average",
|
|
||||||
"led4Average",
|
|
||||||
"abs1",
|
|
||||||
"abs2",
|
|
||||||
"abs3",
|
|
||||||
"abs4",
|
|
||||||
"deviceRatio",
|
|
||||||
"calculatedRatio",
|
|
||||||
"predictedDenovixRatio",
|
|
||||||
"coefficients",
|
|
||||||
"classificationResult",
|
|
||||||
"prdClassification",
|
|
||||||
"errorMessages",
|
|
||||||
"batteryLevel",
|
|
||||||
"batteryCapacity",
|
|
||||||
"batteryMaxCapacity",
|
|
||||||
"batteryTemperature",
|
|
||||||
"batteryVoltage"
|
|
||||||
)
|
|
||||||
csvWriter.writeNext(header)
|
|
||||||
|
|
||||||
// Filter and write data rows where testStatus is true
|
|
||||||
val filteredDataList = dataList.filter { it.testStatus == true }
|
|
||||||
for (data in filteredDataList) {
|
|
||||||
val row = arrayOf(
|
|
||||||
data._id,
|
|
||||||
data.name,
|
|
||||||
data.incubationTime,
|
|
||||||
data.bloodGroup,
|
|
||||||
data.age, // Include other fields similarly
|
|
||||||
data.state,
|
|
||||||
data.abhaId,
|
|
||||||
data.userImageURL,
|
|
||||||
data.location?.toString(),
|
|
||||||
data.reportUploadTime ?: "",
|
|
||||||
data.testType ?: "",
|
|
||||||
data.testTime ?: "",
|
|
||||||
data.testStatus?.toString() ?: "",
|
|
||||||
data.gender,
|
|
||||||
data.localFlag.toString(),
|
|
||||||
data.deviceId ?: "",
|
|
||||||
data.appVersion ?: "",
|
|
||||||
data.deviceSerialNumber,
|
|
||||||
data.deviceType,
|
|
||||||
data.kitSerial,
|
|
||||||
data.resultData,
|
|
||||||
data.led1Buffer?.toString() ?: "",
|
|
||||||
data.led2Buffer?.toString() ?: "",
|
|
||||||
data.led3Buffer?.toString() ?: "",
|
|
||||||
data.led4Buffer?.toString() ?: "",
|
|
||||||
data.led1Sample?.toString() ?: "",
|
|
||||||
data.led2Sample?.toString() ?: "",
|
|
||||||
data.led3Sample?.toString() ?: "",
|
|
||||||
data.led4Sample?.toString() ?: "",
|
|
||||||
data.led1Average?.toString() ?: "",
|
|
||||||
data.led2Average?.toString() ?: "",
|
|
||||||
data.led3Average?.toString() ?: "",
|
|
||||||
data.led4Average?.toString() ?: "",
|
|
||||||
data.abs1?.toString() ?: "",
|
|
||||||
data.abs2?.toString() ?: "",
|
|
||||||
data.abs3?.toString() ?: "",
|
|
||||||
data.abs4?.toString() ?: "",
|
|
||||||
data.deviceRatio?.toString() ?: "",
|
|
||||||
data.calculatedRatio?.toString() ?: "",
|
|
||||||
data.predictedDenovixRatio?.toString() ?: "",
|
|
||||||
data.coefficients ?: "",
|
|
||||||
data.classificationResult,
|
|
||||||
data.prdClassification,
|
|
||||||
data.errorMessages,
|
|
||||||
data.batteryLevel,
|
|
||||||
data.batteryCapacity,
|
|
||||||
data.batteryMaxCapacity,
|
|
||||||
data.batteryTemperature,
|
|
||||||
data.batteryVoltage
|
|
||||||
)
|
|
||||||
csvWriter.writeNext(row)
|
|
||||||
}
|
|
||||||
writer.close()
|
|
||||||
} catch (e: IOException) {
|
|
||||||
e.printStackTrace()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun getExternalStorageDirectory(): File {
|
private fun getExternalStorageDirectory(): File {
|
||||||
val folder = File(Environment.getExternalStorageDirectory(), "HposFolder")
|
val folder = File(Environment.getExternalStorageDirectory(), "HposFolder")
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model
|
package com.example.hpostesting.data.model
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model
|
package com.example.hpostesting.data.model
|
||||||
|
|
||||||
data class CalculationVariableForTest(
|
data class CalculationVariableForTest(
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model
|
package com.example.hpostesting.data.model
|
||||||
|
|
||||||
data class ErrorMessage (
|
data class ErrorMessage (
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model
|
package com.example.hpostesting.data.model
|
||||||
|
|
||||||
data class Location(
|
data class Location(
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model
|
package com.example.hpostesting.data.model
|
||||||
|
|
||||||
import com.example.hpostesting.data.model.test.TestRightResultType
|
import com.example.hpostesting.data.model.test.TestRightResultType
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model
|
package com.example.hpostesting.data.model
|
||||||
|
|
||||||
import java.util.Calendar
|
import java.util.Calendar
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model
|
package com.example.hpostesting.data.model
|
||||||
|
|
||||||
sealed class Response<out R> {
|
sealed class Response<out R> {
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model
|
package com.example.hpostesting.data.model
|
||||||
|
|
||||||
import com.example.hpostesting.data.constant.Constants
|
import com.example.hpostesting.data.constant.Constants
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.calibration
|
package com.example.hpostesting.data.model.calibration
|
||||||
|
|
||||||
data class CalibrationData (
|
data class CalibrationData (
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.devicediagnostics
|
|
||||||
|
|
||||||
data class AdditionalDetails(
|
|
||||||
val batteryLevel: String? = "",
|
|
||||||
val batteryCapacity: String? = "",
|
|
||||||
val batteryMaxCapacity: String? = "",
|
|
||||||
val batteryTemperature: String? = "",
|
|
||||||
val batteryVoltage: String? = "",
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.devicediagnostics
|
|
||||||
|
|
||||||
data class DeviceDiagnosticsData(
|
|
||||||
val id: String? = "",
|
|
||||||
val deviceId: String? = "",
|
|
||||||
val additionalDetails: AdditionalDetails?= AdditionalDetails(),
|
|
||||||
val createdBy: String? = "",
|
|
||||||
val updatedBy: String? = "",
|
|
||||||
val updatedAt: String? = "",
|
|
||||||
val createdAt: String? = "",
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.devicediagnostics
|
|
||||||
|
|
||||||
data class DeviceDiagnosticsRequest(
|
|
||||||
val additionalDetails: AdditionalDetails?= AdditionalDetails()
|
|
||||||
)
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.devicediagnostics
|
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName
|
|
||||||
|
|
||||||
|
|
||||||
data class DeviceDiagnosticsResponse(
|
|
||||||
@SerializedName("Data")
|
|
||||||
val data: DeviceDiagnosticsData? = DeviceDiagnosticsData(),
|
|
||||||
val message: String? = "",
|
|
||||||
val result: String? = ""
|
|
||||||
)
|
|
||||||
@@ -1,19 +1,6 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.deviceprovision
|
package com.example.hpostesting.data.model.deviceprovision
|
||||||
|
|
||||||
data class Credentials(
|
data class Credentials(
|
||||||
val password: String? = "",
|
val password: String? = "",
|
||||||
val username: String? = "",
|
val username: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.deviceprovision
|
package com.example.hpostesting.data.model.deviceprovision
|
||||||
|
|
||||||
data class Device(
|
data class Device(
|
||||||
@@ -26,5 +13,5 @@ data class Device(
|
|||||||
val serialNumber: String? = "",
|
val serialNumber: String? = "",
|
||||||
val uid: String? = "",
|
val uid: String? = "",
|
||||||
val updatedAt: String? = "",
|
val updatedAt: String? = "",
|
||||||
val updatedBy: Int? = 0,
|
val updatedBy: Int? = 0
|
||||||
)
|
)
|
||||||
@@ -1,19 +1,6 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.deviceprovision
|
package com.example.hpostesting.data.model.deviceprovision
|
||||||
|
|
||||||
data class DeviceProvisionData(
|
data class DeviceProvisionData(
|
||||||
val credentials: Credentials? = Credentials(),
|
val credentials: Credentials? = Credentials(),
|
||||||
val device: Device? = Device(),
|
val device: Device? = Device()
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.deviceprovision
|
package com.example.hpostesting.data.model.deviceprovision
|
||||||
|
|
||||||
data class DeviceProvisionRequest(
|
data class DeviceProvisionRequest(
|
||||||
@@ -18,5 +5,5 @@ data class DeviceProvisionRequest(
|
|||||||
val email: String? = "",
|
val email: String? = "",
|
||||||
val password: String? = "",
|
val password: String? = "",
|
||||||
val serialNumber: String? = "",
|
val serialNumber: String? = "",
|
||||||
val uid: String? = "",
|
val uid: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.deviceprovision
|
package com.example.hpostesting.data.model.deviceprovision
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName
|
import com.google.gson.annotations.SerializedName
|
||||||
@@ -21,5 +8,5 @@ data class DeviceProvisionResponse(
|
|||||||
@SerializedName("Message")
|
@SerializedName("Message")
|
||||||
val message: String? = "",
|
val message: String? = "",
|
||||||
@SerializedName("Result")
|
@SerializedName("Result")
|
||||||
val result: String? = "",
|
val result: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.deviceprovision
|
package com.example.hpostesting.data.model.deviceprovision
|
||||||
|
|
||||||
data class DeviceType(
|
data class DeviceType(
|
||||||
@@ -21,5 +8,5 @@ data class DeviceType(
|
|||||||
val id: Int? = 0,
|
val id: Int? = 0,
|
||||||
val name: String? = "",
|
val name: String? = "",
|
||||||
val updatedAt: String? = "",
|
val updatedAt: String? = "",
|
||||||
val updatedBy: Int? = 0,
|
val updatedBy: Int? = 0
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.deviceprovision
|
package com.example.hpostesting.data.model.deviceprovision
|
||||||
|
|
||||||
data class DeviceUser(
|
data class DeviceUser(
|
||||||
@@ -24,5 +11,5 @@ data class DeviceUser(
|
|||||||
val natsTokenExpiry: String? = "",
|
val natsTokenExpiry: String? = "",
|
||||||
val updatedAt: String? = "",
|
val updatedAt: String? = "",
|
||||||
val updatedBy: Int? = 0,
|
val updatedBy: Int? = 0,
|
||||||
val username: String? = "",
|
val username: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.deviceprovision
|
|
||||||
|
|
||||||
data class ProvisionData(
|
|
||||||
val username: String?,
|
|
||||||
val password: String?,
|
|
||||||
val natsToken: String?,
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -1,25 +1,9 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.diagnostics
|
package com.example.hpostesting.data.model.diagnostics
|
||||||
|
|
||||||
data class DiagnosticsData(
|
data class DiagnosticsData (
|
||||||
var deviceId: String = "",
|
var deviceId: String = "",
|
||||||
var appVersion: String? = "",
|
var appVersion: String? = "",
|
||||||
var deviceType: String = "HEMOCUBE",
|
var deviceType: String = "HEMOCUBE",
|
||||||
var deviceData: String = "",
|
var deviceData: String = "",
|
||||||
var devicePassword: String = "",
|
var runTime: String = ""
|
||||||
var deviceNatsToken: String = "",
|
|
||||||
var accessToken: String = "",
|
|
||||||
var runTime: String = "",
|
|
||||||
)
|
)
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.jig
|
|
||||||
|
|
||||||
data class JigData(
|
|
||||||
var deviceId: String = "",
|
|
||||||
var appVersion: String? = "",
|
|
||||||
var deviceType: String = "JIG",
|
|
||||||
var scanData: String = "",
|
|
||||||
var createdAt: String = "",
|
|
||||||
)
|
|
||||||
@@ -1,18 +1,5 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.log
|
package com.example.hpostesting.data.model.log
|
||||||
|
|
||||||
data class UploadLogsData(
|
data class UploadLogsData(
|
||||||
val filename: String? = "",
|
val filename: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.log
|
package com.example.hpostesting.data.model.log
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName
|
import com.google.gson.annotations.SerializedName
|
||||||
@@ -21,5 +8,5 @@ data class UploadLogsResponse(
|
|||||||
@SerializedName("Message")
|
@SerializedName("Message")
|
||||||
val message: String? = "",
|
val message: String? = "",
|
||||||
@SerializedName("Result")
|
@SerializedName("Result")
|
||||||
val result: String? = "",
|
val result: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.login
|
package com.example.hpostesting.data.model.login
|
||||||
|
|
||||||
data class Device(
|
data class Device(
|
||||||
@@ -25,5 +12,5 @@ data class Device(
|
|||||||
val serialNumber: String? = "",
|
val serialNumber: String? = "",
|
||||||
val uid: String? = "",
|
val uid: String? = "",
|
||||||
val updatedAt: String? = "",
|
val updatedAt: String? = "",
|
||||||
val updatedBy: Int? = 0,
|
val updatedBy: Int? = 0
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.login
|
package com.example.hpostesting.data.model.login
|
||||||
|
|
||||||
data class DeviceType(
|
data class DeviceType(
|
||||||
@@ -21,5 +8,5 @@ data class DeviceType(
|
|||||||
val id: Int? = 0,
|
val id: Int? = 0,
|
||||||
val name: String? = "",
|
val name: String? = "",
|
||||||
val updatedAt: String? = "",
|
val updatedAt: String? = "",
|
||||||
val updatedBy: Int? = 0,
|
val updatedBy: Int? = 0
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.login
|
package com.example.hpostesting.data.model.login
|
||||||
|
|
||||||
data class DeviceUser(
|
data class DeviceUser(
|
||||||
@@ -25,5 +12,5 @@ data class DeviceUser(
|
|||||||
val natsTokenExpiry: String? = "",
|
val natsTokenExpiry: String? = "",
|
||||||
val updatedAt: String? = "",
|
val updatedAt: String? = "",
|
||||||
val updatedBy: Int? = 0,
|
val updatedBy: Int? = 0,
|
||||||
val username: String? = "",
|
val username: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,19 +1,6 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.login
|
package com.example.hpostesting.data.model.login
|
||||||
|
|
||||||
data class LoginData(
|
data class LoginData(
|
||||||
val accessToken: String? = "",
|
val accessToken: String? = "",
|
||||||
val deviceUser: DeviceUser? = DeviceUser(),
|
val deviceUser: DeviceUser? = DeviceUser()
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.login
|
package com.example.hpostesting.data.model.login
|
||||||
|
|
||||||
data class LoginRequest(
|
data class LoginRequest(
|
||||||
@@ -22,5 +9,5 @@ data class LoginRequest(
|
|||||||
val password: String? = "",
|
val password: String? = "",
|
||||||
val serialNumber: String? = "",
|
val serialNumber: String? = "",
|
||||||
val username: String? = "",
|
val username: String? = "",
|
||||||
val version: String? = "",
|
val version: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.login
|
package com.example.hpostesting.data.model.login
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName
|
import com.google.gson.annotations.SerializedName
|
||||||
@@ -21,5 +8,5 @@ data class LoginResponse(
|
|||||||
@SerializedName("Message")
|
@SerializedName("Message")
|
||||||
val message: String? = "",
|
val message: String? = "",
|
||||||
@SerializedName("Result")
|
@SerializedName("Result")
|
||||||
val result: String? = "",
|
val result: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,23 +1,10 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.molbioresult
|
package com.example.hpostesting.data.model.molbioresult
|
||||||
|
|
||||||
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
||||||
|
|
||||||
data class MolbioV2Result(
|
data class MolbioV2Result(
|
||||||
val age: Int? = 31,
|
val age: Int? = 31,
|
||||||
val analysisDate: String? = "2024-02-08 16:33:56",
|
val analysisDate: String? = "",
|
||||||
val analysisId: String? = "",
|
val analysisId: String? = "",
|
||||||
val analysisStatus: String? = "",
|
val analysisStatus: String? = "",
|
||||||
val analysisType: String? = "HPOS",
|
val analysisType: String? = "HPOS",
|
||||||
@@ -25,11 +12,11 @@ data class MolbioV2Result(
|
|||||||
val bloodGroup: String? = "",
|
val bloodGroup: String? = "",
|
||||||
val coefficients: List<Int>? = listOf(22, 22),
|
val coefficients: List<Int>? = listOf(22, 22),
|
||||||
val collectionLocation: List<Any>? = listOf(),
|
val collectionLocation: List<Any>? = listOf(),
|
||||||
val collectionTime: String? = "2024-02-08 16:33:56",
|
val collectionTime: String? = "",
|
||||||
val collector: String? = "",
|
val collector: String? = "",
|
||||||
val curveFitting: String? = "Linear",
|
val curveFitting: String? = "Linear",
|
||||||
val deviceName: String? = "HPOS",
|
val deviceName: String? = "HPOS",
|
||||||
val expiryTime: String? = "2024-02-08 16:33:56",
|
val expiryTime: String? = "",
|
||||||
val gender: String? = "",
|
val gender: String? = "",
|
||||||
val interpretation: String? = "",
|
val interpretation: String? = "",
|
||||||
val `operator`: String? = "",
|
val `operator`: String? = "",
|
||||||
@@ -43,9 +30,9 @@ data class MolbioV2Result(
|
|||||||
val testId: String? = "",
|
val testId: String? = "",
|
||||||
val testResult: String? = "",
|
val testResult: String? = "",
|
||||||
val testStatus: String? = "",
|
val testStatus: String? = "",
|
||||||
val testTime: String? = "2024-02-08 16:33:56",
|
val testTime: String? = "",
|
||||||
val testType: String? = "",
|
val testType: String? = "",
|
||||||
val thresholds: String? = "",
|
val thresholds: String? = "",
|
||||||
val underMedication: Boolean? = false,
|
val underMedication: Boolean? = false,
|
||||||
val volume: Int? = 2,
|
val volume: Int? = 2
|
||||||
)
|
)
|
||||||
@@ -1,36 +1,23 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.molbioresult
|
package com.example.hpostesting.data.model.molbioresult
|
||||||
|
|
||||||
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
||||||
|
|
||||||
data class MolbioV2ResultData(
|
data class MolbioV2ResultData(
|
||||||
val age: Int? = 0,
|
val age: Int? = 0,
|
||||||
val analysisDate: String? = "2024-02-08 16:33:56",
|
val analysisDate: String? = "",
|
||||||
val analysisStatus: String? = "",
|
val analysisStatus: String? = "",
|
||||||
val analysisType: String? = "",
|
val analysisType: String? = "",
|
||||||
val analysisTypeMethod: String? = "",
|
val analysisTypeMethod: String? = "",
|
||||||
val bloodGroup: String? = "",
|
val bloodGroup: String? = "",
|
||||||
val coefficients: List<Int>? = listOf(),
|
val coefficients: List<Int>? = listOf(),
|
||||||
val collectionLocation: List<Any>? = listOf(),
|
val collectionLocation: List<Any>? = listOf(),
|
||||||
val collectionTime: String? = "2024-02-08 16:33:56",
|
val collectionTime: String? = "",
|
||||||
val collector: String? = "",
|
val collector: String? = "",
|
||||||
val createdAt: String? = "",
|
val createdAt: String? = "",
|
||||||
val createdBy: Int? = 0,
|
val createdBy: Int? = 0,
|
||||||
val curveFitting: String? = "",
|
val curveFitting: String? = "",
|
||||||
val deviceId: Int? = 0,
|
val deviceId: Int? = 0,
|
||||||
val expiryTime: String? = "2024-02-08 16:33:56",
|
val expiryTime: String? = "",
|
||||||
val gender: String? = "",
|
val gender: String? = "",
|
||||||
val id: Int? = 0,
|
val id: Int? = 0,
|
||||||
val interpretation: String? = "",
|
val interpretation: String? = "",
|
||||||
@@ -45,11 +32,11 @@ data class MolbioV2ResultData(
|
|||||||
val testId: String? = "",
|
val testId: String? = "",
|
||||||
val testResult: String? = "",
|
val testResult: String? = "",
|
||||||
val testStatus: String? = "",
|
val testStatus: String? = "",
|
||||||
val testTime: String? = "2024-02-08 16:33:56",
|
val testTime: String? = "",
|
||||||
val testType: String? = "",
|
val testType: String? = "",
|
||||||
val thresholds: String? = "",
|
val thresholds: String? = "",
|
||||||
val underMedication: Boolean? = false,
|
val underMedication: Boolean? = false,
|
||||||
val updatedAt: String? = "",
|
val updatedAt: String? = "",
|
||||||
val updatedBy: Int? = 0,
|
val updatedBy: Int? = 0,
|
||||||
val volume: Int? = 0,
|
val volume: Int? = 0
|
||||||
)
|
)
|
||||||
@@ -1,18 +1,5 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.molbioresult
|
package com.example.hpostesting.data.model.molbioresult
|
||||||
|
|
||||||
data class MolbioV2ResultRequest(
|
data class MolbioV2ResultRequest(
|
||||||
val results: MutableList<MolbioV2Result>? = mutableListOf(),
|
val results: MutableList<MolbioV2Result>? = mutableListOf()
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.molbioresult
|
package com.example.hpostesting.data.model.molbioresult
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName
|
import com.google.gson.annotations.SerializedName
|
||||||
@@ -21,5 +8,5 @@ data class MolbioV2ResultResponse(
|
|||||||
@SerializedName("Message")
|
@SerializedName("Message")
|
||||||
val message: String? = "",
|
val message: String? = "",
|
||||||
@SerializedName("Result")
|
@SerializedName("Result")
|
||||||
val result: String? = "",
|
val result: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.molbioresult
|
package com.example.hpostesting.data.model.molbioresult
|
||||||
|
|
||||||
import com.example.hpostesting.data.model.patient.UserData
|
import com.example.hpostesting.data.model.patient.UserData
|
||||||
@@ -32,7 +19,7 @@ data class RawData(
|
|||||||
var gender: String = "",
|
var gender: String = "",
|
||||||
var localFlag: Boolean = false,
|
var localFlag: Boolean = false,
|
||||||
var deviceId: String? = "",
|
var deviceId: String? = "",
|
||||||
var appVersion: String? = "",
|
var appVersion:String? = "",
|
||||||
var deviceSerialNumber: String = "",
|
var deviceSerialNumber: String = "",
|
||||||
var deviceType: String = "HEMOCUBE",
|
var deviceType: String = "HEMOCUBE",
|
||||||
var kitSerial: String = "",
|
var kitSerial: String = "",
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.patient
|
package com.example.hpostesting.data.model.patient
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -22,7 +9,7 @@ data class BufferCheckData(
|
|||||||
var _id: String = "",
|
var _id: String = "",
|
||||||
var kitno: String = "",
|
var kitno: String = "",
|
||||||
var deviceId: String? = "",
|
var deviceId: String? = "",
|
||||||
var appVersion: String? = "",
|
var appVersion:String? = "",
|
||||||
var deviceSerialNumber: String = "",
|
var deviceSerialNumber: String = "",
|
||||||
var deviceType: String = "HEMOCUBE",
|
var deviceType: String = "HEMOCUBE",
|
||||||
var localFlag: Boolean = false,
|
var localFlag: Boolean = false,
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.patient
|
package com.example.hpostesting.data.model.patient
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -28,25 +15,5 @@ data class DeviceData(
|
|||||||
@get:PropertyName("coefficients") @set:PropertyName("coefficients")
|
@get:PropertyName("coefficients") @set:PropertyName("coefficients")
|
||||||
var coefficients: List<Double> = emptyList(),
|
var coefficients: List<Double> = emptyList(),
|
||||||
@get:PropertyName("calibratedAt") @set:PropertyName("calibratedAt")
|
@get:PropertyName("calibratedAt") @set:PropertyName("calibratedAt")
|
||||||
var calibratedAt: String = "",
|
var calibratedAt: String = ""
|
||||||
@get:PropertyName("deviceProvisionResponse") @set:PropertyName("deviceProvisionResponse")
|
|
||||||
var deviceProvisionResponse: String = "",
|
|
||||||
@get:PropertyName("username") @set:PropertyName("username")
|
|
||||||
var username: String = "",
|
|
||||||
@get:PropertyName("password") @set:PropertyName("password")
|
|
||||||
var password: String = "",
|
|
||||||
@get:PropertyName("natsToken") @set:PropertyName("natsToken")
|
|
||||||
var natsToken: String = "",
|
|
||||||
@get:PropertyName("natsTokenExpiry") @set:PropertyName("natsTokenExpiry")
|
|
||||||
var natsTokenExpiry: String = "",
|
|
||||||
@get:PropertyName("deviceUpdateAvailable") @set:PropertyName("deviceUpdateAvailable")
|
|
||||||
var deviceUpdateAvailable: Boolean = false,
|
|
||||||
@get:PropertyName("updatePath") @set:PropertyName("updatePath")
|
|
||||||
var updatePath: String = "",
|
|
||||||
@get:PropertyName("deviceVersion") @set:PropertyName("deviceVersion")
|
|
||||||
var deviceVersion: String = "",
|
|
||||||
@get:PropertyName("globalUpdateDone") @set:PropertyName("globalUpdateDone")
|
|
||||||
var globalUpdateDone: Boolean = false,
|
|
||||||
@get:PropertyName("globalUpdateIgnore") @set:PropertyName("globalUpdateIgnore")
|
|
||||||
var globalUpdateIgnore: Boolean = false,
|
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.patient
|
package com.example.hpostesting.data.model.patient
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -18,13 +5,12 @@ import androidx.room.PrimaryKey
|
|||||||
|
|
||||||
@Entity(tableName = "hemo_cube_test_table")
|
@Entity(tableName = "hemo_cube_test_table")
|
||||||
data class HemoCubeTestData(
|
data class HemoCubeTestData(
|
||||||
@PrimaryKey(autoGenerate = true)
|
@PrimaryKey
|
||||||
var sampleid: Int = 0,
|
|
||||||
var _id: String = "",
|
var _id: String = "",
|
||||||
var name: String = "",
|
var name: String = "",
|
||||||
var incubationTime: String = "",
|
var incubationTime: String = "",
|
||||||
var bloodGroup: String = "",
|
var bloodGroup: String = "",
|
||||||
var age: String = "",
|
var birthYear: String = "",
|
||||||
var state: String = "",
|
var state: String = "",
|
||||||
var abhaId: String = "",
|
var abhaId: String = "",
|
||||||
var userImageURL: String = "",
|
var userImageURL: String = "",
|
||||||
@@ -36,7 +22,7 @@ data class HemoCubeTestData(
|
|||||||
var gender: String = "",
|
var gender: String = "",
|
||||||
var localFlag: Boolean = false,
|
var localFlag: Boolean = false,
|
||||||
var deviceId: String? = "",
|
var deviceId: String? = "",
|
||||||
var appVersion: String? = "",
|
var appVersion:String? = "",
|
||||||
var deviceSerialNumber: String = "",
|
var deviceSerialNumber: String = "",
|
||||||
var deviceType: String = "HEMOCUBE",
|
var deviceType: String = "HEMOCUBE",
|
||||||
var kitSerial: String = "",
|
var kitSerial: String = "",
|
||||||
@@ -92,7 +78,6 @@ data class HemoCubeTestData(
|
|||||||
var prdClassification: String = "",
|
var prdClassification: String = "",
|
||||||
var deviceRatioClass: String = "",
|
var deviceRatioClass: String = "",
|
||||||
var slopeRatioClass: String = "",
|
var slopeRatioClass: String = "",
|
||||||
var borderlineMethod2Class: String = "",
|
|
||||||
var errorMessages: String = "",
|
var errorMessages: String = "",
|
||||||
var batteryLevel: String = "",
|
var batteryLevel: String = "",
|
||||||
var batteryCapacity: String = "",
|
var batteryCapacity: String = "",
|
||||||
@@ -103,13 +88,6 @@ data class HemoCubeTestData(
|
|||||||
var quickCapture: Boolean = false,
|
var quickCapture: Boolean = false,
|
||||||
var solution: String? = "",
|
var solution: String? = "",
|
||||||
var concentration: String? = "",
|
var concentration: String? = "",
|
||||||
var filter: String? = "",
|
|
||||||
var volume: String? = "",
|
var volume: String? = "",
|
||||||
var isCSVCreated: Boolean = false,
|
var isCSVCreated: Boolean = false
|
||||||
var labName: String? = "",
|
|
||||||
var cuvetteSize: String? = "",
|
|
||||||
var district: String? = "",
|
|
||||||
var centerName: String? = "",
|
|
||||||
var ipAddress:String?= "",
|
|
||||||
var configUpdatedRecent:String?= ""
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.patient
|
package com.example.hpostesting.data.model.patient
|
||||||
|
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
@@ -31,7 +18,7 @@ data class PatientDetails(
|
|||||||
var address: Address?,
|
var address: Address?,
|
||||||
var category: Category?,
|
var category: Category?,
|
||||||
var registerDate: Date?,
|
var registerDate: Date?,
|
||||||
var uploadDate: Date?,
|
var uploadDate: Date?
|
||||||
) {
|
) {
|
||||||
constructor() : this(
|
constructor() : this(
|
||||||
"",
|
"",
|
||||||
@@ -58,6 +45,7 @@ data class PatientDetails(
|
|||||||
OTHER
|
OTHER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
data class Address(
|
data class Address(
|
||||||
var house: String?,
|
var house: String?,
|
||||||
val street: String?,
|
val street: String?,
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.patient
|
package com.example.hpostesting.data.model.patient
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -24,7 +11,7 @@ data class UserData(
|
|||||||
var name: String = "",
|
var name: String = "",
|
||||||
var incubationTime: String = "",
|
var incubationTime: String = "",
|
||||||
var gender: String = "",
|
var gender: String = "",
|
||||||
var age: String = "",
|
var birthYear: String = "",
|
||||||
var abhaId: String = "",
|
var abhaId: String = "",
|
||||||
var bloodGroup: String = "",
|
var bloodGroup: String = "",
|
||||||
var userImageURL: String = "",
|
var userImageURL: String = "",
|
||||||
@@ -42,8 +29,7 @@ data class UserData(
|
|||||||
var reportPath: String = "",
|
var reportPath: String = "",
|
||||||
var result: TestRightResultType? = null,
|
var result: TestRightResultType? = null,
|
||||||
var resultRatio: Double? = null,
|
var resultRatio: Double? = null,
|
||||||
var prdClassification: String = "",
|
var prdClassification: String = ""
|
||||||
var sampleid: Int = 0
|
|
||||||
) {
|
) {
|
||||||
enum class Gender {
|
enum class Gender {
|
||||||
MALE,
|
MALE,
|
||||||
@@ -53,17 +39,15 @@ data class UserData(
|
|||||||
|
|
||||||
data class Location(
|
data class Location(
|
||||||
var latitude: Double? = null,
|
var latitude: Double? = null,
|
||||||
var longitude: Double? = null,
|
var longitude: Double? = null
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun UserData.toHemoCubeTestData() = HemoCubeTestData(
|
fun UserData.toHemoCubeTestData() = HemoCubeTestData(
|
||||||
_id = _id,
|
_id = _id,
|
||||||
name = name,
|
name = name,
|
||||||
sampleid = sampleid,
|
|
||||||
bloodGroup = bloodGroup,
|
bloodGroup = bloodGroup,
|
||||||
incubationTime = incubationTime,
|
birthYear = birthYear,
|
||||||
age = age,
|
|
||||||
gender = gender,
|
gender = gender,
|
||||||
state = state,
|
state = state,
|
||||||
abhaId = abhaId,
|
abhaId = abhaId,
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.test
|
package com.example.hpostesting.data.model.test
|
||||||
|
|
||||||
data class TestRightCalculationData(
|
data class TestRightCalculationData(
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.test
|
package com.example.hpostesting.data.model.test
|
||||||
|
|
||||||
data class TestRightDeviceConstants(
|
data class TestRightDeviceConstants(
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.test
|
package com.example.hpostesting.data.model.test
|
||||||
|
|
||||||
enum class TestRightResultType {
|
enum class TestRightResultType {
|
||||||
|
|||||||
@@ -1,20 +1,6 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.test
|
package com.example.hpostesting.data.model.test
|
||||||
|
|
||||||
enum class TestType {
|
enum class TestType {
|
||||||
SICKLECERT,
|
SICKLECERT,
|
||||||
SICKLEFIND,
|
SICKLEFIND
|
||||||
HB_EST
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.example.hpostesting.di
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import com.example.hpostesting.data.repository.DatabaseRepository
|
||||||
|
import com.example.hpostesting.data.dao.UserDao
|
||||||
|
import com.example.hpostesting.domain.SaveRawData
|
||||||
|
import com.example.hpostesting.domain.SaveRawDataTest
|
||||||
|
import com.example.hpostesting.presentation.testRight.TestRightViewModel
|
||||||
|
import dagger.Module
|
||||||
|
import dagger.Provides
|
||||||
|
import dagger.hilt.InstallIn
|
||||||
|
import dagger.hilt.android.components.ViewModelComponent
|
||||||
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(ViewModelComponent::class)
|
||||||
|
object ViewModelModule {
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
fun provideTestRightViewModel(
|
||||||
|
saveRawData: SaveRawData,
|
||||||
|
saveRawDataTest: SaveRawDataTest,
|
||||||
|
databaseRepository: DatabaseRepository,
|
||||||
|
userDao: UserDao,
|
||||||
|
context: Context
|
||||||
|
): TestRightViewModel {
|
||||||
|
return TestRightViewModel(saveRawData, saveRawDataTest, databaseRepository, userDao, context)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,18 +1,5 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.updates
|
package com.example.hpostesting.data.model.updates
|
||||||
|
|
||||||
data class CheckUpdateData(
|
data class CheckUpdateData(
|
||||||
val version: String? = "",
|
val version: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,18 +1,5 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.updates
|
package com.example.hpostesting.data.model.updates
|
||||||
|
|
||||||
data class CheckUpdateRequest(
|
data class CheckUpdateRequest(
|
||||||
val currentVersion: String? = "",
|
val currentVersion: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.updates
|
package com.example.hpostesting.data.model.updates
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName
|
import com.google.gson.annotations.SerializedName
|
||||||
@@ -21,5 +8,5 @@ data class CheckUpdateResponse(
|
|||||||
@SerializedName("Message")
|
@SerializedName("Message")
|
||||||
val message: String? = "",
|
val message: String? = "",
|
||||||
@SerializedName("Result")
|
@SerializedName("Result")
|
||||||
val result: String? = "",
|
val result: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,18 +1,5 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.model.updates
|
package com.example.hpostesting.data.model.updates
|
||||||
|
|
||||||
data class DeviceUpdateRequest(
|
data class DeviceUpdateRequest(
|
||||||
val serial_no: String? = "",
|
val serial_no: String? = ""
|
||||||
)
|
)
|
||||||
@@ -1,30 +1,14 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.repository
|
package com.example.hpostesting.data.repository
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import com.example.hpostesting.util.Result
|
import com.example.hpostesting.data.Result
|
||||||
import com.example.hpostesting.data.api.MolbioAuthApi
|
import com.example.hpostesting.data.api.MolbioAuthApi
|
||||||
import com.example.hpostesting.data.api.MolbioResultApi
|
import com.example.hpostesting.data.api.MolbioResultApi
|
||||||
import com.example.hpostesting.data.model.PendingUploads
|
import com.example.hpostesting.data.model.PendingUploads
|
||||||
import com.example.hpostesting.data.model.Response
|
import com.example.hpostesting.data.model.Response
|
||||||
import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsRequest
|
|
||||||
import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsResponse
|
|
||||||
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest
|
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest
|
||||||
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionResponse
|
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionResponse
|
||||||
import com.example.hpostesting.data.model.diagnostics.DiagnosticsData
|
import com.example.hpostesting.data.model.diagnostics.DiagnosticsData
|
||||||
import com.example.hpostesting.data.model.jig.JigData
|
|
||||||
import com.example.hpostesting.data.model.log.UploadLogsResponse
|
import com.example.hpostesting.data.model.log.UploadLogsResponse
|
||||||
import com.example.hpostesting.data.model.login.LoginRequest
|
import com.example.hpostesting.data.model.login.LoginRequest
|
||||||
import com.example.hpostesting.data.model.login.LoginResponse
|
import com.example.hpostesting.data.model.login.LoginResponse
|
||||||
@@ -53,8 +37,8 @@ import javax.inject.Named
|
|||||||
|
|
||||||
class NetworkException(message: String, cause: Throwable) : Exception(message, cause)
|
class NetworkException(message: String, cause: Throwable) : Exception(message, cause)
|
||||||
class DatabaseRepository @Inject constructor(
|
class DatabaseRepository @Inject constructor(
|
||||||
@Named("Auth") private val molbioAuthApi: MolbioAuthApi,
|
@Named("Auth")private val molbioAuthApi: MolbioAuthApi,
|
||||||
private val molbioResultApi: MolbioResultApi,
|
private val molbioResultApi: MolbioResultApi
|
||||||
) : Repository {
|
) : Repository {
|
||||||
|
|
||||||
private val db: FirebaseFirestore = Firebase.firestore
|
private val db: FirebaseFirestore = Firebase.firestore
|
||||||
@@ -89,16 +73,8 @@ class DatabaseRepository @Inject constructor(
|
|||||||
return safeApiCall { molbioResultApi.checkUpdate(checkUpdateRequest) }
|
return safeApiCall { molbioResultApi.checkUpdate(checkUpdateRequest) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun deviceUpdate(deviceUpdateRequest: DeviceUpdateRequest): retrofit2.Response<ResponseBody> {
|
override suspend fun deviceUpdate(deviceUpdateRequest: DeviceUpdateRequest): Result<ResponseBody> {
|
||||||
return molbioResultApi.deviceUpdate(deviceUpdateRequest)
|
return safeApiCall { molbioResultApi.deviceUpdate(deviceUpdateRequest) }
|
||||||
}
|
|
||||||
|
|
||||||
override suspend fun deviceDiagnostics(deviceDiagnosticsRequest: DeviceDiagnosticsRequest): Result<DeviceDiagnosticsResponse> {
|
|
||||||
return safeApiCall { molbioResultApi.deviceDiagnostics(deviceDiagnosticsRequest) }
|
|
||||||
}
|
|
||||||
|
|
||||||
override suspend fun downloadClientCertificate(): Result<ResponseBody> {
|
|
||||||
return safeApiCall { molbioResultApi.downloadClientCertificate() }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun uploadLogs(logFile: MultipartBody.Part): Result<UploadLogsResponse> {
|
override suspend fun uploadLogs(logFile: MultipartBody.Part): Result<UploadLogsResponse> {
|
||||||
@@ -120,19 +96,22 @@ class DatabaseRepository @Inject constructor(
|
|||||||
Response.Error(e)
|
Response.Error(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
override suspend fun addQcTestToDatabase(data: HemoCubeTestData?): Response<String> {
|
|
||||||
return try {
|
|
||||||
|
|
||||||
db.collection("qcData").add(data!!).await()
|
|
||||||
Response.Success(data._id)
|
|
||||||
|
|
||||||
} catch (e: Exception) {
|
|
||||||
Response.Error(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override suspend fun addTestToDatabase(data: UserData?): Response<String> {
|
override suspend fun addTestToDatabase(data: UserData?): Response<String> {
|
||||||
TODO("Not yet implemented")
|
return try {
|
||||||
|
val userdata =
|
||||||
|
db.collection("patientData").whereEqualTo("_id", data!!._id).get().await()
|
||||||
|
if (userdata.documents.isNotEmpty()) {
|
||||||
|
userdata.documents.forEach {
|
||||||
|
db.collection("patientData").document(it.id).update("testStatus", true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.collection("testData").add(data).await()
|
||||||
|
Response.Success(data._id)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Firebase.crashlytics.recordException(e)
|
||||||
|
Response.Error(e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun addTestToDatabaseforBufferCheck(data: BufferCheckData?): Response<String> {
|
override suspend fun addTestToDatabaseforBufferCheck(data: BufferCheckData?): Response<String> {
|
||||||
@@ -155,19 +134,8 @@ class DatabaseRepository @Inject constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override suspend fun addTestJigData(data: JigData?): Response<String> {
|
|
||||||
return try {
|
|
||||||
db.collection("jigs").add(data!!).await()
|
|
||||||
Response.Success(data.deviceId)
|
|
||||||
} catch (e: Exception) {
|
|
||||||
Firebase.crashlytics.recordException(e)
|
|
||||||
Response.Error(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override suspend fun uploadFileToStorage(
|
override suspend fun uploadFileToStorage(
|
||||||
patientID: String, filePath: String,
|
patientID: String, filePath: String
|
||||||
): Response<Boolean> {
|
): Response<Boolean> {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
@@ -235,45 +203,7 @@ class DatabaseRepository @Inject constructor(
|
|||||||
return allDeviceDataList.find { it.deviceId == deviceId }
|
return allDeviceDataList.find { it.deviceId == deviceId }
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun getDeviceResponse(data: DeviceData?): Response<String> {
|
|
||||||
return try {
|
|
||||||
db.collection("devices").add(data!!).await()
|
|
||||||
Response.Success(data.deviceProvisionResponse)
|
|
||||||
} catch (e: Exception) {
|
|
||||||
Firebase.crashlytics.recordException(e)
|
|
||||||
Response.Error(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override suspend fun uploadDeviceId(data: DeviceData): Response<String>? {
|
|
||||||
return try {
|
|
||||||
db.collection("devices").add(data!!).await()
|
|
||||||
Response.Success(data.deviceId)
|
|
||||||
} catch (e: Exception) {
|
|
||||||
Firebase.crashlytics.recordException(e)
|
|
||||||
Response.Error(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun <UserData> addTestToDatabase(testDetails: UserData): Any {
|
override fun <UserData> addTestToDatabase(testDetails: UserData): Any {
|
||||||
TODO("Not yet implemented")
|
TODO("Not yet implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun addTestToDatabasefornew(data: HemoCubeTestData?): Response<String> {
|
|
||||||
return try {
|
|
||||||
val userdata =
|
|
||||||
db.collection("patientData").whereEqualTo("_id", data!!._id).get().await()
|
|
||||||
if (userdata.documents.isNotEmpty()) {
|
|
||||||
userdata.documents.forEach {
|
|
||||||
db.collection("patientData").document(it.id).update("testStatus", true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
db.collection("testData").add(data).await()
|
|
||||||
Response.Success(data._id)
|
|
||||||
} catch (e: Exception) {
|
|
||||||
Firebase.crashlytics.recordException(e)
|
|
||||||
Response.Error(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.repository
|
package com.example.hpostesting.data.repository
|
||||||
|
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
|
|||||||
@@ -1,26 +1,10 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.data.repository
|
package com.example.hpostesting.data.repository
|
||||||
|
|
||||||
import com.example.hpostesting.util.Result
|
import com.example.hpostesting.data.Result
|
||||||
import com.example.hpostesting.data.model.Response
|
import com.example.hpostesting.data.model.Response
|
||||||
import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsRequest
|
|
||||||
import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsResponse
|
|
||||||
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest
|
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest
|
||||||
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionResponse
|
import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionResponse
|
||||||
import com.example.hpostesting.data.model.diagnostics.DiagnosticsData
|
import com.example.hpostesting.data.model.diagnostics.DiagnosticsData
|
||||||
import com.example.hpostesting.data.model.jig.JigData
|
|
||||||
import com.example.hpostesting.data.model.log.UploadLogsResponse
|
import com.example.hpostesting.data.model.log.UploadLogsResponse
|
||||||
import com.example.hpostesting.data.model.login.LoginRequest
|
import com.example.hpostesting.data.model.login.LoginRequest
|
||||||
import com.example.hpostesting.data.model.login.LoginResponse
|
import com.example.hpostesting.data.model.login.LoginResponse
|
||||||
@@ -38,8 +22,6 @@ import okhttp3.ResponseBody
|
|||||||
|
|
||||||
interface Repository {
|
interface Repository {
|
||||||
suspend fun addTestToDatabase(data: HemoCubeTestData?): Response<String>
|
suspend fun addTestToDatabase(data: HemoCubeTestData?): Response<String>
|
||||||
suspend fun addQcTestToDatabase(data: HemoCubeTestData?): Response<String>
|
|
||||||
suspend fun addTestToDatabasefornew(data: HemoCubeTestData?): Response<String>
|
|
||||||
|
|
||||||
suspend fun addTestToDatabase(data: UserData?): Response<String>
|
suspend fun addTestToDatabase(data: UserData?): Response<String>
|
||||||
|
|
||||||
@@ -47,13 +29,9 @@ interface Repository {
|
|||||||
|
|
||||||
suspend fun addDiagnostics(data: DiagnosticsData?): Response<String>
|
suspend fun addDiagnostics(data: DiagnosticsData?): Response<String>
|
||||||
|
|
||||||
suspend fun addTestJigData(data: JigData?): Response<String>
|
|
||||||
|
|
||||||
suspend fun uploadFileToStorage(patientID: String, filePath: String): Response<Boolean>
|
suspend fun uploadFileToStorage(patientID: String, filePath: String): Response<Boolean>
|
||||||
|
|
||||||
suspend fun getDeviceDataById(deviceId: String): DeviceData?
|
suspend fun getDeviceDataById(deviceId: String): DeviceData?
|
||||||
suspend fun getDeviceResponse(data: DeviceData?): Response<String>
|
|
||||||
suspend fun uploadDeviceId(data: DeviceData): Response<String>?
|
|
||||||
abstract fun <UserData> addTestToDatabase(testDetails: UserData): Any
|
abstract fun <UserData> addTestToDatabase(testDetails: UserData): Any
|
||||||
// suspend fun addToDatabase(data: PatientDetails)
|
// suspend fun addToDatabase(data: PatientDetails)
|
||||||
|
|
||||||
@@ -65,8 +43,7 @@ interface Repository {
|
|||||||
|
|
||||||
suspend fun checkUpdate(checkUpdateRequest: CheckUpdateRequest): Result<CheckUpdateResponse>
|
suspend fun checkUpdate(checkUpdateRequest: CheckUpdateRequest): Result<CheckUpdateResponse>
|
||||||
|
|
||||||
suspend fun deviceUpdate(deviceUpdateRequest: DeviceUpdateRequest): retrofit2.Response<ResponseBody>
|
suspend fun deviceUpdate(deviceUpdateRequest: DeviceUpdateRequest): Result<ResponseBody>
|
||||||
suspend fun deviceDiagnostics(deviceDiagnosticsRequest: DeviceDiagnosticsRequest): Result<DeviceDiagnosticsResponse>
|
|
||||||
suspend fun downloadClientCertificate(): Result<ResponseBody>
|
|
||||||
suspend fun uploadLogs(logFile: MultipartBody.Part): Result<UploadLogsResponse>
|
suspend fun uploadLogs(logFile: MultipartBody.Part): Result<UploadLogsResponse>
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
|||||||
@@ -1,19 +1,7 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.util.Log
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
@@ -44,7 +32,7 @@ class LogFileManagerImpl @Inject constructor(private val context: Context) : Log
|
|||||||
|
|
||||||
file
|
file
|
||||||
} catch (e: IOException) {
|
} catch (e: IOException) {
|
||||||
// Log.e("LogFileManager", "Error creating log file: ${e.message}")
|
Log.e("LogFileManager", "Error creating log file: ${e.message}")
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import com.example.hpostesting.data.constant.Constants
|
import com.example.hpostesting.data.constant.Constants
|
||||||
|
|||||||
@@ -1,23 +1,10 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import com.example.hpostesting.data.repository.LocalFileRepository
|
||||||
import com.example.hpostesting.data.constant.Constants
|
import com.example.hpostesting.data.constant.Constants
|
||||||
import com.example.hpostesting.data.model.patient.UserData
|
import com.example.hpostesting.data.model.patient.UserData
|
||||||
import com.example.hpostesting.data.model.test.TestRightCalculationData
|
import com.example.hpostesting.data.model.test.TestRightCalculationData
|
||||||
import com.example.hpostesting.data.repository.LocalFileRepository
|
|
||||||
import java.util.Collections.sort
|
import java.util.Collections.sort
|
||||||
|
|
||||||
class SaveRawData(private val localFileRepository: LocalFileRepository) {
|
class SaveRawData(private val localFileRepository: LocalFileRepository) {
|
||||||
@@ -111,7 +98,7 @@ class SaveRawData(private val localFileRepository: LocalFileRepository) {
|
|||||||
folderPath: String,
|
folderPath: String,
|
||||||
fileName: String,
|
fileName: String,
|
||||||
calculationData: TestRightCalculationData,
|
calculationData: TestRightCalculationData,
|
||||||
testDetails: UserData?,
|
testDetails: UserData?
|
||||||
) {
|
) {
|
||||||
// val fileObj = File(folderPath, fileName)
|
// val fileObj = File(folderPath, fileName)
|
||||||
// val writer = FileWriter(fileObj)
|
// val writer = FileWriter(fileObj)
|
||||||
@@ -129,7 +116,7 @@ class SaveRawData(private val localFileRepository: LocalFileRepository) {
|
|||||||
|
|
||||||
private fun getLogStringFromObjWithPatientData(
|
private fun getLogStringFromObjWithPatientData(
|
||||||
calculationData: TestRightCalculationData,
|
calculationData: TestRightCalculationData,
|
||||||
testDetails: UserData?,
|
testDetails: UserData?
|
||||||
): String {
|
): String {
|
||||||
var outputString = "Test calculation logs ==>\n"
|
var outputString = "Test calculation logs ==>\n"
|
||||||
outputString += "Name = ${testDetails?.name}\n"
|
outputString += "Name = ${testDetails?.name}\n"
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import com.example.hpostesting.data.repository.LocalFileRepository
|
import com.example.hpostesting.data.repository.LocalFileRepository
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import com.example.hpostesting.data.constant.Constants
|
import com.example.hpostesting.data.constant.Constants
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.domain
|
package com.example.hpostesting.domain
|
||||||
|
|
||||||
import com.example.hpostesting.data.model.test.TestRightCalculationData
|
import com.example.hpostesting.data.model.test.TestRightCalculationData
|
||||||
|
|||||||
@@ -1,17 +1,4 @@
|
|||||||
/*
|
package com.example.hpostesting.domain.di
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.di
|
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -20,8 +7,7 @@ import android.content.res.AssetManager
|
|||||||
import androidx.room.Room
|
import androidx.room.Room
|
||||||
import com.example.hpostesting.data.api.MolbioAuthApi
|
import com.example.hpostesting.data.api.MolbioAuthApi
|
||||||
import com.example.hpostesting.data.api.MolbioResultApi
|
import com.example.hpostesting.data.api.MolbioResultApi
|
||||||
import com.example.hpostesting.data.constant.Constants
|
import com.example.hpostesting.data.api.PropertyProvider
|
||||||
import com.example.hpostesting.util.PropertyProvider
|
|
||||||
import com.example.hpostesting.data.dao.HemoCubeBufferDao
|
import com.example.hpostesting.data.dao.HemoCubeBufferDao
|
||||||
import com.example.hpostesting.data.dao.HemoCubeDao
|
import com.example.hpostesting.data.dao.HemoCubeDao
|
||||||
import com.example.hpostesting.data.dao.MyDatabase
|
import com.example.hpostesting.data.dao.MyDatabase
|
||||||
@@ -36,16 +22,12 @@ import com.example.hpostesting.domain.LogFileManager
|
|||||||
import com.example.hpostesting.domain.LogFileManagerImpl
|
import com.example.hpostesting.domain.LogFileManagerImpl
|
||||||
import com.example.hpostesting.domain.SaveRawData
|
import com.example.hpostesting.domain.SaveRawData
|
||||||
import com.example.hpostesting.domain.SaveRawDataTest
|
import com.example.hpostesting.domain.SaveRawDataTest
|
||||||
import com.example.hpostesting.presentation.utils.UsbServiceListener
|
|
||||||
import com.example.hpostesting.presentation.utils.UsbServiceListenerImpl
|
|
||||||
import com.example.hpostesting.util.PropertyProviderImpl
|
import com.example.hpostesting.util.PropertyProviderImpl
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
import net.sqlcipher.database.SQLiteDatabase
|
|
||||||
import net.sqlcipher.database.SupportFactory
|
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import retrofit2.Retrofit
|
import retrofit2.Retrofit
|
||||||
import retrofit2.converter.gson.GsonConverterFactory
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
@@ -60,12 +42,9 @@ object AppModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
fun provideMyDatabase(@ApplicationContext context: Context): MyDatabase {
|
fun provideMyDatabase(@ApplicationContext context: Context): MyDatabase {
|
||||||
val passphraseBytes: ByteArray = SQLiteDatabase.getBytes(Constants.passphrase.toCharArray())
|
|
||||||
val factory = SupportFactory(passphraseBytes)
|
|
||||||
|
|
||||||
return Room.databaseBuilder(
|
return Room.databaseBuilder(
|
||||||
context, MyDatabase::class.java, "my_database"
|
context, MyDatabase::class.java, "my_database"
|
||||||
).openHelperFactory(factory).fallbackToDestructiveMigration().build()
|
).fallbackToDestructiveMigration().build()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -166,7 +145,7 @@ object AppModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
fun provideRetrofit(
|
fun provideRetrofit(
|
||||||
propertyProvider: PropertyProvider, @Named("Auth") client: OkHttpClient
|
propertyProvider: PropertyProvider,@Named("Auth") client: OkHttpClient
|
||||||
): Retrofit {
|
): Retrofit {
|
||||||
return Retrofit.Builder().baseUrl(propertyProvider.getProperty("BASE_URL")).client(client)
|
return Retrofit.Builder().baseUrl(propertyProvider.getProperty("BASE_URL")).client(client)
|
||||||
.addConverterFactory(GsonConverterFactory.create()).build()
|
.addConverterFactory(GsonConverterFactory.create()).build()
|
||||||
@@ -200,10 +179,4 @@ object AppModule {
|
|||||||
fun provideLocalFileDataSource(): LocalFileDataSource {
|
fun provideLocalFileDataSource(): LocalFileDataSource {
|
||||||
return LocalFileDataSourceImpl()
|
return LocalFileDataSourceImpl()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
|
||||||
@Singleton
|
|
||||||
fun provideUsbServiceListener(context: Context): UsbServiceListener {
|
|
||||||
return UsbServiceListenerImpl(context)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.encryption
|
|
||||||
|
|
||||||
import android.util.Base64
|
|
||||||
import javax.crypto.Cipher
|
|
||||||
import javax.crypto.SecretKeyFactory
|
|
||||||
import javax.crypto.spec.IvParameterSpec
|
|
||||||
import javax.crypto.spec.PBEKeySpec
|
|
||||||
import javax.crypto.spec.SecretKeySpec
|
|
||||||
|
|
||||||
object Encryption {
|
|
||||||
private const val AES_MODE = "AES/CBC/PKCS5Padding"
|
|
||||||
private const val KEY_SPEC_ALGORITHM = "PBKDF2WithHmacSHA1"
|
|
||||||
private const val SALT = "Bigtec"
|
|
||||||
private const val ITERATION_COUNT = 10000
|
|
||||||
private const val KEY_LENGTH = 256
|
|
||||||
private val FIXED_IV = byteArrayOf(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
|
|
||||||
|
|
||||||
fun encrypt(textToEncrypt: String, password: String): String {
|
|
||||||
val salt = SALT.toByteArray()
|
|
||||||
val factory = SecretKeyFactory.getInstance(KEY_SPEC_ALGORITHM)
|
|
||||||
val spec = PBEKeySpec(password.toCharArray(), salt, ITERATION_COUNT, KEY_LENGTH)
|
|
||||||
val tmp = factory.generateSecret(spec)
|
|
||||||
val key = SecretKeySpec(tmp.encoded, "AES")
|
|
||||||
val cipher = Cipher.getInstance(AES_MODE)
|
|
||||||
cipher.init(Cipher.ENCRYPT_MODE, key, IvParameterSpec(FIXED_IV))
|
|
||||||
val encryptedBytes = cipher.doFinal(textToEncrypt.toByteArray(Charsets.UTF_8))
|
|
||||||
return Base64.encodeToString(encryptedBytes, Base64.NO_WRAP)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun decrypt(encryptedText: String, password: String): String {
|
|
||||||
val salt = SALT.toByteArray()
|
|
||||||
val encryptedBytes = Base64.decode(encryptedText, Base64.NO_WRAP)
|
|
||||||
val factory = SecretKeyFactory.getInstance(KEY_SPEC_ALGORITHM)
|
|
||||||
val spec = PBEKeySpec(password.toCharArray(), salt, ITERATION_COUNT, KEY_LENGTH)
|
|
||||||
val tmp = factory.generateSecret(spec)
|
|
||||||
val key = SecretKeySpec(tmp.encoded, "AES")
|
|
||||||
val cipher = Cipher.getInstance(AES_MODE)
|
|
||||||
cipher.init(Cipher.DECRYPT_MODE, key, IvParameterSpec(FIXED_IV))
|
|
||||||
val decryptedBytes = cipher.doFinal(encryptedBytes)
|
|
||||||
return String(decryptedBytes, Charsets.UTF_8)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.presentation
|
package com.example.hpostesting.presentation
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -23,12 +10,10 @@ import android.view.View
|
|||||||
import android.widget.EditText
|
import android.widget.EditText
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.example.hpostesting.data.constant.DataHolder
|
import com.example.hpostesting.data.DataHolder
|
||||||
import com.example.hpostesting.data.constant.Constants
|
import com.example.hpostesting.data.constant.Constants
|
||||||
import com.example.hpostesting.data.constant.LanguageManager
|
import com.example.hpostesting.data.constant.LanguageManager
|
||||||
import com.example.hpostesting.data.model.test.TestType
|
|
||||||
import com.example.hpostesting.presentation.dashboard.DashboardActivity
|
import com.example.hpostesting.presentation.dashboard.DashboardActivity
|
||||||
import com.example.hpostesting.presentation.hb_test.HBTestActivity
|
|
||||||
import com.example.hpostesting.presentation.hemocube.HemocubeActivity
|
import com.example.hpostesting.presentation.hemocube.HemocubeActivity
|
||||||
import com.example.hpostesting.presentation.testRight.TestRightActivity
|
import com.example.hpostesting.presentation.testRight.TestRightActivity
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
@@ -46,14 +31,9 @@ import com.zebra.scannercontrol.IDcsSdkApiDelegate
|
|||||||
import com.zebra.scannercontrol.SDKHandler
|
import com.zebra.scannercontrol.SDKHandler
|
||||||
import `in`.sminnovations.hpostesting.R
|
import `in`.sminnovations.hpostesting.R
|
||||||
import `in`.sminnovations.hpostesting.databinding.ActivityKitScanBinding
|
import `in`.sminnovations.hpostesting.databinding.ActivityKitScanBinding
|
||||||
import java.text.SimpleDateFormat
|
|
||||||
import java.util.Calendar
|
|
||||||
import java.util.Date
|
|
||||||
import java.util.Locale
|
|
||||||
import kotlin.math.max
|
|
||||||
|
|
||||||
class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
||||||
private var fromWhere = "Home"
|
|
||||||
private val TAG = "KitScanActivity"
|
private val TAG = "KitScanActivity"
|
||||||
private lateinit var binding: ActivityKitScanBinding
|
private lateinit var binding: ActivityKitScanBinding
|
||||||
|
|
||||||
@@ -74,24 +54,8 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun processScannedData(contents: String) {//edited auto selection of cuvette size
|
private fun processScannedData(contents: String) {
|
||||||
if(contents.contains("SMI/SC/")){
|
|
||||||
with(sharedPreference.edit()) {
|
|
||||||
putString(Constants.CUVETTE_SIZE, "2mm")
|
|
||||||
apply()
|
|
||||||
}
|
|
||||||
Toast.makeText(this, "Selected cuvette size: 2mm", Toast.LENGTH_SHORT).show()
|
|
||||||
binding.nameEditText.setText(contents)
|
binding.nameEditText.setText(contents)
|
||||||
}else if(contents.contains("SMI/SC-2-D10/")){
|
|
||||||
with(sharedPreference.edit()) {
|
|
||||||
putString(Constants.CUVETTE_SIZE, "10mm")
|
|
||||||
apply()
|
|
||||||
}
|
|
||||||
Toast.makeText(this, "Selected cuvette size: 10mm", Toast.LENGTH_SHORT).show()
|
|
||||||
binding.nameEditText.setText(contents)
|
|
||||||
}else{
|
|
||||||
Toast.makeText(this, R.string.invalid_kit, Toast.LENGTH_LONG).show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun attachBaseContext(newBase: Context?) {
|
override fun attachBaseContext(newBase: Context?) {
|
||||||
@@ -123,7 +87,7 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
|
|
||||||
override fun dcssdkEventAuxScannerAppeared(
|
override fun dcssdkEventAuxScannerAppeared(
|
||||||
dcsScannerInfo: DCSScannerInfo?,
|
dcsScannerInfo: DCSScannerInfo?,
|
||||||
dcsScannerInfo1: DCSScannerInfo?,
|
dcsScannerInfo1: DCSScannerInfo?
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,71 +99,56 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
binding = ActivityKitScanBinding.inflate(layoutInflater)
|
binding = ActivityKitScanBinding.inflate(layoutInflater)
|
||||||
sharedPreference = this.getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE)
|
sharedPreference = this.getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
binding.toolbar.title = "Kit Serial Number"
|
|
||||||
fromWhere = intent.getStringExtra("fromWhere").toString()
|
|
||||||
val maxTest = if(sharedPreference.getString(Constants.CUVETTE_SIZE, "10mm").toString() == "2mm"){
|
|
||||||
Constants.MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE
|
|
||||||
}else{
|
|
||||||
Constants.MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE10MM
|
|
||||||
}
|
|
||||||
val time = timeDifference(sharedPreference.getString(Constants.KIT_TIME, "").toString())
|
|
||||||
val kitNum = sharedPreference.getString(Constants.KIT_NUMBER, "").toString()
|
|
||||||
// Toast.makeText(this@KitScanActivity,"Test MAx time"+ time+"-Test count-"+kitNum,Toast.LENGTH_SHORT).show()
|
|
||||||
|
|
||||||
if (DataHolder.sampleReadCounter <= maxTest && kitNum != "" && time < Constants.MAX_KIT_TIME) {
|
if (DataHolder.sampleReadCounter <= Constants.MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE && DataHolder.isReferenceTaken) {
|
||||||
|
DataHolder.selectedTest!!.kitSerial = DataHolder.kitSerial
|
||||||
|
moveToNext()
|
||||||
|
}
|
||||||
|
|
||||||
|
// if (checkHemoCubeKitData()) {
|
||||||
|
// DataHolder.selectedTest!!.kitSerial =
|
||||||
|
// sharedPreference.getString(Constants.KIT_NUMBER, "").toString()
|
||||||
|
// moveToNext()
|
||||||
|
// } else {
|
||||||
|
// with(sharedPreference.edit()) {
|
||||||
|
// putString(Constants.KIT_NUMBER, "")
|
||||||
|
// putInt(Constants.KIT_COUNT, 0)
|
||||||
|
// putString(Constants.BUFFER_VALUE_1, "")
|
||||||
|
// putString(Constants.BUFFER_VALUE_2, "")
|
||||||
|
// apply()
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (checkHemoCubeKitData()) {
|
||||||
|
DataHolder.selectedTest!!.kitSerial =
|
||||||
|
sharedPreference.getString(Constants.KIT_NUMBER, "").toString()
|
||||||
moveToNext()
|
moveToNext()
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(this@KitScanActivity, "Limit Reached, Use New KIT for testing", Toast.LENGTH_SHORT).show()
|
// Handle the case when checkHemoCubeKitData() returns false
|
||||||
DataHolder.sampleReadCounter = 0
|
|
||||||
DataHolder.kitSerial = ""
|
|
||||||
|
|
||||||
with(sharedPreference.edit()) {
|
with(sharedPreference.edit()) {
|
||||||
putString(Constants.KIT_NUMBER, "")
|
putString(Constants.KIT_NUMBER, "")
|
||||||
|
putInt(Constants.KIT_COUNT, 0)
|
||||||
putString(Constants.BUFFER_VALUE_1, "")
|
putString(Constants.BUFFER_VALUE_1, "")
|
||||||
putString(Constants.BUFFER_VALUE_2, "")
|
putString(Constants.BUFFER_VALUE_2, "")
|
||||||
apply()
|
apply()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch (e: NullPointerException) {
|
||||||
|
// Handle the NullPointerException here
|
||||||
|
e.printStackTrace() // You can log the exception for debugging
|
||||||
|
FirebaseCrashlytics.getInstance().recordException(e)
|
||||||
|
val errorMessage = "An error occurred: ${e.message}"
|
||||||
|
val rootView = findViewById<View>(android.R.id.content)
|
||||||
|
Snackbar.make(rootView, errorMessage, Snackbar.LENGTH_LONG).show()
|
||||||
|
// Optionally, show a user-friendly error message to the user
|
||||||
|
// Toast.makeText(applicationContext, "An error occurred", Toast.LENGTH_SHORT).show()
|
||||||
|
}
|
||||||
|
|
||||||
// if (checkHemoCubeKitData()) {
|
|
||||||
// DataHolder.selectedTest!!.kitSerial =
|
|
||||||
// sharedPreference.getString(Constants.KIT_NUMBER, "").toString()
|
|
||||||
// moveToNext()
|
|
||||||
// } else {
|
|
||||||
// with(sharedPreference.edit()) {
|
|
||||||
// putString(Constants.KIT_NUMBER, "")
|
|
||||||
// putInt(Constants.KIT_COUNT, 0)
|
|
||||||
// putString(Constants.BUFFER_VALUE_1, "")
|
|
||||||
// putString(Constants.BUFFER_VALUE_2, "")
|
|
||||||
// apply()
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// try {
|
binding.nameEditText.setText("SMI/SC/")
|
||||||
// if (checkHemoCubeKitData()) {
|
|
||||||
// DataHolder.selectedTest!!.kitSerial =
|
|
||||||
// sharedPreference.getString(Constants.KIT_NUMBER, "").toString()
|
|
||||||
// moveToNext()
|
|
||||||
// } else {
|
|
||||||
// // Handle the case when checkHemoCubeKitData() returns false
|
|
||||||
// with(sharedPreference.edit()) {
|
|
||||||
// putString(Constants.KIT_NUMBER, "")
|
|
||||||
// putInt(Constants.KIT_COUNT, 0)
|
|
||||||
// putString(Constants.BUFFER_VALUE_1, "")
|
|
||||||
// putString(Constants.BUFFER_VALUE_2, "")
|
|
||||||
// apply()
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// } catch (e: NullPointerException) {
|
|
||||||
// // Handle the NullPointerException here
|
|
||||||
// e.printStackTrace() // You can log the exception for debugging
|
|
||||||
// FirebaseCrashlytics.getInstance().recordException(e)
|
|
||||||
// val errorMessage = "An error occurred: ${e.message}"
|
|
||||||
// val rootView = findViewById<View>(android.R.id.content)
|
|
||||||
// Snackbar.make(rootView, errorMessage, Snackbar.LENGTH_LONG).show()
|
|
||||||
// // Optionally, show a user-friendly error message to the user
|
|
||||||
// // Toast.makeText(applicationContext, "An error occurred", Toast.LENGTH_SHORT).show()
|
|
||||||
// }
|
|
||||||
setSupportActionBar(binding.toolbar)
|
setSupportActionBar(binding.toolbar)
|
||||||
|
|
||||||
binding.btnScanNow.setOnClickListener {
|
binding.btnScanNow.setOnClickListener {
|
||||||
@@ -207,42 +156,24 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
pullTrigger()
|
pullTrigger()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
binding.btnGo.setOnClickListener {
|
binding.btnGo.setOnClickListener {
|
||||||
val serialNumber = binding.nameEditText.text.toString().trim()
|
val serialNumber = binding.nameEditText.text.toString().trim()
|
||||||
if (serialNumber.isNotEmpty() && isSerialValid(serialNumber)) {
|
if (serialNumber.isNotEmpty() && isSerialValid(serialNumber)) {
|
||||||
if(serialNumber.contains("SMI/SC/")){
|
|
||||||
with(sharedPreference.edit()) {
|
|
||||||
putString(Constants.CUVETTE_SIZE, "2mm")
|
|
||||||
apply()
|
|
||||||
}
|
|
||||||
Toast.makeText(this, "Selected cuvette size: 2mm", Toast.LENGTH_SHORT).show()
|
|
||||||
}else if(serialNumber.contains("SMI/SC-2-D10/")){
|
|
||||||
with(sharedPreference.edit()) {
|
|
||||||
putString(Constants.CUVETTE_SIZE, "10mm")
|
|
||||||
apply()
|
|
||||||
}
|
|
||||||
Toast.makeText(this, "Selected cuvette size: 10mm", Toast.LENGTH_SHORT).show()
|
|
||||||
}
|
|
||||||
val kitTime = SimpleDateFormat(
|
|
||||||
"yyyy-MM-dd HH:mm:ss", Locale.getDefault()
|
|
||||||
).format(Calendar.getInstance().time).toString()
|
|
||||||
if (DataHolder.selectedTest == null) {
|
if (DataHolder.selectedTest == null) {
|
||||||
with(sharedPreference.edit()) {
|
with(sharedPreference.edit()) {
|
||||||
putString(
|
putString(
|
||||||
Constants.KIT_NUMBER, binding.nameEditText.text.toString()
|
Constants.KIT_NUMBER, binding.nameEditText.text.toString()
|
||||||
)
|
)
|
||||||
putString(Constants.BUFFER_VALUE_1, "")
|
|
||||||
putString(Constants.BUFFER_VALUE_2, "")
|
|
||||||
putString(Constants.KIT_TIME, kitTime)
|
|
||||||
putInt(Constants.KIT_COUNT, 1)
|
putInt(Constants.KIT_COUNT, 1)
|
||||||
apply()
|
apply()
|
||||||
}
|
}
|
||||||
DataHolder.kitSerial = binding.nameEditText.text.toString()
|
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
applicationContext,
|
applicationContext,
|
||||||
R.string.kit_updated,
|
R.string.kit_updated,
|
||||||
Toast.LENGTH_SHORT
|
Toast.LENGTH_SHORT
|
||||||
).show()
|
).show()
|
||||||
|
|
||||||
val i = Intent(applicationContext, DashboardActivity::class.java)
|
val i = Intent(applicationContext, DashboardActivity::class.java)
|
||||||
startActivity(i)
|
startActivity(i)
|
||||||
finish()
|
finish()
|
||||||
@@ -250,9 +181,6 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
DataHolder.kitSerial = binding.nameEditText.text.toString()
|
DataHolder.kitSerial = binding.nameEditText.text.toString()
|
||||||
DataHolder.selectedTest?.kitSerial = binding.nameEditText.text.toString()
|
DataHolder.selectedTest?.kitSerial = binding.nameEditText.text.toString()
|
||||||
with(sharedPreference.edit()) {
|
with(sharedPreference.edit()) {
|
||||||
putString(Constants.BUFFER_VALUE_1, "")
|
|
||||||
putString(Constants.BUFFER_VALUE_2, "")
|
|
||||||
putString(Constants.KIT_TIME, kitTime)
|
|
||||||
putString(Constants.KIT_NUMBER, binding.nameEditText.text.toString())
|
putString(Constants.KIT_NUMBER, binding.nameEditText.text.toString())
|
||||||
putInt(Constants.KIT_COUNT, 1)
|
putInt(Constants.KIT_COUNT, 1)
|
||||||
apply()
|
apply()
|
||||||
@@ -263,71 +191,90 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
Toast.makeText(this, R.string.invalid_kit_number, Toast.LENGTH_LONG).show()
|
Toast.makeText(this, R.string.invalid_kit_number, Toast.LENGTH_LONG).show()
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
// if (serialNumber.isNotEmpty() && checkDataNotNull() && isSerialValid(
|
if (serialNumber.isNotEmpty() && checkDataNotNull() && isSerialValid(
|
||||||
// serialNumber
|
serialNumber
|
||||||
// )
|
)
|
||||||
// ) {
|
) {
|
||||||
// DataHolder.kitSerial = binding.nameEditText.text.toString()
|
DataHolder.kitSerial = binding.nameEditText.text.toString()
|
||||||
// DataHolder.selectedTest?.kitSerial = binding.nameEditText.text.toString()
|
DataHolder.selectedTest?.kitSerial = binding.nameEditText.text.toString()
|
||||||
// with(sharedPreference.edit()) {
|
with(sharedPreference.edit()) {
|
||||||
// putString(Constants.KIT_NUMBER, binding.nameEditText.text.toString())
|
putString(Constants.KIT_NUMBER, binding.nameEditText.text.toString())
|
||||||
// putInt(Constants.KIT_COUNT, 1)
|
putInt(Constants.KIT_COUNT, 1)
|
||||||
// apply()
|
apply()
|
||||||
// }
|
}
|
||||||
// moveToNext()
|
moveToNext()
|
||||||
// } else {
|
} else {
|
||||||
// Toast.makeText(this, R.string.invalid_kit_number, Toast.LENGTH_LONG).show()
|
Toast.makeText(this, R.string.invalid_kit_number, Toast.LENGTH_LONG).show()
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Setting up the SDK handler
|
||||||
|
|
||||||
//Setting up the SDK handler
|
//Setting up the SDK handler
|
||||||
sdkHandler = SDKHandler(this)
|
sdkHandler = SDKHandler(this)
|
||||||
|
|
||||||
|
//Registers a particular object which conforms to IDcsSdkApiDelegate interface as a receiver of SDK notifications.
|
||||||
|
|
||||||
//Registers a particular object which conforms to IDcsSdkApiDelegate interface as a receiver of SDK notifications.
|
//Registers a particular object which conforms to IDcsSdkApiDelegate interface as a receiver of SDK notifications.
|
||||||
sdkHandler!!.dcssdkSetDelegate(this)
|
sdkHandler!!.dcssdkSetDelegate(this)
|
||||||
|
|
||||||
|
//this command is telling the sdk that we're going to be connecting to the scanner via USB
|
||||||
|
|
||||||
//this command is telling the sdk that we're going to be connecting to the scanner via USB
|
//this command is telling the sdk that we're going to be connecting to the scanner via USB
|
||||||
sdkHandler!!.dcssdkSetOperationalMode(DCSSDKDefs.DCSSDK_MODE.DCSSDK_OPMODE_SNAPI)
|
sdkHandler!!.dcssdkSetOperationalMode(DCSSDKDefs.DCSSDK_MODE.DCSSDK_OPMODE_SNAPI)
|
||||||
|
|
||||||
|
|
||||||
|
//deciding what kind of notifications we want to receive. Explained more in the function
|
||||||
|
//first we use bitmapping to set these values into the notifications_mask.
|
||||||
|
|
||||||
|
|
||||||
//deciding what kind of notifications we want to receive. Explained more in the function
|
//deciding what kind of notifications we want to receive. Explained more in the function
|
||||||
//first we use bitmapping to set these values into the notifications_mask.
|
//first we use bitmapping to set these values into the notifications_mask.
|
||||||
var notifications_mask = 0
|
var notifications_mask = 0
|
||||||
// We would like to subscribe to all barcode events
|
// We would like to subscribe to all barcode events
|
||||||
|
// We would like to subscribe to all barcode events
|
||||||
notifications_mask =
|
notifications_mask =
|
||||||
notifications_mask or DCSSDKDefs.DCSSDK_EVENT.DCSSDK_EVENT_BARCODE.value
|
notifications_mask or DCSSDKDefs.DCSSDK_EVENT.DCSSDK_EVENT_BARCODE.value
|
||||||
|
// subscribe to events set in notification mask
|
||||||
|
// subscribe to events set in notification mask
|
||||||
sdkHandler!!.dcssdkSubsribeForEvents(notifications_mask)
|
sdkHandler!!.dcssdkSubsribeForEvents(notifications_mask)
|
||||||
|
|
||||||
|
|
||||||
|
//so adding all the scanners to the mScannerInfoList, then connecting to the first scanner.
|
||||||
|
//There's only one scanner so this step is unnecessary, I did it thinking about possible scalability.
|
||||||
|
//here I just get the list of available scanners which also returns the USB scanner attached to the tinker board.
|
||||||
|
|
||||||
|
|
||||||
|
//so adding all the scanners to the mScannerInfoList, then connecting to the first scanner.
|
||||||
|
//There's only one scanner so this step is unnecessary, I did it thinking about possible scalability.
|
||||||
|
//here I just get the list of available scanners which also returns the USB scanner attached to the tinker board.
|
||||||
mScannerInfoList.addAll(sdkHandler!!.dcssdkGetAvailableScannersList())
|
mScannerInfoList.addAll(sdkHandler!!.dcssdkGetAvailableScannersList())
|
||||||
Log.e("scannersize", sdkHandler!!.dcssdkGetAvailableScannersList().size.toString())
|
|
||||||
|
//I'm doing mScannerInfoList.get(0) because there's only one scanner which will be at position 0.
|
||||||
|
|
||||||
|
//I'm doing mScannerInfoList.get(0) because there's only one scanner which will be at position 0.
|
||||||
if (mScannerInfoList.isNotEmpty()) {
|
if (mScannerInfoList.isNotEmpty()) {
|
||||||
sdkHandler!!.dcssdkEstablishCommunicationSession(mScannerInfoList[0].scannerID)
|
sdkHandler!!.dcssdkEstablishCommunicationSession(mScannerInfoList[0].scannerID)
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(this,"Scanner Is not available In this device", Toast.LENGTH_LONG).show()
|
Toast.makeText(this, "No scanner is Available", Toast.LENGTH_LONG).show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun pullTrigger() {
|
fun pullTrigger() {
|
||||||
// Check if the list is not empty before accessing its elements
|
|
||||||
if (mScannerInfoList.isNotEmpty()) {
|
|
||||||
// Only proceed if the scanner is not active
|
|
||||||
if (!mScannerInfoList[0].isActive) {
|
if (!mScannerInfoList[0].isActive) {
|
||||||
sdkHandler?.dcssdkEstablishCommunicationSession(mScannerInfoList[0].scannerID)
|
sdkHandler!!.dcssdkEstablishCommunicationSession(mScannerInfoList[0].scannerID)
|
||||||
}
|
}
|
||||||
val inXML = "<inArgs><scannerID> 1 </scannerID></inArgs>"
|
val inXML = "<inArgs><scannerID> 1 </scannerID></inArgs>"
|
||||||
val outXML = StringBuilder()
|
val outXML = StringBuilder()
|
||||||
val result: DCSSDK_RESULT =
|
val result: DCSSDK_RESULT =
|
||||||
sdkHandler!!.dcssdkExecuteCommandOpCodeInXMLForScanner(
|
sdkHandler!!.dcssdkExecuteCommandOpCodeInXMLForScanner(
|
||||||
DCSSDK_COMMAND_OPCODE.DCSSDK_DEVICE_PULL_TRIGGER,
|
DCSSDK_COMMAND_OPCODE.DCSSDK_DEVICE_PULL_TRIGGER, inXML, outXML, 1
|
||||||
inXML,
|
|
||||||
outXML,
|
|
||||||
mScannerInfoList[0].scannerID // Ensure you're using the correct scanner ID
|
|
||||||
)
|
)
|
||||||
if (result == DCSSDK_RESULT.DCSSDK_RESULT_SUCCESS) {
|
if (result == DCSSDK_RESULT.DCSSDK_RESULT_SUCCESS) Log.d(
|
||||||
Log.d("Scanning", "Success")
|
"Scanning",
|
||||||
} else if (result == DCSSDK_RESULT.DCSSDK_RESULT_FAILURE) {
|
"Success"
|
||||||
Log.d("Scanning", "Failed")
|
) else if (result == DCSSDK_RESULT.DCSSDK_RESULT_FAILURE) Log.d("Scanning", "Failed")
|
||||||
}
|
//new MyAsyncTask(1, DCSSDKDefs.DCSSDK_COMMAND_OPCODE.DCSSDK_DEVICE_PULL_TRIGGER,null).execute(inXML);
|
||||||
} else {
|
|
||||||
// Handle the case where the list is empty, perhaps notify the user or log an error
|
|
||||||
Log.e("ScannerError", "No scanners are connected or available.")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//this function is called if barcode is detected.
|
//this function is called if barcode is detected.
|
||||||
@@ -336,41 +283,27 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
Log.d("BARCODE", result)
|
Log.d("BARCODE", result)
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
val editableResult: Editable = Editable.Factory.getInstance().newEditable(result)
|
val editableResult: Editable = Editable.Factory.getInstance().newEditable(result)
|
||||||
processScannedData(result)
|
binding.nameEditText.text = editableResult
|
||||||
// binding.nameEditText.text = editableResult
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// private fun checkHemoCubeKitData(): Boolean {
|
private fun checkHemoCubeKitData(): Boolean {
|
||||||
// return sharedPreference.getString(Constants.KIT_NUMBER, "")
|
return sharedPreference.getString(Constants.KIT_NUMBER, "")
|
||||||
// ?.isNotBlank() == true && sharedPreference.getInt(
|
?.isNotBlank() == true && sharedPreference.getInt(
|
||||||
// Constants.KIT_COUNT, 0
|
Constants.KIT_COUNT, 0
|
||||||
// ) > 0 && sharedPreference.getInt(Constants.KIT_COUNT, 0) < Constants.KIT_CAPACITY
|
) > 0 && sharedPreference.getInt(Constants.KIT_COUNT, 0) < 35
|
||||||
// }
|
}
|
||||||
|
|
||||||
private fun isSerialValid(s: String): Boolean {
|
private fun isSerialValid(s: String): Boolean {
|
||||||
if (s.contains("SMI/SC/")) {
|
if (s.length != 17) {
|
||||||
if(s.length != 17){
|
binding.nameEditText.error = getString(R.string.invalid_kit)
|
||||||
binding.nameEditText.error = "Invalid Kit Serial Number, correct example SMI/SC/000/00/000"
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}else if(s.contains("SMI/SC-2-D10/")){
|
|
||||||
if(s.length != 27){
|
|
||||||
binding.nameEditText.error = "Invalid Kit Serial Number, correct example SMI/SC-2-D10/000000/000/000"
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun moveToNext() {
|
private fun moveToNext() {
|
||||||
if(fromWhere == "Main"){
|
|
||||||
if(DataHolder.selectedTestType == TestType.HB_EST){
|
|
||||||
val i = Intent(applicationContext, HBTestActivity::class.java)
|
|
||||||
startActivity(i)
|
|
||||||
}else{
|
|
||||||
DataHolder.deviceType.observe(this) { deviceType ->
|
DataHolder.deviceType.observe(this) { deviceType ->
|
||||||
when (deviceType) {
|
when (deviceType) {
|
||||||
Constants.DEVICE_TYPE_HEMOCUBE -> {
|
Constants.DEVICE_TYPE_HEMOCUBE -> {
|
||||||
@@ -390,8 +323,6 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun startScanningNow() {
|
private fun startScanningNow() {
|
||||||
val options = ScanOptions()
|
val options = ScanOptions()
|
||||||
@@ -423,18 +354,4 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate {
|
|||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private fun timeDifference(createdAt: String): Long {
|
|
||||||
val currentTime = Calendar.getInstance().time
|
|
||||||
val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault())
|
|
||||||
|
|
||||||
val createdAtDate: Date = if (createdAt.isEmpty()) {
|
|
||||||
currentTime
|
|
||||||
} else {
|
|
||||||
formatter.parse(createdAt) ?: currentTime
|
|
||||||
}
|
|
||||||
|
|
||||||
val diffMillis = currentTime.time - createdAtDate.time
|
|
||||||
|
|
||||||
return diffMillis / (60 * 1000) // Convert milliseconds to minutes
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,3 @@
|
|||||||
/*
|
|
||||||
* // Copyright (c) 2024 ShanMukha Innovations Pvt. Ltd. All rights reserved.
|
|
||||||
* // Notice: All information contained herein is, and remains
|
|
||||||
* // the property of ShanMukha Innovations Pvt. Ltd. and its suppliers,
|
|
||||||
* // if any. The intellectual and technical concepts contained
|
|
||||||
* // herein are proprietary to ShanMukha Innovations Pvt. Ltd.
|
|
||||||
* // and its suppliers and may be covered by Indian and Foreign Patents,
|
|
||||||
* // patents in process, and are protected by trade secret or copyright law.
|
|
||||||
* // Dissemination of this information or reproduction of this material
|
|
||||||
* // is strictly forbidden unless prior written permission is obtained
|
|
||||||
* // from ShanMukha Innovations Pvt. Ltd.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.example.hpostesting.presentation
|
package com.example.hpostesting.presentation
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
@@ -30,7 +17,7 @@ import androidx.appcompat.app.AppCompatActivity
|
|||||||
import androidx.core.app.ActivityCompat
|
import androidx.core.app.ActivityCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.view.get
|
import androidx.core.view.get
|
||||||
import com.example.hpostesting.data.constant.DataHolder
|
import com.example.hpostesting.data.DataHolder
|
||||||
import com.example.hpostesting.data.constant.Constants
|
import com.example.hpostesting.data.constant.Constants
|
||||||
import com.example.hpostesting.data.constant.LanguageManager
|
import com.example.hpostesting.data.constant.LanguageManager
|
||||||
import com.example.hpostesting.data.model.patient.UserData
|
import com.example.hpostesting.data.model.patient.UserData
|
||||||
@@ -75,7 +62,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
binding.myToolbar.title = "Test Type"
|
|
||||||
setSupportActionBar(binding.myToolbar)
|
setSupportActionBar(binding.myToolbar)
|
||||||
|
|
||||||
setupListeners()
|
setupListeners()
|
||||||
@@ -84,10 +71,10 @@ class MainActivity : AppCompatActivity() {
|
|||||||
locationCallback = object : LocationCallback() {
|
locationCallback = object : LocationCallback() {
|
||||||
override fun onLocationResult(locationResult: LocationResult) {
|
override fun onLocationResult(locationResult: LocationResult) {
|
||||||
locationResult.lastLocation?.let { location ->
|
locationResult.lastLocation?.let { location ->
|
||||||
// DataHolder.location =
|
DataHolder.location =
|
||||||
// UserData.Location(location.latitude, location.longitude)
|
UserData.Location(location.latitude, location.longitude)
|
||||||
// DataHolder.selectedTest?.location =
|
DataHolder.selectedTest?.location =
|
||||||
// UserData.Location(location.latitude, location.longitude)
|
UserData.Location(location.latitude, location.longitude)
|
||||||
Log.i("Location", DataHolder.location.toString())
|
Log.i("Location", DataHolder.location.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -111,10 +98,10 @@ class MainActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (DataHolder.selectedTest == null) {
|
if (DataHolder.selectedTest == null) {
|
||||||
// startActivity(Intent(this, DashboardActivity::class.java))
|
startActivity(Intent(this, DashboardActivity::class.java))
|
||||||
// finish()
|
finish()
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkAndUpdateUsbConnection() {
|
private fun checkAndUpdateUsbConnection() {
|
||||||
@@ -124,11 +111,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
val deviceType = when {
|
val deviceType = when {
|
||||||
availableDrivers.isNotEmpty() -> {
|
availableDrivers.isNotEmpty() -> {
|
||||||
val device = availableDrivers[0].device
|
val device = availableDrivers[0].device
|
||||||
Toast.makeText(
|
Toast.makeText(this, "Connected, productId: ${device.productId}, vendorId: ${device.vendorId}", Toast.LENGTH_SHORT).show()
|
||||||
this,
|
|
||||||
"Connected, productId: ${device.productId}, vendorId: ${device.vendorId}",
|
|
||||||
Toast.LENGTH_SHORT
|
|
||||||
).show()
|
|
||||||
when {
|
when {
|
||||||
device.productId == Constants.HOMO_CUBE_ID && device.vendorId == Constants.VENDOR_ID -> {
|
device.productId == Constants.HOMO_CUBE_ID && device.vendorId == Constants.VENDOR_ID -> {
|
||||||
binding.cvItem1.visibility = View.VISIBLE
|
binding.cvItem1.visibility = View.VISIBLE
|
||||||
@@ -166,15 +149,6 @@ class MainActivity : AppCompatActivity() {
|
|||||||
Constants.DEVICE_TYPE_HEMOCUBE
|
Constants.DEVICE_TYPE_HEMOCUBE
|
||||||
}
|
}
|
||||||
|
|
||||||
device.productId == 4614 && device.vendorId == 7111 -> {
|
|
||||||
binding.cvItem1.visibility = View.VISIBLE
|
|
||||||
binding.cvItem3.visibility = View.VISIBLE
|
|
||||||
binding.cvItem2.visibility = View.GONE
|
|
||||||
binding.cvItem4.visibility = View.GONE
|
|
||||||
DataHolder.deviceType.postValue(Constants.DEVICE_TYPE_HEMOCUBE)
|
|
||||||
Constants.DEVICE_TYPE_HEMOCUBE
|
|
||||||
}
|
|
||||||
|
|
||||||
device.productId == Constants.DEVICE_PRODUCT_ID && device.vendorId == Constants.DEVICE_VENDOR_ID -> {
|
device.productId == Constants.DEVICE_PRODUCT_ID && device.vendorId == Constants.DEVICE_VENDOR_ID -> {
|
||||||
Log.d(
|
Log.d(
|
||||||
TAG,
|
TAG,
|
||||||
@@ -220,7 +194,6 @@ class MainActivity : AppCompatActivity() {
|
|||||||
binding.cvItem1.setOnClickListener {
|
binding.cvItem1.setOnClickListener {
|
||||||
DataHolder.selectedTestType = TestType.SICKLECERT
|
DataHolder.selectedTestType = TestType.SICKLECERT
|
||||||
val i = Intent(applicationContext, KitScanActivity::class.java)
|
val i = Intent(applicationContext, KitScanActivity::class.java)
|
||||||
i.putExtra("fromWhere","Main")
|
|
||||||
startActivity(i)
|
startActivity(i)
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
@@ -228,14 +201,6 @@ class MainActivity : AppCompatActivity() {
|
|||||||
binding.cvItem2.setOnClickListener {
|
binding.cvItem2.setOnClickListener {
|
||||||
DataHolder.selectedTestType = TestType.SICKLEFIND
|
DataHolder.selectedTestType = TestType.SICKLEFIND
|
||||||
val i = Intent(applicationContext, KitScanActivity::class.java)
|
val i = Intent(applicationContext, KitScanActivity::class.java)
|
||||||
i.putExtra("fromWhere","Main")
|
|
||||||
startActivity(i)
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
binding.cvItem3.setOnClickListener {
|
|
||||||
DataHolder.selectedTestType = TestType.HB_EST
|
|
||||||
val i = Intent(applicationContext, KitScanActivity::class.java)
|
|
||||||
i.putExtra("fromWhere","Main")
|
|
||||||
startActivity(i)
|
startActivity(i)
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
@@ -323,14 +288,14 @@ class MainActivity : AppCompatActivity() {
|
|||||||
fusedLocationClient.lastLocation.addOnSuccessListener { location: Location? ->
|
fusedLocationClient.lastLocation.addOnSuccessListener { location: Location? ->
|
||||||
location?.let {
|
location?.let {
|
||||||
if (DataHolder.selectedTest != null) {
|
if (DataHolder.selectedTest != null) {
|
||||||
// DataHolder.selectedTest!!.location =
|
DataHolder.selectedTest!!.location =
|
||||||
// UserData.Location(location.latitude, location.longitude)
|
UserData.Location(location.latitude, location.longitude)
|
||||||
} else {
|
} else {
|
||||||
startActivity(Intent(this, DashboardActivity::class.java))
|
startActivity(Intent(this, DashboardActivity::class.java))
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
// DataHolder.location =
|
DataHolder.location =
|
||||||
// UserData.Location(location.latitude, location.longitude)
|
UserData.Location(location.latitude, location.longitude)
|
||||||
} ?: run {
|
} ?: run {
|
||||||
requestLocationUpdates()
|
requestLocationUpdates()
|
||||||
}
|
}
|
||||||
@@ -374,7 +339,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onRequestPermissionsResult(
|
override fun onRequestPermissionsResult(
|
||||||
requestCode: Int, permissions: Array<String>, grantResults: IntArray,
|
requestCode: Int, permissions: Array<String>, grantResults: IntArray
|
||||||
) {
|
) {
|
||||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||||
when (requestCode) {
|
when (requestCode) {
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user