From 669c36b99ab8828f582c4a4baa1e7fcc4c920760 Mon Sep 17 00:00:00 2001 From: deeppp15 Date: Tue, 15 Oct 2024 14:00:00 -0400 Subject: [PATCH] initial debugging --- .../ui/myhealth/AddExaminationActivity.kt | 38 ++++++++++++++++++- .../myplanet/ui/myhealth/MyHealthFragment.kt | 6 ++- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/AddExaminationActivity.kt b/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/AddExaminationActivity.kt index 9d150df6d..c29675f47 100644 --- a/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/AddExaminationActivity.kt +++ b/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/AddExaminationActivity.kt @@ -5,12 +5,14 @@ import android.os.Bundle import android.text.Editable import android.text.TextUtils import android.text.TextWatcher +import android.util.Log import android.view.MenuItem import android.view.View import android.widget.CheckBox import android.widget.CompoundButton import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.ContentProviderCompat.requireContext import androidx.core.content.ContextCompat import com.google.gson.Gson import com.google.gson.JsonObject @@ -51,6 +53,8 @@ class AddExaminationActivity : AppCompatActivity(), CompoundButton.OnCheckedChan var allowSubmission = true private lateinit var config: ChipCloudConfig private var examination: RealmMyHealthPojo? = null + lateinit var profileDbHandler: UserProfileDbHandler + private fun initViews() { config = Utilities.getCloudConfig().selectMode(ChipCloud.SelectMode.close) activityAddExaminationBinding.btnAddDiag.setOnClickListener { @@ -73,10 +77,30 @@ class AddExaminationActivity : AppCompatActivity(), CompoundButton.OnCheckedChan mRealm = DatabaseService(this).realmInstance userId = intent.getStringExtra("userId") pojo = mRealm.where(RealmMyHealthPojo::class.java).equalTo("_id", userId).findFirst() + user?.let { nonNullUser -> + if (nonNullUser.iv.isNullOrEmpty()) { + if (!mRealm.isInTransaction) mRealm.beginTransaction() + nonNullUser.iv = generateIv() + Log.d("4597", "Generated IV: ${nonNullUser.iv}") + mRealm.commitTransaction() + } + + if (nonNullUser.key.isNullOrEmpty()) { + if (!mRealm.isInTransaction) mRealm.beginTransaction() + nonNullUser.key = generateKey() + Log.d("4597", "Generated Key: ${nonNullUser.key}") + mRealm.commitTransaction() + } + } if (pojo == null) { pojo = mRealm.where(RealmMyHealthPojo::class.java).equalTo("userId", userId).findFirst() } - user = mRealm.where(RealmUserModel::class.java).equalTo("id", userId).findFirst() + Log.d("4597", "Using: "+userId) + + user =mRealm.where(RealmUserModel::class.java).equalTo("_id", userId).findFirst() + + Log.d("4597", "DID WE FOUND USER ID: "+user?.key+" , "+user?.iv) + if (pojo != null && !TextUtils.isEmpty(pojo?.data)) { health = Gson().fromJson(decrypt(pojo?.data, user?.key, user?.iv), RealmMyHealth::class.java) } @@ -97,6 +121,7 @@ class AddExaminationActivity : AppCompatActivity(), CompoundButton.OnCheckedChan private fun initExamination() { if (intent.hasExtra("id")) { examination = mRealm.where(RealmMyHealthPojo::class.java).equalTo("_id", intent.getStringExtra("id")).findFirst()!! + Log.d("4597", "user key: "+user?.key+" , vec : "+user?.iv) activityAddExaminationBinding.etTemperature.setText(getString(R.string.number_placeholder, examination?.temperature)) activityAddExaminationBinding.etPulseRate.setText(getString(R.string.number_placeholder, examination?.pulse)) activityAddExaminationBinding.etBloodpressure.setText(getString(R.string.message_placeholder, examination?.bp)) @@ -259,9 +284,16 @@ class AddExaminationActivity : AppCompatActivity(), CompoundButton.OnCheckedChan examination?.isUpdated = true examination?.isHasInfo = hasInfo pojo?.isUpdated = true + Log.d("4597", "SIGN Object: "+sign.toString()) + Log.d("4597", "Saving examination Object: "+examination.toString()) + try { - examination?.data = encrypt(Gson().toJson(sign), user?.key!!, user?.iv!!) + Log.d("4597"," user key: "+user?.key+" user vector: "+user?.iv) + examination?.data = encrypt(Gson().toJson(sign), user?.key!!, user?.iv!!) // This doesnt work becuse the key and IV is null + Log.d("4597", " encrypted GSON : " +examination?.data) } catch (e: Exception) { + Log.e("4597", "error saving the data " ,e) + e.printStackTrace() } mRealm.commitTransaction() @@ -329,7 +361,9 @@ class AddExaminationActivity : AppCompatActivity(), CompoundButton.OnCheckedChan pojo?.userId = user?._id } health?.lastExamination = Date().time + Log.d("4597"," in createPojo user key:" +user?.key+" user vector: "+user?.iv) pojo?.data = encrypt(Gson().toJson(health), user?.key, user?.iv) + Log.d("4597"," in createPojo encrypted pojo data from user key vector is:" +pojo?.data) } catch (e: Exception) { e.printStackTrace() Utilities.toast(this, getString(R.string.unable_to_add_health_record)) diff --git a/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/MyHealthFragment.kt b/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/MyHealthFragment.kt index 41928e10c..a9961a76e 100644 --- a/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/MyHealthFragment.kt +++ b/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/MyHealthFragment.kt @@ -6,6 +6,7 @@ import android.os.CountDownTimer import android.text.Editable import android.text.TextUtils import android.text.TextWatcher +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -187,12 +188,15 @@ class MyHealthFragment : Fragment() { fragmentVitalSignBinding.txtEmail.text = Utilities.checkNA(userModel?.email!!) fragmentVitalSignBinding.txtLanguage.text = Utilities.checkNA(userModel?.language!!) fragmentVitalSignBinding.txtDob.text = Utilities.checkNA(userModel?.dob!!) + Log.d("4597","searching for user ID: "+userId) var mh = mRealm.where(RealmMyHealthPojo::class.java).equalTo("_id", userId).findFirst() if (mh == null) { - mh = mRealm.where(RealmMyHealthPojo::class.java).equalTo("userId", userId).findFirst() + mh = mRealm.where(RealmMyHealthPojo::class.java).equalTo("_id", userId).findFirst() } if (mh != null) { val mm = getHealthProfile(mh) + Log.d("4597","MM:"+mm.toString()) + if (mm == null) { fragmentVitalSignBinding.rvRecords.adapter = null Utilities.toast(activity, getString(R.string.health_record_not_available))