From 53c36d3cf9494009f747375c2e0a8ad8aa49b268 Mon Sep 17 00:00:00 2001 From: Mariya Date: Thu, 7 Mar 2024 12:11:27 +0530 Subject: [PATCH 1/7] added different id and set as primary key for testing twice with same sample Id and uploading the result, offline ,issue fixed, and set ADMIN as user that can only download and export CSV file, for collecting user Data --- .../hpostesting/data/dao/HemoCubeDao.kt | 1 + .../hpostesting/data/dao/MyDataBase.kt | 2 +- .../datasource/LocalFileDataSourceImpl.kt | 5 +- .../data/model/patient/HemoCubeTestData.kt | 3 +- .../presentation/dashboard/HomeFragment.kt | 161 +++++++++--------- 5 files changed, 90 insertions(+), 82 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt b/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt index b414b3e..3c278a2 100644 --- a/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt +++ b/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt @@ -5,6 +5,7 @@ import androidx.room.Dao import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query +import androidx.room.Update import com.example.hpostesting.data.model.patient.HemoCubeTestData import com.example.hpostesting.data.model.patient.UserData @Dao diff --git a/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt b/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt index a5e10be..6776455 100644 --- a/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt +++ b/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt @@ -10,7 +10,7 @@ import com.example.hpostesting.data.model.patient.UserData @Database( entities = [UserData::class, HemoCubeTestData::class, DeviceData::class, BufferCheckData::class], - version = 28, + version = 29, exportSchema = false ) @TypeConverters(Converters::class) diff --git a/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSourceImpl.kt b/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSourceImpl.kt index a388503..a6c8f37 100644 --- a/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSourceImpl.kt +++ b/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSourceImpl.kt @@ -89,8 +89,9 @@ class LocalFileDataSourceImpl @Inject constructor() : LocalFileDataSource { ) csvWriter.writeNext(header) - // Write data rows - for (data in dataList) { + // 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, diff --git a/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt b/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt index 43a164c..88fbf60 100644 --- a/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt +++ b/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt @@ -5,7 +5,8 @@ import androidx.room.PrimaryKey @Entity(tableName = "hemo_cube_test_table") data class HemoCubeTestData( - @PrimaryKey + @PrimaryKey(autoGenerate = true) + var sampleid: Int = 0, var _id: String = "", var name: String = "", var incubationTime: String = "", diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index 79db431..a79414d 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -122,6 +122,8 @@ class HomeFragment : Fragment() { userData.forEach { if (it.testStatus == false) { userList.add(it) + }else if(it.testStatus == true){ + userList.removeAll(userData) } } val bm = requireContext().getSystemService(BATTERY_SERVICE) as BatteryManager @@ -244,27 +246,28 @@ class HomeFragment : Fragment() { binding.uploadData.setOnClickListener { // showUploadDialog(requireContext()) } -// hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userData -> -// -// val btnSaveLocalVisibility = -// if (userData.any { it.testStatus == true }) View.GONE else View.GONE -// -// binding.downloadCSV.visibility = btnSaveLocalVisibility -// -// binding.downloadCSV.setOnClickListener { -// if (btnSaveLocalVisibility == View.VISIBLE) { -// // Execute the action when the button is visible (testStatus is true for at least one user) -// showDownloadDialog(requireContext()) -// } else { -// // Handle the case when the button is not visible -// Toast.makeText( -// requireContext(), -// "No test details stored locally", -// Toast.LENGTH_SHORT -// ).show() -// } -// } -// } + hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userData -> + if (sharedPreference.getString(Constants.USER_ID, "").toString() == "ADMIN") { + val btnSaveLocalVisibility = + if (userData.any { it.testStatus == true }) View.VISIBLE else View.GONE + binding.downloadCSV.visibility = btnSaveLocalVisibility + binding.downloadCSV.setOnClickListener { + if (btnSaveLocalVisibility == View.VISIBLE) { + // Execute the action when the button is visible (testStatus is true for at least one user) + showDownloadDialog(requireContext()) + } else { + // Handle the case when the button is not visible + Toast.makeText( + requireContext(), + "No test details stored locally", + Toast.LENGTH_SHORT + ).show() + } + } + }else{ + binding.downloadCSV.visibility = View.GONE + } + } binding.btnNewKit.setOnClickListener { @@ -881,11 +884,15 @@ class HomeFragment : Fragment() { } private fun checkUnprocessedCSVData() { -// hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList -> -// val downloadDataVisibility = -// if (userDataList.any { !it.isCSVCreated && it.testStatus == true }) View.GONE else View.GONE -// binding.downloadCSV.visibility = downloadDataVisibility -// } + hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList -> + if (sharedPreference.getString(Constants.USER_ID, "").toString() == "ADMIN") { + val downloadDataVisibility = + if (userDataList.any { !it.isCSVCreated && it.testStatus == true }) View.VISIBLE else View.GONE + binding.downloadCSV.visibility = downloadDataVisibility + }else{ + binding.downloadCSV.visibility = View.GONE + } + } } private fun sanitizeDoubleValues(hemoCubeTestData: HemoCubeTestData): HemoCubeTestData { @@ -920,22 +927,22 @@ class HomeFragment : Fragment() { dialog.show() } -// private fun showDownloadDialog(context: Context) { -// val builder = AlertDialog.Builder(context) -// builder.setTitle(R.string.download_db_registration_title) -// builder.setMessage(R.string.download_db_registration_message) -// -// builder.setPositiveButton(R.string.downloadcsv) { dialog, _ -> -// downloadLocalDBData(dialog) -// } -// -// builder.setNegativeButton(R.string.cancel) { dialog, _ -> -// dialog.dismiss() -// } -// -// val dialog = builder.create() -// dialog.show() -// } + private fun showDownloadDialog(context: Context) { + val builder = AlertDialog.Builder(context) + builder.setTitle(R.string.download_db_registration_title) + builder.setMessage(R.string.download_db_registration_message) + + builder.setPositiveButton(R.string.downloadcsv) { dialog, _ -> + downloadLocalDBData(dialog) + } + + builder.setNegativeButton(R.string.cancel) { dialog, _ -> + dialog.dismiss() + } + + val dialog = builder.create() + dialog.show() + } private fun uploadLocalDBData(dialog: DialogInterface) { // viewModel.allUserData.observe(viewLifecycleOwner) { userDataList -> @@ -997,27 +1004,25 @@ class HomeFragment : Fragment() { } } -// private fun downloadLocalDBData(dialog: DialogInterface) { -// hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList -> -// val downloadList = mutableListOf() -// -// userDataList.forEach { userData -> -// if (!userData.isCSVCreated) { -// downloadList.add(userData) // Add the userData to downloadList -// } -// } -// -// if (downloadList.isNotEmpty()) { -// // Call ViewModel function to create CSV with filtered data -// hemoCubeViewModel.createCSV(downloadList, requireContext()) -// Toast.makeText(requireContext(), "Done", Toast.LENGTH_SHORT).show() -// } else { -// Toast.makeText(requireContext(), "Failed", Toast.LENGTH_SHORT).show() -// } -// -// dialog.dismiss() -// } -// } + private fun downloadLocalDBData(dialog: DialogInterface) { + hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList -> + val downloadList = mutableListOf() + + userDataList.forEach { userData -> + if (!userData.isCSVCreated) { + downloadList.add(userData) // Add the userData to downloadList + } + } + + if (downloadList.isNotEmpty()) { + // Call ViewModel function to create CSV with filtered data + hemoCubeViewModel.createCSV(downloadList, requireContext()) + Toast.makeText(requireContext(), "Done", Toast.LENGTH_SHORT).show() + } + + dialog.dismiss() + } + } private fun deleteIncompleteRegistrations(userDataList: List) { userDataList.forEach { userData -> @@ -1053,22 +1058,22 @@ class HomeFragment : Fragment() { } } - private fun showDownloadDialog(context: Context) { - val builder = AlertDialog.Builder(context) - builder.setTitle(R.string.download_db_registration_title) - builder.setMessage(R.string.download_db_registration_message) - - builder.setPositiveButton(R.string.downloadcsv) { dialog, _ -> +// private fun showDownloadDialog(context: Context) { +// val builder = AlertDialog.Builder(context) +// builder.setTitle(R.string.download_db_registration_title) +// builder.setMessage(R.string.download_db_registration_message) +// +// builder.setPositiveButton(R.string.downloadcsv) { dialog, _ -> // downloadLocalDBData(dialog) - } - - builder.setNegativeButton(R.string.cancel) { dialog, _ -> - dialog.dismiss() - } - - val dialog = builder.create() - dialog.show() - } +// } +// +// builder.setNegativeButton(R.string.cancel) { dialog, _ -> +// dialog.dismiss() +// } +// +// val dialog = builder.create() +// dialog.show() +// } // private fun downloadLocalDBData(dialog: DialogInterface) { // var csvDownloaded = false From b31e5e6c06e2c5569b0208af2808676caf740be9 Mon Sep 17 00:00:00 2001 From: Mariya Date: Thu, 7 Mar 2024 13:30:38 +0530 Subject: [PATCH 2/7] removed getting null values from result upload --- .../presentation/dashboard/HomeFragment.kt | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index a79414d..67a5cea 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -159,14 +159,16 @@ class HomeFragment : Fragment() { val resultList = MolbioV2ResultRequest(mutableListOf()) originalUserDataList.forEach { userData -> - Log.d( - ": USER DATA", - originalUserDataList.count().toString() + " : " + userData._id - ) + Log.d(": USER DATA", originalUserDataList.count().toString() + " : " + userData._id) var accessToken = sharedPreference.getString(Constants.ACCESS_TOKEN, "").toString() // Upload results after processing all userData to avoid duplicates and ensure all modifications are done if(accessToken.isNotEmpty()) { - if (!userData.molbioFlag && isTokenAvailable && Constants.MOLBIO_INTEGRATION) { + + if (!userData.localFlag && userData.testStatus == true) { + hemoCubeViewModel.bulkAddResultTestToDb(userData) + } + + if (!userData.molbioFlag && isTokenAvailable && Constants.MOLBIO_INTEGRATION && userData.testStatus == true) { val currentTimeFormatted = SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ssZZZZZ", Locale.getDefault() @@ -179,11 +181,9 @@ class HomeFragment : Fragment() { rawData = userData, analysisId = userData._id, analysisDate = currentTimeFormatted, - analysisStatus = userData.classificationResult - ?: "defaultStatus", // Handle possible nulls + analysisStatus = userData.classificationResult ?: "defaultStatus", // Handle possible nulls thresholds = bufferIntensityThreshold, - interpretation = userData.classificationResult - ?: "defaultInterpretation", // Handle possible nulls + interpretation = userData.classificationResult ?: "defaultInterpretation", // Handle possible nulls testId = userData._id, testTime = currentTimeFormatted, collectionTime = currentTimeFormatted, @@ -193,23 +193,19 @@ class HomeFragment : Fragment() { } } } + Log.d("USER DATA LIST SIZE", resultList.results?.count().toString()) resultList.results?.forEach { result -> val userData = result.rawData Log.d("UserData", userData.toString()) - if (userData != null) { - if (!userData.localFlag) { - hemoCubeViewModel.bulkAddResultTestToDb(userData) - } - } } resultList.results?.forEach { result -> result.rawData?.let { sanitizeDoubleValues(it) } } -// Then, check if there are any results to upload. + // Then, check if there are any results to upload. if (resultList.results?.isNotEmpty() == true) { hemoCubeViewModel.uploadResult(resultList) Log.d("resultcount1", "Uploading sanitized results") From 045bda26ffe33ec0c370cf93107d499e9245f185 Mon Sep 17 00:00:00 2001 From: chandrashekhar reddy Date: Sat, 9 Mar 2024 12:26:59 +0530 Subject: [PATCH 3/7] Rearranging the project structure, so it will east to understand and following proper clean code rules --- .../data/{ => constant}/DataHolder.kt | 2 +- .../data/repository/DatabaseRepository.kt | 2 +- .../hpostesting/data/repository/Repository.kt | 2 +- .../hpostesting/{domain => }/di/AppModule.kt | 10 ++++----- .../presentation/KitScanActivity.kt | 2 +- .../hpostesting/presentation/MainActivity.kt | 2 +- .../hpostesting/presentation/MainViewModel.kt | 7 ------- .../presentation/SplashActivity.kt | 2 +- .../adapter/OfflineUserListAdapter.kt | 2 +- .../presentation/adapter/UserListAdapter.kt | 2 +- .../assurance/AssuranceControlsFragment.kt | 3 +-- .../presentation/autodac/AutoDacActivity.kt | 2 +- .../presentation/autodac/AutoDacFragment.kt | 2 +- .../presentation/blank/BlankActivity.kt | 4 ---- .../presentation/blank/BlankFragment.kt | 4 ---- .../presentation/blank/BlankViewModel.kt | 4 ---- .../HemoCubeBufferCheckFragment.kt | 2 +- .../HemocubeBufferCheckActivity.kt | 2 +- .../calibration/CalibrationActivity.kt | 2 +- .../calibration/CalibrationFragment.kt | 2 +- .../dashboard/DashboardActivity.kt | 13 ++---------- .../presentation/dashboard/HomeFragment.kt | 11 +++++----- .../presentation/deviceinfo/DeviceActivity.kt | 6 +++--- .../presentation/deviceinfo/DeviceFragment.kt | 2 +- .../DeviceProvisionActivity.kt | 6 +++--- .../DeviceProvisionFragment.kt | 4 ++-- .../DeviceProvisionViewModel.kt | 2 +- .../diagnostics/DiagnosticsActivity.kt | 2 +- .../diagnostics/DiagnosticsFragment.kt | 6 +++--- .../diagnostics/DiagnosticsViewModel.kt | 4 ++-- .../hemocube/DigitalCardFragment.kt | 2 +- .../presentation/hemocube/HemoCubeFragment.kt | 6 +++--- .../hemocube/HemoCubeViewModel.kt | 9 ++++---- .../presentation/hemocube/HemocubeActivity.kt | 2 +- .../presentation/jig/JigActivity.kt | 2 +- .../testRight/TestRightActivity.kt | 4 ++-- .../testRight/TestRightExpReference.kt | 4 ++-- .../testRight/TestRightExpSample.kt | 4 ++-- .../testRight/TestRightResults.kt | 2 +- .../testRight/TestRightViewModel.kt | 4 ++-- .../presentation/testRight/UsbService.kt | 2 +- .../presentation/trueheme/TrueHemeActivity.kt | 2 +- .../presentation/trueheme/TrueHemeFragment.kt | 11 ++++++---- .../trueheme/TrueHemeViewModel.kt | 8 +++---- .../utils/DeviceCommunicationHandler.kt} | 8 +------ .../presentation/{ => utils}/NatsManager.kt | 2 +- .../{ => utils}/UsbServiceListener.kt | 2 +- .../{ => utils}/UsbServiceListenerImpl.kt | 3 ++- .../main/java/com/example/hpostesting/test.kt | 11 ---------- .../hpostesting/{data => util}/CsvWriter.kt | 2 +- .../NetworkStatusLiveData.kt} | 2 +- .../{data => util}/PreferenceUtility.kt | 2 +- .../hpostesting/util/PropertyProvider.kt | 7 +++++++ .../hpostesting/util/PropertyProviderImpl.kt | 1 - .../hpostesting/{data => util}/Result.kt | 2 +- .../hpostesting/AutoDacViewModelTest.kt | 5 +---- .../com/example/hpostesting/CsvWriterTest.kt | 2 +- .../example/hpostesting/DeviceFragmentTest.kt | 21 ------------------- .../DeviceProvisionViewModelTest.kt | 2 +- .../hpostesting/HemocubeViewModelTest.kt | 2 +- .../hpostesting/TestRightViewModelTest.kt | 17 --------------- 61 files changed, 95 insertions(+), 174 deletions(-) rename app/src/main/java/com/example/hpostesting/data/{ => constant}/DataHolder.kt (95%) rename app/src/main/java/com/example/hpostesting/{domain => }/di/AppModule.kt (94%) delete mode 100644 app/src/main/java/com/example/hpostesting/presentation/MainViewModel.kt delete mode 100644 app/src/main/java/com/example/hpostesting/presentation/blank/BlankActivity.kt delete mode 100644 app/src/main/java/com/example/hpostesting/presentation/blank/BlankFragment.kt delete mode 100644 app/src/main/java/com/example/hpostesting/presentation/blank/BlankViewModel.kt rename app/src/main/java/com/example/hpostesting/{data/api/PropertyProvider.kt => presentation/utils/DeviceCommunicationHandler.kt} (51%) rename app/src/main/java/com/example/hpostesting/presentation/{ => utils}/NatsManager.kt (99%) rename app/src/main/java/com/example/hpostesting/presentation/{ => utils}/UsbServiceListener.kt (66%) rename app/src/main/java/com/example/hpostesting/presentation/{ => utils}/UsbServiceListenerImpl.kt (84%) delete mode 100644 app/src/main/java/com/example/hpostesting/test.kt rename app/src/main/java/com/example/hpostesting/{data => util}/CsvWriter.kt (97%) rename app/src/main/java/com/example/hpostesting/{data/InternetConnectionLiveData.kt => util/NetworkStatusLiveData.kt} (98%) rename app/src/main/java/com/example/hpostesting/{data => util}/PreferenceUtility.kt (95%) create mode 100644 app/src/main/java/com/example/hpostesting/util/PropertyProvider.kt rename app/src/main/java/com/example/hpostesting/{data => util}/Result.kt (84%) diff --git a/app/src/main/java/com/example/hpostesting/data/DataHolder.kt b/app/src/main/java/com/example/hpostesting/data/constant/DataHolder.kt similarity index 95% rename from app/src/main/java/com/example/hpostesting/data/DataHolder.kt rename to app/src/main/java/com/example/hpostesting/data/constant/DataHolder.kt index 0996c42..b56d3d8 100644 --- a/app/src/main/java/com/example/hpostesting/data/DataHolder.kt +++ b/app/src/main/java/com/example/hpostesting/data/constant/DataHolder.kt @@ -1,4 +1,4 @@ -package com.example.hpostesting.data +package com.example.hpostesting.data.constant import androidx.lifecycle.MutableLiveData import com.example.hpostesting.data.model.patient.HemoCubeTestData diff --git a/app/src/main/java/com/example/hpostesting/data/repository/DatabaseRepository.kt b/app/src/main/java/com/example/hpostesting/data/repository/DatabaseRepository.kt index 4590798..907e4e7 100644 --- a/app/src/main/java/com/example/hpostesting/data/repository/DatabaseRepository.kt +++ b/app/src/main/java/com/example/hpostesting/data/repository/DatabaseRepository.kt @@ -1,7 +1,7 @@ package com.example.hpostesting.data.repository import android.net.Uri -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.Result import com.example.hpostesting.data.api.MolbioAuthApi import com.example.hpostesting.data.api.MolbioResultApi import com.example.hpostesting.data.model.PendingUploads diff --git a/app/src/main/java/com/example/hpostesting/data/repository/Repository.kt b/app/src/main/java/com/example/hpostesting/data/repository/Repository.kt index 6322dc4..75bd7e1 100644 --- a/app/src/main/java/com/example/hpostesting/data/repository/Repository.kt +++ b/app/src/main/java/com/example/hpostesting/data/repository/Repository.kt @@ -1,6 +1,6 @@ package com.example.hpostesting.data.repository -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.Result import com.example.hpostesting.data.model.Response import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsRequest import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsResponse diff --git a/app/src/main/java/com/example/hpostesting/domain/di/AppModule.kt b/app/src/main/java/com/example/hpostesting/di/AppModule.kt similarity index 94% rename from app/src/main/java/com/example/hpostesting/domain/di/AppModule.kt rename to app/src/main/java/com/example/hpostesting/di/AppModule.kt index d7babfd..3470f0e 100644 --- a/app/src/main/java/com/example/hpostesting/domain/di/AppModule.kt +++ b/app/src/main/java/com/example/hpostesting/di/AppModule.kt @@ -1,4 +1,4 @@ -package com.example.hpostesting.domain.di +package com.example.hpostesting.di import android.app.Application import android.content.Context @@ -7,7 +7,7 @@ import android.content.res.AssetManager import androidx.room.Room import com.example.hpostesting.data.api.MolbioAuthApi import com.example.hpostesting.data.api.MolbioResultApi -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.HemoCubeDao import com.example.hpostesting.data.dao.MyDatabase @@ -22,8 +22,8 @@ import com.example.hpostesting.domain.LogFileManager import com.example.hpostesting.domain.LogFileManagerImpl import com.example.hpostesting.domain.SaveRawData import com.example.hpostesting.domain.SaveRawDataTest -import com.example.hpostesting.presentation.UsbServiceListener -import com.example.hpostesting.presentation.UsbServiceListenerImpl +import com.example.hpostesting.presentation.utils.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListenerImpl import com.example.hpostesting.util.PropertyProviderImpl import dagger.Module import dagger.Provides @@ -147,7 +147,7 @@ object AppModule { @Provides @Singleton fun provideRetrofit( - propertyProvider: PropertyProvider,@Named("Auth") client: OkHttpClient + propertyProvider: PropertyProvider, @Named("Auth") client: OkHttpClient ): Retrofit { return Retrofit.Builder().baseUrl(propertyProvider.getProperty("BASE_URL")).client(client) .addConverterFactory(GsonConverterFactory.create()).build() diff --git a/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt index ad6169a..e506ecb 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt @@ -10,7 +10,7 @@ import android.view.View import android.widget.EditText import android.widget.Toast import androidx.appcompat.app.AppCompatActivity -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.dashboard.DashboardActivity diff --git a/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt index e581fa1..504b621 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt @@ -17,7 +17,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.data.model.patient.UserData diff --git a/app/src/main/java/com/example/hpostesting/presentation/MainViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/MainViewModel.kt deleted file mode 100644 index cfd2a82..0000000 --- a/app/src/main/java/com/example/hpostesting/presentation/MainViewModel.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.example.hpostesting.presentation - -import androidx.lifecycle.ViewModel - -class MainViewModel : ViewModel() { - -} \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/SplashActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/SplashActivity.kt index 8d7ec74..d6d0f23 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/SplashActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/SplashActivity.kt @@ -13,7 +13,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.dashboard.DashboardActivity import com.example.hpostesting.util.MyUtils diff --git a/app/src/main/java/com/example/hpostesting/presentation/adapter/OfflineUserListAdapter.kt b/app/src/main/java/com/example/hpostesting/presentation/adapter/OfflineUserListAdapter.kt index bae6504..8aa7300 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/adapter/OfflineUserListAdapter.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/adapter/OfflineUserListAdapter.kt @@ -11,7 +11,7 @@ import androidx.navigation.findNavController import androidx.recyclerview.widget.AsyncListDiffer import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.RecyclerView -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.model.patient.HemoCubeTestData import com.example.hpostesting.data.model.patient.UserData diff --git a/app/src/main/java/com/example/hpostesting/presentation/adapter/UserListAdapter.kt b/app/src/main/java/com/example/hpostesting/presentation/adapter/UserListAdapter.kt index 7466e79..8bce214 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/adapter/UserListAdapter.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/adapter/UserListAdapter.kt @@ -14,7 +14,7 @@ import androidx.fragment.app.FragmentActivity import androidx.navigation.findNavController import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.model.patient.UserData import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel import com.firebase.ui.firestore.FirestoreRecyclerAdapter diff --git a/app/src/main/java/com/example/hpostesting/presentation/assurance/AssuranceControlsFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/assurance/AssuranceControlsFragment.kt index d341e42..df19e76 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/assurance/AssuranceControlsFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/assurance/AssuranceControlsFragment.kt @@ -13,9 +13,8 @@ import android.widget.AdapterView import android.widget.ArrayAdapter import android.widget.Spinner import android.widget.Toast -import androidx.core.view.isVisible import androidx.fragment.app.Fragment -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.model.patient.UserData import com.example.hpostesting.presentation.hemocube.HemocubeActivity diff --git a/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacActivity.kt index 3da5def..351e285 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacActivity.kt @@ -20,7 +20,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.testRight.UsbService diff --git a/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt index 9702894..ba16265 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt @@ -14,7 +14,7 @@ import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.model.diagnostics.DiagnosticsData import com.example.hpostesting.data.model.patient.DeviceData -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase import `in`.sminnovations.hpostesting.databinding.FragmentAutoDacBinding diff --git a/app/src/main/java/com/example/hpostesting/presentation/blank/BlankActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/blank/BlankActivity.kt deleted file mode 100644 index 976d371..0000000 --- a/app/src/main/java/com/example/hpostesting/presentation/blank/BlankActivity.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.example.hpostesting.presentation.blank - -class BlankActivity { -} \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/blank/BlankFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/blank/BlankFragment.kt deleted file mode 100644 index ee4110a..0000000 --- a/app/src/main/java/com/example/hpostesting/presentation/blank/BlankFragment.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.example.hpostesting.presentation.blank - -class BlankFragment { -} \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/blank/BlankViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/blank/BlankViewModel.kt deleted file mode 100644 index 5d90f7f..0000000 --- a/app/src/main/java/com/example/hpostesting/presentation/blank/BlankViewModel.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.example.hpostesting.presentation.blank - -class BlankViewModel { -} \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemoCubeBufferCheckFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemoCubeBufferCheckFragment.kt index b9d909a..3a11617 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemoCubeBufferCheckFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemoCubeBufferCheckFragment.kt @@ -15,7 +15,7 @@ import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.model.patient.BufferCheckData import com.example.hpostesting.data.model.patient.DeviceData -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.dashboard.DashboardActivity import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel import com.google.firebase.crashlytics.ktx.crashlytics diff --git a/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemocubeBufferCheckActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemocubeBufferCheckActivity.kt index 7510bfa..dd1ab96 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemocubeBufferCheckActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemocubeBufferCheckActivity.kt @@ -20,7 +20,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel diff --git a/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationActivity.kt index 008828e..1753cce 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationActivity.kt @@ -20,7 +20,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.testRight.UsbService diff --git a/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationFragment.kt index e6313af..4e5ba9f 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationFragment.kt @@ -17,7 +17,7 @@ import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.model.calibration.CalibrationData import com.example.hpostesting.data.model.patient.DeviceData -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.dashboard.DashboardActivity import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt index 12ac112..efd0bb4 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt @@ -3,7 +3,6 @@ package com.example.hpostesting.presentation.dashboard import android.annotation.SuppressLint import android.content.Context import android.content.Intent -import android.content.IntentFilter import android.content.SharedPreferences import android.net.Uri import android.os.Build @@ -20,30 +19,22 @@ import androidx.navigation.ui.AppBarConfiguration import androidx.navigation.ui.navigateUp import androidx.navigation.ui.setupActionBarWithNavController import androidx.navigation.ui.setupWithNavController -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.Result import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.data.model.updates.DeviceUpdateRequest -import com.example.hpostesting.presentation.NatsManager +import com.example.hpostesting.presentation.utils.NatsManager import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel import com.example.hpostesting.presentation.jig.JigActivity import com.google.android.material.navigation.NavigationView import com.google.firebase.appdistribution.FirebaseAppDistribution import com.google.firebase.appdistribution.FirebaseAppDistributionException import com.google.firebase.crashlytics.FirebaseCrashlytics -import com.google.firebase.firestore.ktx.firestore -import com.google.firebase.ktx.Firebase import dagger.hilt.android.AndroidEntryPoint import `in`.sminnovations.hpostesting.BuildConfig import `in`.sminnovations.hpostesting.R import `in`.sminnovations.hpostesting.databinding.ActivityDashboardBinding -import okhttp3.ResponseBody -import java.io.BufferedInputStream import java.io.File -import java.io.FileInputStream -import java.io.FileOutputStream -import java.io.InputStream -import java.util.zip.ZipInputStream interface NatsMessageCallback { fun onMessageReceived(topic: String, message: String) diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index 79db431..9e93d3f 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -26,9 +26,8 @@ import androidx.core.content.FileProvider import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.Result -import com.example.hpostesting.data.api.DeviceCommunicationHandler +import com.example.hpostesting.data.constant.DataHolder +import com.example.hpostesting.util.Result import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.model.login.LoginRequest @@ -40,8 +39,9 @@ import com.example.hpostesting.data.model.patient.HemoCubeTestData import com.example.hpostesting.data.model.patient.UserData import com.example.hpostesting.data.model.updates.CheckUpdateRequest import com.example.hpostesting.data.model.updates.DeviceUpdateRequest +import com.example.hpostesting.presentation.utils.DeviceCommunicationHandler import com.example.hpostesting.presentation.KitScanActivity -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.adapter.OfflineUserListAdapter import com.example.hpostesting.presentation.adapter.UserListAdapter import com.example.hpostesting.presentation.assurance.AssuranceControlsActivity @@ -56,7 +56,6 @@ import com.google.firebase.perf.ktx.performance import dagger.hilt.android.AndroidEntryPoint import `in`.sminnovations.hpostesting.R import `in`.sminnovations.hpostesting.databinding.FragmentHomeBinding -import kotlinx.coroutines.tasks.await import okhttp3.ResponseBody import org.json.JSONObject import java.io.BufferedOutputStream @@ -274,7 +273,7 @@ class HomeFragment : Fragment() { apply() } startActivity(Intent(requireContext(), KitScanActivity::class.java)) - requireActivity().finish() + // requireActivity().finish() } diff --git a/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceActivity.kt index 0d27d12..94e58e1 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceActivity.kt @@ -21,12 +21,12 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.api.DeviceCommunicationHandler +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.constant.LanguageManager -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.DeviceCommunicationHandler +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.testRight.UsbService import com.hoho.android.usbserial.driver.UsbSerialDriver import com.hoho.android.usbserial.driver.UsbSerialProber diff --git a/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceFragment.kt index 183efd6..b771ecc 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceFragment.kt @@ -12,7 +12,7 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase diff --git a/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionActivity.kt index 5431804..2fbafcc 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionActivity.kt @@ -20,12 +20,12 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.api.DeviceCommunicationHandler +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.constant.LanguageManager -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.DeviceCommunicationHandler +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.testRight.UsbService import com.hoho.android.usbserial.driver.UsbSerialDriver import com.hoho.android.usbserial.driver.UsbSerialProber diff --git a/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionFragment.kt index 10d34eb..f6689ea 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionFragment.kt @@ -12,12 +12,12 @@ import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.Result import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest import com.example.hpostesting.data.model.patient.DeviceData -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.dashboard.DashboardActivity import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase diff --git a/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionViewModel.kt index 466e0d5..3358504 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/deviceprovision/DeviceProvisionViewModel.kt @@ -3,7 +3,7 @@ package com.example.hpostesting.presentation.deviceprovision import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.Result import com.example.hpostesting.data.model.Response import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionResponse diff --git a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsActivity.kt index 1389767..74b2414 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsActivity.kt @@ -20,7 +20,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.testRight.UsbService diff --git a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsFragment.kt index f6e293e..f30921c 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsFragment.kt @@ -13,15 +13,15 @@ import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData -import com.example.hpostesting.data.Result -import com.example.hpostesting.data.Result.Success +import com.example.hpostesting.util.Result +import com.example.hpostesting.util.Result.Success import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.model.devicediagnostics.AdditionalDetails import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsRequest import com.example.hpostesting.data.model.diagnostics.DiagnosticsData import com.example.hpostesting.data.model.patient.DeviceData -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase import `in`.sminnovations.hpostesting.databinding.FragmentDiagnosticsBinding diff --git a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsViewModel.kt index e40f4a3..70a7aff 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsViewModel.kt @@ -3,7 +3,7 @@ package com.example.hpostesting.presentation.diagnostics import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.Result import com.example.hpostesting.data.model.Response import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsRequest import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsResponse @@ -25,7 +25,7 @@ class DiagnosticsViewModel @Inject constructor( val deviceData = MutableLiveData() val fireBaseUpload = MutableLiveData() - val deviceDiagnosticsResponse = MutableLiveData>() + val deviceDiagnosticsResponse = MutableLiveData>() // private val batteryStatus: Intent? = // IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { ifilter -> // context.registerReceiver(null, ifilter) diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/DigitalCardFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/DigitalCardFragment.kt index 1f6b32c..47c9512 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/DigitalCardFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/DigitalCardFragment.kt @@ -10,7 +10,7 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.model.patient.toHemoCubeTestData import `in`.sminnovations.hpostesting.databinding.FragmentDigitalCardBinding import java.text.SimpleDateFormat diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt index 0f7b8f6..e6ec86c 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt @@ -14,15 +14,15 @@ import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.Result +import com.example.hpostesting.data.constant.DataHolder +import com.example.hpostesting.util.Result import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.constant.TestStatus import com.example.hpostesting.data.model.TestState import com.example.hpostesting.data.model.patient.DeviceData import com.example.hpostesting.data.model.patient.toHemoCubeTestData -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.dashboard.DashboardActivity import com.example.hpostesting.presentation.utils.MyDialogListener import com.example.hpostesting.presentation.utils.UIUtils diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt index d075631..29f79b6 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt @@ -12,10 +12,10 @@ import androidx.lifecycle.viewModelScope import androidx.work.ExistingPeriodicWorkPolicy import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager -import com.example.hpostesting.data.CsvWriter -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.NetworkStatusLiveData -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.CsvWriter +import com.example.hpostesting.data.constant.DataHolder +import com.example.hpostesting.util.NetworkStatusLiveData +import com.example.hpostesting.util.Result import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.dao.HemoCubeBufferDao import com.example.hpostesting.data.dao.HemoCubeDao @@ -37,7 +37,6 @@ import com.example.hpostesting.data.model.updates.DeviceUpdateRequest import com.example.hpostesting.data.repository.Repository import com.example.hpostesting.domain.CheckUpdateWorker import com.example.hpostesting.domain.LogFileManager -import com.google.gson.GsonBuilder import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import okhttp3.MediaType.Companion.toMediaTypeOrNull diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemocubeActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemocubeActivity.kt index 99707fd..d200140 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemocubeActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemocubeActivity.kt @@ -22,7 +22,7 @@ import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.testRight.UsbService diff --git a/app/src/main/java/com/example/hpostesting/presentation/jig/JigActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/jig/JigActivity.kt index 47405f8..4d503ef 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/jig/JigActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/jig/JigActivity.kt @@ -21,7 +21,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.testRight.UsbService diff --git a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightActivity.kt index 2a75ac8..2974965 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightActivity.kt @@ -19,7 +19,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.hoho.android.usbserial.driver.UsbSerialDriver import com.hoho.android.usbserial.driver.UsbSerialProber @@ -132,7 +132,7 @@ class TestRightActivity : AppCompatActivity() { this, 0, Intent(Constants.ACTION_USB_PERMISSION), - PendingIntent.FLAG_MUTABLE + PendingIntent.FLAG_IMMUTABLE ) } else { mPendingIntent = PendingIntent.getBroadcast( diff --git a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightExpReference.kt b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightExpReference.kt index a9d0536..1cba75d 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightExpReference.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightExpReference.kt @@ -10,11 +10,11 @@ import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.TestRightCommands import com.example.hpostesting.data.model.ErrorMessage -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.utils.MyDialogListener import com.example.hpostesting.presentation.utils.UIUtils import dagger.hilt.android.AndroidEntryPoint diff --git a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightExpSample.kt b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightExpSample.kt index 33f79ce..b746604 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightExpSample.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightExpSample.kt @@ -10,13 +10,13 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.TestRightCommands import com.example.hpostesting.data.model.ErrorMessage import com.example.hpostesting.data.model.test.TestType import com.example.hpostesting.presentation.MainActivity -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.utils.MyDialogListener import com.example.hpostesting.presentation.utils.UIUtils import dagger.hilt.android.AndroidEntryPoint diff --git a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightResults.kt b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightResults.kt index c841e16..83bc115 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightResults.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightResults.kt @@ -11,7 +11,7 @@ import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.model.test.TestRightResultType import com.example.hpostesting.data.model.test.TestType diff --git a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightViewModel.kt index e526a66..5573fec 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightViewModel.kt @@ -5,8 +5,8 @@ import android.net.Uri import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.NetworkStatusLiveData +import com.example.hpostesting.data.constant.DataHolder +import com.example.hpostesting.util.NetworkStatusLiveData import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.dao.UserDao import com.example.hpostesting.data.model.CalculationVariableForTest diff --git a/app/src/main/java/com/example/hpostesting/presentation/testRight/UsbService.kt b/app/src/main/java/com/example/hpostesting/presentation/testRight/UsbService.kt index 16cf5d5..133f5b9 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/testRight/UsbService.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/testRight/UsbService.kt @@ -9,7 +9,7 @@ import android.util.Log import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.constant.TestRightCommands -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.hoho.android.usbserial.driver.UsbSerialDriver import com.hoho.android.usbserial.driver.UsbSerialPort import com.hoho.android.usbserial.util.SerialInputOutputManager diff --git a/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeActivity.kt index f9222a5..df42793 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeActivity.kt @@ -20,7 +20,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.get -import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.LanguageManager import com.example.hpostesting.presentation.hemocube.HemoCubeFragment diff --git a/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeFragment.kt index ed85c32..59d7e56 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeFragment.kt @@ -4,6 +4,7 @@ import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.content.SharedPreferences +import android.os.Build import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -13,15 +14,15 @@ import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.Result +import com.example.hpostesting.data.constant.DataHolder +import com.example.hpostesting.util.Result import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.constant.TestStatus import com.example.hpostesting.data.model.TestState import com.example.hpostesting.data.model.patient.DeviceData import com.example.hpostesting.data.model.patient.toHemoCubeTestData -import com.example.hpostesting.presentation.UsbServiceListener +import com.example.hpostesting.presentation.utils.UsbServiceListener import com.example.hpostesting.presentation.dashboard.DashboardActivity import com.example.hpostesting.presentation.hemocube.HemocubeActivity import com.example.hpostesting.presentation.utils.MyDialogListener @@ -1155,6 +1156,8 @@ class TrueHemeFragment : Fragment() { } private fun reconnect() { - (activity as HemocubeActivity).reconnectDevice() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + (activity as HemocubeActivity).reconnectDevice() + } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeViewModel.kt index cbbc818..95a71aa 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/trueheme/TrueHemeViewModel.kt @@ -12,10 +12,10 @@ import androidx.lifecycle.viewModelScope import androidx.work.ExistingPeriodicWorkPolicy import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager -import com.example.hpostesting.data.CsvWriter -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.NetworkStatusLiveData -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.CsvWriter +import com.example.hpostesting.data.constant.DataHolder +import com.example.hpostesting.util.NetworkStatusLiveData +import com.example.hpostesting.util.Result import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.dao.HemoCubeBufferDao import com.example.hpostesting.data.dao.HemoCubeDao diff --git a/app/src/main/java/com/example/hpostesting/data/api/PropertyProvider.kt b/app/src/main/java/com/example/hpostesting/presentation/utils/DeviceCommunicationHandler.kt similarity index 51% rename from app/src/main/java/com/example/hpostesting/data/api/PropertyProvider.kt rename to app/src/main/java/com/example/hpostesting/presentation/utils/DeviceCommunicationHandler.kt index 12486ec..f75c3f9 100644 --- a/app/src/main/java/com/example/hpostesting/data/api/PropertyProvider.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/utils/DeviceCommunicationHandler.kt @@ -1,12 +1,6 @@ -package com.example.hpostesting.data.api +package com.example.hpostesting.presentation.utils import com.example.hpostesting.data.constant.HemoCubeCommands -import com.example.hpostesting.presentation.UsbServiceListener - -interface PropertyProvider { - - fun getProperty(key: String): String -} interface DeviceCommunicationHandler { fun sendAndListenToDevice(command: HemoCubeCommands, listener: UsbServiceListener) diff --git a/app/src/main/java/com/example/hpostesting/presentation/NatsManager.kt b/app/src/main/java/com/example/hpostesting/presentation/utils/NatsManager.kt similarity index 99% rename from app/src/main/java/com/example/hpostesting/presentation/NatsManager.kt rename to app/src/main/java/com/example/hpostesting/presentation/utils/NatsManager.kt index 63c9e4c..d3c85f4 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/NatsManager.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/utils/NatsManager.kt @@ -1,4 +1,4 @@ -package com.example.hpostesting.presentation +package com.example.hpostesting.presentation.utils import android.content.Context import android.os.Build diff --git a/app/src/main/java/com/example/hpostesting/presentation/UsbServiceListener.kt b/app/src/main/java/com/example/hpostesting/presentation/utils/UsbServiceListener.kt similarity index 66% rename from app/src/main/java/com/example/hpostesting/presentation/UsbServiceListener.kt rename to app/src/main/java/com/example/hpostesting/presentation/utils/UsbServiceListener.kt index 595f93b..9882b00 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/UsbServiceListener.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/utils/UsbServiceListener.kt @@ -1,4 +1,4 @@ -package com.example.hpostesting.presentation +package com.example.hpostesting.presentation.utils interface UsbServiceListener { fun onUsbRead(data: ByteArray?) diff --git a/app/src/main/java/com/example/hpostesting/presentation/UsbServiceListenerImpl.kt b/app/src/main/java/com/example/hpostesting/presentation/utils/UsbServiceListenerImpl.kt similarity index 84% rename from app/src/main/java/com/example/hpostesting/presentation/UsbServiceListenerImpl.kt rename to app/src/main/java/com/example/hpostesting/presentation/utils/UsbServiceListenerImpl.kt index 6ffd14c..f34b726 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/UsbServiceListenerImpl.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/utils/UsbServiceListenerImpl.kt @@ -1,8 +1,9 @@ -package com.example.hpostesting.presentation +package com.example.hpostesting.presentation.utils import android.content.Context import android.util.Log import android.widget.Toast +import com.example.hpostesting.presentation.utils.UsbServiceListener class UsbServiceListenerImpl(private val context: Context): UsbServiceListener { override fun onUsbRead(data: ByteArray?) { diff --git a/app/src/main/java/com/example/hpostesting/test.kt b/app/src/main/java/com/example/hpostesting/test.kt deleted file mode 100644 index 1f51a81..0000000 --- a/app/src/main/java/com/example/hpostesting/test.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.hpostesting - -import java.text.SimpleDateFormat -import java.util.Date -import java.util.Locale - -fun main(){ - val dateFormat = SimpleDateFormat("MM:HHddMMyyyy", Locale.getDefault()) - val currentDate = Date() - print(dateFormat.format(currentDate)) -} \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/data/CsvWriter.kt b/app/src/main/java/com/example/hpostesting/util/CsvWriter.kt similarity index 97% rename from app/src/main/java/com/example/hpostesting/data/CsvWriter.kt rename to app/src/main/java/com/example/hpostesting/util/CsvWriter.kt index c7f3c4e..a6ab925 100644 --- a/app/src/main/java/com/example/hpostesting/data/CsvWriter.kt +++ b/app/src/main/java/com/example/hpostesting/util/CsvWriter.kt @@ -1,4 +1,4 @@ -package com.example.hpostesting.data +package com.example.hpostesting.util import android.content.Context import android.os.Environment diff --git a/app/src/main/java/com/example/hpostesting/data/InternetConnectionLiveData.kt b/app/src/main/java/com/example/hpostesting/util/NetworkStatusLiveData.kt similarity index 98% rename from app/src/main/java/com/example/hpostesting/data/InternetConnectionLiveData.kt rename to app/src/main/java/com/example/hpostesting/util/NetworkStatusLiveData.kt index b8b9031..82a39d6 100644 --- a/app/src/main/java/com/example/hpostesting/data/InternetConnectionLiveData.kt +++ b/app/src/main/java/com/example/hpostesting/util/NetworkStatusLiveData.kt @@ -1,4 +1,4 @@ -package com.example.hpostesting.data +package com.example.hpostesting.util import android.content.Context diff --git a/app/src/main/java/com/example/hpostesting/data/PreferenceUtility.kt b/app/src/main/java/com/example/hpostesting/util/PreferenceUtility.kt similarity index 95% rename from app/src/main/java/com/example/hpostesting/data/PreferenceUtility.kt rename to app/src/main/java/com/example/hpostesting/util/PreferenceUtility.kt index 43f74be..4a6bc93 100644 --- a/app/src/main/java/com/example/hpostesting/data/PreferenceUtility.kt +++ b/app/src/main/java/com/example/hpostesting/util/PreferenceUtility.kt @@ -1,4 +1,4 @@ -package com.example.hpostesting.data +package com.example.hpostesting.util import android.content.Context import android.content.SharedPreferences diff --git a/app/src/main/java/com/example/hpostesting/util/PropertyProvider.kt b/app/src/main/java/com/example/hpostesting/util/PropertyProvider.kt new file mode 100644 index 0000000..f2e6b2c --- /dev/null +++ b/app/src/main/java/com/example/hpostesting/util/PropertyProvider.kt @@ -0,0 +1,7 @@ +package com.example.hpostesting.util + +interface PropertyProvider { + + fun getProperty(key: String): String +} + diff --git a/app/src/main/java/com/example/hpostesting/util/PropertyProviderImpl.kt b/app/src/main/java/com/example/hpostesting/util/PropertyProviderImpl.kt index 1289fb5..8ccf8d0 100644 --- a/app/src/main/java/com/example/hpostesting/util/PropertyProviderImpl.kt +++ b/app/src/main/java/com/example/hpostesting/util/PropertyProviderImpl.kt @@ -1,7 +1,6 @@ package com.example.hpostesting.util import android.content.res.AssetManager -import com.example.hpostesting.data.api.PropertyProvider import java.io.InputStream import java.util.Properties diff --git a/app/src/main/java/com/example/hpostesting/data/Result.kt b/app/src/main/java/com/example/hpostesting/util/Result.kt similarity index 84% rename from app/src/main/java/com/example/hpostesting/data/Result.kt rename to app/src/main/java/com/example/hpostesting/util/Result.kt index 035aa23..8135ea7 100644 --- a/app/src/main/java/com/example/hpostesting/data/Result.kt +++ b/app/src/main/java/com/example/hpostesting/util/Result.kt @@ -1,4 +1,4 @@ -package com.example.hpostesting.data +package com.example.hpostesting.util sealed class Result { data class Success(val data: T) : Result() diff --git a/app/src/test/java/com/example/hpostesting/AutoDacViewModelTest.kt b/app/src/test/java/com/example/hpostesting/AutoDacViewModelTest.kt index 496e18e..c7a084c 100644 --- a/app/src/test/java/com/example/hpostesting/AutoDacViewModelTest.kt +++ b/app/src/test/java/com/example/hpostesting/AutoDacViewModelTest.kt @@ -3,18 +3,15 @@ package com.example.hpostesting import android.content.Context import android.content.SharedPreferences import androidx.arch.core.executor.testing.InstantTaskExecutorRule -import androidx.lifecycle.Observer -import com.example.hpostesting.data.NetworkStatusLiveData +import com.example.hpostesting.util.NetworkStatusLiveData import com.example.hpostesting.data.dao.HemoCubeDao import com.example.hpostesting.data.model.Response import com.example.hpostesting.data.model.diagnostics.DiagnosticsData -import com.example.hpostesting.data.model.patient.DeviceData import com.example.hpostesting.data.repository.Repository import com.example.hpostesting.presentation.autodac.AutoDacViewModel import io.mockk.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking import kotlinx.coroutines.test.TestCoroutineDispatcher import kotlinx.coroutines.test.setMain diff --git a/app/src/test/java/com/example/hpostesting/CsvWriterTest.kt b/app/src/test/java/com/example/hpostesting/CsvWriterTest.kt index bfbee08..dc59527 100644 --- a/app/src/test/java/com/example/hpostesting/CsvWriterTest.kt +++ b/app/src/test/java/com/example/hpostesting/CsvWriterTest.kt @@ -1,7 +1,7 @@ package com.example.hpostesting import android.content.Context -import com.example.hpostesting.data.CsvWriter +import com.example.hpostesting.util.CsvWriter import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/com/example/hpostesting/DeviceFragmentTest.kt b/app/src/test/java/com/example/hpostesting/DeviceFragmentTest.kt index 2720b80..e828e75 100644 --- a/app/src/test/java/com/example/hpostesting/DeviceFragmentTest.kt +++ b/app/src/test/java/com/example/hpostesting/DeviceFragmentTest.kt @@ -1,26 +1,5 @@ package com.example.hpostesting -import android.content.Context -import android.content.SharedPreferences -import androidx.fragment.app.testing.FragmentScenario -import androidx.fragment.app.testing.launchFragmentInContainer -import androidx.lifecycle.MutableLiveData -import androidx.test.core.app.ApplicationProvider -import com.example.hpostesting.data.constant.Constants -import com.example.hpostesting.data.constant.HemoCubeCommands -import com.example.hpostesting.presentation.deviceinfo.DeviceActivity -import com.example.hpostesting.presentation.UsbServiceListener -import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel -import com.google.firebase.crashlytics.ktx.crashlytics -import com.google.firebase.ktx.Firebase -import `in`.sminnovations.hpostesting.databinding.FragmentDeviceBinding -import org.junit.After -import org.junit.Before -import org.junit.Test -import org.mockito.Mock -import org.mockito.Mockito.* -import org.mockito.MockitoAnnotations - class DeviceFragmentTest { // // @Mock diff --git a/app/src/test/java/com/example/hpostesting/DeviceProvisionViewModelTest.kt b/app/src/test/java/com/example/hpostesting/DeviceProvisionViewModelTest.kt index ae3208e..b640e07 100644 --- a/app/src/test/java/com/example/hpostesting/DeviceProvisionViewModelTest.kt +++ b/app/src/test/java/com/example/hpostesting/DeviceProvisionViewModelTest.kt @@ -2,7 +2,7 @@ package com.example.hpostesting import androidx.arch.core.executor.testing.InstantTaskExecutorRule import androidx.lifecycle.Observer -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.Result import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionRequest import com.example.hpostesting.data.model.deviceprovision.DeviceProvisionResponse import com.example.hpostesting.data.repository.Repository diff --git a/app/src/test/java/com/example/hpostesting/HemocubeViewModelTest.kt b/app/src/test/java/com/example/hpostesting/HemocubeViewModelTest.kt index 1def929..c1f2377 100644 --- a/app/src/test/java/com/example/hpostesting/HemocubeViewModelTest.kt +++ b/app/src/test/java/com/example/hpostesting/HemocubeViewModelTest.kt @@ -3,7 +3,7 @@ package com.example.hpostesting import android.content.Context import androidx.arch.core.executor.testing.InstantTaskExecutorRule import androidx.lifecycle.Observer -import com.example.hpostesting.data.Result +import com.example.hpostesting.util.Result import com.example.hpostesting.data.model.login.LoginResponse import com.example.hpostesting.data.repository.Repository import com.example.hpostesting.domain.LogFileManager diff --git a/app/src/test/java/com/example/hpostesting/TestRightViewModelTest.kt b/app/src/test/java/com/example/hpostesting/TestRightViewModelTest.kt index 216f533..1590159 100644 --- a/app/src/test/java/com/example/hpostesting/TestRightViewModelTest.kt +++ b/app/src/test/java/com/example/hpostesting/TestRightViewModelTest.kt @@ -1,22 +1,5 @@ package com.example.hpostesting -import android.content.Context -import com.example.hpostesting.data.DataHolder -import com.example.hpostesting.data.constant.Constants -import com.example.hpostesting.data.dao.UserDao -import com.example.hpostesting.data.model.patient.UserData -import com.example.hpostesting.data.repository.DatabaseRepository -import com.example.hpostesting.domain.SaveRawData -import com.example.hpostesting.domain.SaveRawDataTest -import com.example.hpostesting.presentation.testRight.TestRightViewModel -import junit.framework.Assert.assertEquals -import org.junit.Before -import org.junit.Test -import org.mockito.Mock -import org.mockito.MockitoAnnotations -import java.math.RoundingMode -import java.text.DecimalFormat - class TestRightViewModelTest { // private val viewModel = TestRightViewModel() // private val data = InputData() From 372489330aa676a789bb49f8f3089c9aa0c80dcc Mon Sep 17 00:00:00 2001 From: chandrashekhar reddy Date: Sat, 9 Mar 2024 15:20:49 +0530 Subject: [PATCH 4/7] Added new screen ActivitiesFragment to check upload pending list and added version name in DashboardActivity, so it will be easy to know which version currently in use --- .../hpostesting/data/dao/HemoCubeDao.kt | 4 +- .../dashboard/ActivitiesFragment.kt | 63 +++++++++++++++++++ .../dashboard/DashboardActivity.kt | 22 ++++++- .../hemocube/HemoCubeViewModel.kt | 8 +-- .../main/res/drawable/shows_activity_24.xml | 5 ++ app/src/main/res/layout/app_bar_dashboard.xml | 14 ++++- .../main/res/layout/fragment_activities.xml | 39 ++++++++++++ .../main/res/menu/activity_main_drawer.xml | 4 ++ .../res/navigation/dashboard_navigation.xml | 5 ++ app/src/main/res/values-hi/strings.xml | 1 + app/src/main/res/values-kn/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 12 files changed, 158 insertions(+), 9 deletions(-) create mode 100644 app/src/main/java/com/example/hpostesting/presentation/dashboard/ActivitiesFragment.kt create mode 100644 app/src/main/res/drawable/shows_activity_24.xml create mode 100644 app/src/main/res/layout/fragment_activities.xml diff --git a/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt b/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt index 3c278a2..fce2c6b 100644 --- a/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt +++ b/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt @@ -31,7 +31,7 @@ interface HemoCubeDao { @Query("UPDATE hemo_cube_test_table SET isCSVCreated = :newValue WHERE _id = :id") suspend fun updateCSVFieldById(id: String, newValue: Boolean) - @Query("SELECT * from hemo_cube_test_table WHERE molbioFlag = :status") - suspend fun getPendingUser(status: Boolean): List + @Query("SELECT * from hemo_cube_test_table WHERE localFlag = 0") + fun getPendingUser(): LiveData> } \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/ActivitiesFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/ActivitiesFragment.kt new file mode 100644 index 0000000..ec936d7 --- /dev/null +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/ActivitiesFragment.kt @@ -0,0 +1,63 @@ +package com.example.hpostesting.presentation.dashboard + +import android.content.Context +import android.content.SharedPreferences +import android.os.BatteryManager +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.activityViewModels +import com.example.hpostesting.data.constant.Constants +import com.example.hpostesting.data.constant.DataHolder +import com.example.hpostesting.data.model.patient.HemoCubeTestData +import com.example.hpostesting.presentation.adapter.OfflineUserListAdapter +import com.example.hpostesting.presentation.adapter.UserListAdapter +import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel +import com.example.hpostesting.presentation.testRight.TestRightViewModel +import `in`.sminnovations.hpostesting.R +import `in`.sminnovations.hpostesting.databinding.FragmentActivitiesBinding +import `in`.sminnovations.hpostesting.databinding.FragmentHomeBinding + +class ActivitiesFragment : Fragment() { + private lateinit var binding: FragmentActivitiesBinding + private val hemoCubeViewModel: HemoCubeViewModel by activityViewModels() + private lateinit var adapter: OfflineUserListAdapter + private lateinit var sharedPreference: SharedPreferences + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?, + ): View { + binding = FragmentActivitiesBinding.inflate(inflater, container, false) + + sharedPreference = requireContext().getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE) + DataHolder.selectedTest = null + + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + hemoCubeViewModel.allPendingUserToUpload.observe(viewLifecycleOwner) { userData -> + + if (userData.isNotEmpty()) { + binding.rvOrderOffline.visibility = View.VISIBLE + binding.noDataText.visibility = View.GONE + val bm = + requireContext().getSystemService(Context.BATTERY_SERVICE) as BatteryManager + val batLevel: Int = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY) + adapter = OfflineUserListAdapter(binding.root, batLevel) + adapter.differ.submitList(userData) + binding.rvOrderOffline.adapter = adapter + }else{ + binding.rvOrderOffline.visibility = View.GONE + binding.noDataText.visibility = View.VISIBLE + Log.d("Activities","Nothing to show") + } + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt index efd0bb4..9a3a8e2 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt @@ -4,6 +4,7 @@ import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.content.SharedPreferences +import android.content.pm.PackageManager import android.net.Uri import android.os.Build import android.os.Bundle @@ -83,6 +84,9 @@ class DashboardActivity : AppCompatActivity(), IDataCollector { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { nats.connect() } + val versionName = getAppVersion(this@DashboardActivity) + " [ " + getAppEnvironment(this@DashboardActivity) + " ]" + binding.appBarDashboard.versionName.text = versionName + val deviceId = sharedPreferences.getString(Constants.DEVICE_ID, "") @@ -133,7 +137,7 @@ class DashboardActivity : AppCompatActivity(), IDataCollector { appBarConfiguration = AppBarConfiguration( setOf( - R.id.nav_home, R.id.nav_profile, R.id.nav_settings + R.id.nav_home, R.id.nav_profile, R.id.nav_activity,R.id.nav_settings ), drawerLayout ) setupActionBarWithNavController(navController, appBarConfiguration) @@ -251,4 +255,20 @@ class DashboardActivity : AppCompatActivity(), IDataCollector { serial_no = sharedPreference.getString(Constants.DEVICE_ID, "") ) } + private fun getAppVersion(context: Context): String { + return try { + val pInfo = context.packageManager.getPackageInfo(context.packageName, 0) + pInfo.versionName + } catch (e: PackageManager.NameNotFoundException) { + "N/A" + } + } + private fun getAppEnvironment(context: Context): String { + return try { + val pInfo = context.packageManager.getPackageInfo(context.packageName, 0) + pInfo.packageName.substringAfterLast('.') + } catch (e: PackageManager.NameNotFoundException) { + "N/A" + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt index 29f79b6..96b1550 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt @@ -89,7 +89,7 @@ class HemoCubeViewModel @Inject constructor( private val _networkStatusLiveData = NetworkStatusLiveData(context) val allUserData = hemoCubeDao.getAll() val allLocalData = hemoCubeDao.getAll() - val allPendingUserToUpload = MutableLiveData>() + val allPendingUserToUpload = hemoCubeDao.getPendingUser() val allKitTestData = hemoCubeBufferDao.getAll() val deviceData = MutableLiveData() @@ -196,9 +196,9 @@ class HemoCubeViewModel @Inject constructor( } } } - fun uploadPendingUser() = viewModelScope.launch { - allPendingUserToUpload.postValue(hemoCubeDao.getPendingUser(false)) - } +// fun getPendingUser() = viewModelScope.launch { +// allPendingUserToUpload.postValue(hemoCubeDao.getPendingUser(true)) +// } fun uploadHemoCubeResultToDatabaseForBufferCheck( isOnline: Boolean, diff --git a/app/src/main/res/drawable/shows_activity_24.xml b/app/src/main/res/drawable/shows_activity_24.xml new file mode 100644 index 0000000..30d5d26 --- /dev/null +++ b/app/src/main/res/drawable/shows_activity_24.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/layout/app_bar_dashboard.xml b/app/src/main/res/layout/app_bar_dashboard.xml index 9361fe9..3f06e6c 100644 --- a/app/src/main/res/layout/app_bar_dashboard.xml +++ b/app/src/main/res/layout/app_bar_dashboard.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".presentation.dashboard.DashboardActivity"> + > + app:popupTheme="@style/Theme.HPOS.PopupOverlay" > + + diff --git a/app/src/main/res/layout/fragment_activities.xml b/app/src/main/res/layout/fragment_activities.xml new file mode 100644 index 0000000..34bcdb1 --- /dev/null +++ b/app/src/main/res/layout/fragment_activities.xml @@ -0,0 +1,39 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/activity_main_drawer.xml b/app/src/main/res/menu/activity_main_drawer.xml index 67653c3..d283f02 100644 --- a/app/src/main/res/menu/activity_main_drawer.xml +++ b/app/src/main/res/menu/activity_main_drawer.xml @@ -12,6 +12,10 @@ android:id="@+id/nav_profile" android:icon="@drawable/control_panel" android:title="@string/profile" /> + + डिवाइस जानकारी सीएसवी डाउनलोड करें + Activities \ No newline at end of file diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml index 4224009..4dc9455 100644 --- a/app/src/main/res/values-kn/strings.xml +++ b/app/src/main/res/values-kn/strings.xml @@ -270,6 +270,7 @@ ರಕ್ತ ಗುಂಡನ್ನು ಸೇರಿಸಿ ಸರಿ CSV ಡೌನ್ಲೋಡ್ ಮಾಡಿ + Activities \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 54b25d1..cea96e3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -273,4 +273,5 @@ Select your preferred language App Language OK + Activities \ No newline at end of file From e4b237bb9a8389c7284c4ee8873fa77ff283314d Mon Sep 17 00:00:00 2001 From: chandrashekhar reddy Date: Sat, 9 Mar 2024 16:13:54 +0530 Subject: [PATCH 5/7] Added new screen ActivitiesFragment to check upload pending list and added version name in DashboardActivity, so it will be easy to know which version currently in use --- .../hpostesting/presentation/dashboard/ActivitiesFragment.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/ActivitiesFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/ActivitiesFragment.kt index ec936d7..8242751 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/ActivitiesFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/ActivitiesFragment.kt @@ -25,16 +25,12 @@ class ActivitiesFragment : Fragment() { private lateinit var binding: FragmentActivitiesBinding private val hemoCubeViewModel: HemoCubeViewModel by activityViewModels() private lateinit var adapter: OfflineUserListAdapter - private lateinit var sharedPreference: SharedPreferences override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?, ): View { binding = FragmentActivitiesBinding.inflate(inflater, container, false) - sharedPreference = requireContext().getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE) - DataHolder.selectedTest = null - return binding.root } From d701ee4f6d84a89150c8cfe95c9f4a804f7b6147 Mon Sep 17 00:00:00 2001 From: chandrashekhar reddy Date: Sat, 9 Mar 2024 16:20:29 +0530 Subject: [PATCH 6/7] removed the finish for btnNewKit in HomeFragment --- .../example/hpostesting/presentation/dashboard/HomeFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index 5731316..52d3c3a 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -283,7 +283,7 @@ class HomeFragment : Fragment() { apply() } startActivity(Intent(requireContext(), KitScanActivity::class.java)) - requireActivity().finish() + // requireActivity().finish() } binding.btnQuickCapture.setOnClickListener { DataHolder.hemoCubeTestData = HemoCubeTestData() From d7c1508397cd48adfafde4ee4e80d016b2dd096d Mon Sep 17 00:00:00 2001 From: Mariya Date: Mon, 11 Mar 2024 13:01:58 +0530 Subject: [PATCH 7/7] changed the condition for fetching device provision details from firebase --- .../example/hpostesting/presentation/dashboard/HomeFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index 52d3c3a..2715918 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -324,7 +324,7 @@ class HomeFragment : Fragment() { hemoCubeViewModel.login(createLoginRequestData(userID, password)) } } - } else if (userID == "deviceIDAPI" && password == "devicePasswordAPI" && deviceId.isNotEmpty()) { + } else if (userID == "" && password == "" && deviceId.isNotEmpty()) { fetchDeviceCredentials() } else { Toast.makeText(