diff --git a/.idea/misc.xml b/.idea/misc.xml
index 6135be8..8ff4f9f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -19,6 +19,7 @@
+
diff --git a/app/build.gradle b/app/build.gradle
index 5476ac6..aeeef30 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -56,6 +56,8 @@ dependencies {
implementation 'com.opencsv:opencsv:4.6'
+ // For the Graph
+ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
// implementation 'androidx.appcompat:appcompat:1.1.0'
// implementation "androidx.core:core-ktx:+"
// implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
diff --git a/app/src/main/java/com/example/hpos/presentation/testRight/GraphFragment.kt b/app/src/main/java/com/example/hpos/presentation/testRight/GraphFragment.kt
new file mode 100644
index 0000000..83198fd
--- /dev/null
+++ b/app/src/main/java/com/example/hpos/presentation/testRight/GraphFragment.kt
@@ -0,0 +1,92 @@
+package com.example.hpos.presentation.testRight
+
+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.hpos.R
+import com.example.hpos.databinding.FragmentGraphBinding
+import com.github.mikephil.charting.animation.Easing
+import com.github.mikephil.charting.data.Entry
+import com.github.mikephil.charting.data.LineData
+import com.github.mikephil.charting.data.LineDataSet
+
+class GraphFragment : Fragment() {
+
+ private lateinit var binding: FragmentGraphBinding
+ private val viewModel: TestRightViewModel by activityViewModels()
+
+ private val TAG = "GraphFragment"
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ // Inflate the layout for this fragment
+ binding = FragmentGraphBinding.inflate(inflater, container, false)
+ return binding.root
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ setLineChartData()
+// setLineChartDataTest()
+ }
+
+ private fun setLineChartDataTest() {
+ val linevalues = ArrayList()
+ var y = 0.1f
+ for (each in 350..555) {
+ linevalues.add(Entry(each.toFloat(), y))
+ y += 0.1f
+ }
+ for (each in 556..800) {
+ linevalues.add(Entry(each.toFloat(), y))
+ y -= 0.1f
+ }
+
+ val lineDataSet = LineDataSet(linevalues, "HPOS")
+
+ lineDataSet.mode = LineDataSet.Mode.LINEAR;
+// lineDataSet.mode = LineDataSet.Mode.CUBIC_BEZIER
+
+ lineDataSet.setDrawFilled(true)
+ lineDataSet.fillColor = resources.getColor(R.color.blue_app)
+
+ val data = LineData(lineDataSet)
+ binding.getTheGraph.data = data
+ binding.getTheGraph.invalidate()
+ }
+
+ private fun setLineChartData() {
+ val linevalues = ArrayList()
+
+ Log.d(TAG, "SIZE = ${viewModel.wavelengthToAbsorbance.size}")
+ for (each in viewModel.wavelengthToAbsorbance) {
+ Log.d(TAG, each[0].toString())
+// if (each[0] in 350.0..751.0) {
+ linevalues.add(Entry(each[0].toFloat(), each[1].toFloat()))
+// }
+ }
+
+ val lineDataSet = LineDataSet(linevalues, "Wavelength -> Absorbance")
+
+ //We add features to our chart
+ lineDataSet.color = resources.getColor(R.color.blue_app)
+ lineDataSet.fillColor = resources.getColor(R.color.blue_app)
+ lineDataSet.setDrawFilled(true)
+ lineDataSet.mode = LineDataSet.Mode.CUBIC_BEZIER
+ lineDataSet.setDrawCircles(false)
+
+ //We connect our data to the UI Screen
+ val data = LineData(lineDataSet)
+ binding.getTheGraph.data = data
+ binding.getTheGraph.setBackgroundColor(resources.getColor(R.color.white))
+ binding.getTheGraph.animateXY(1000, 1000, Easing.EaseInCubic)
+
+ binding.getTheGraph.invalidate()
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hpos/presentation/testRight/TestRightActivity.kt b/app/src/main/java/com/example/hpos/presentation/testRight/TestRightActivity.kt
index e208e41..ec206c9 100644
--- a/app/src/main/java/com/example/hpos/presentation/testRight/TestRightActivity.kt
+++ b/app/src/main/java/com/example/hpos/presentation/testRight/TestRightActivity.kt
@@ -110,7 +110,13 @@ class TestRightActivity : AppCompatActivity() {
val availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager)
if (availableDrivers.isEmpty()) {
+ // Todo: To Add
onErrorReported("No Device is Connected")
+
+ // Todo: To remove
+// supportFragmentManager.beginTransaction()
+// .replace(binding.flMain.id, GraphFragment()).commit()
+
} else {
mDriver = availableDrivers[0]
diff --git a/app/src/main/java/com/example/hpos/presentation/testRight/TestRightResults.kt b/app/src/main/java/com/example/hpos/presentation/testRight/TestRightResults.kt
index 62e8748..5930367 100644
--- a/app/src/main/java/com/example/hpos/presentation/testRight/TestRightResults.kt
+++ b/app/src/main/java/com/example/hpos/presentation/testRight/TestRightResults.kt
@@ -53,6 +53,11 @@ class TestRightResults : Fragment() {
binding.ivNext.setOnClickListener {
moveToSamplePage()
}
+ binding.ivGraph.setOnClickListener {
+ parentFragmentManager.beginTransaction()
+ .replace(R.id.fl_main, GraphFragment())
+ .commit()
+ }
}
fun moveToSamplePage() {
diff --git a/app/src/main/res/drawable/ic_baseline_auto_graph_24.xml b/app/src/main/res/drawable/ic_baseline_auto_graph_24.xml
new file mode 100644
index 0000000..98c27da
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_auto_graph_24.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/fragment_graph.xml b/app/src/main/res/layout/fragment_graph.xml
new file mode 100644
index 0000000..3ff8c9e
--- /dev/null
+++ b/app/src/main/res/layout/fragment_graph.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_test_right_results.xml b/app/src/main/res/layout/fragment_test_right_results.xml
index 2a14a9c..94fd864 100644
--- a/app/src/main/res/layout/fragment_test_right_results.xml
+++ b/app/src/main/res/layout/fragment_test_right_results.xml
@@ -190,7 +190,7 @@
android:layout_marginEnd="16dp"
android:src="@drawable/ic_baseline_home_24"
app:layout_constraintStart_toStartOf="@id/cv_sample_details"
- app:layout_constraintEnd_toStartOf="@id/iv_next"
+ app:layout_constraintEnd_toStartOf="@id/iv_graph"
app:layout_constraintTop_toBottomOf="@id/cv_sample_details" />
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1c2430a..463bcc2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -33,7 +33,6 @@
Yes, Run
-
Instructions
Step 1 : Place the cuvette containing reference/baseline sample for referencing.