diff --git a/src/MagSend/app/src/main/java/dev/kaderli/magsend/BaseSensorActivity.kt b/src/MagSend/app/src/main/java/dev/kaderli/magsend/BaseSensorActivity.kt
new file mode 100644
index 0000000..3072efd
--- /dev/null
+++ b/src/MagSend/app/src/main/java/dev/kaderli/magsend/BaseSensorActivity.kt
@@ -0,0 +1,21 @@
+package dev.kaderli.magsend
+
+import android.content.Context
+import android.hardware.Sensor
+import android.hardware.SensorEventListener
+import android.hardware.SensorManager
+import android.os.Bundle
+
+abstract class BaseSensorActivity : BaseActivity(), SensorEventListener {
+ private lateinit var sensorManager: SensorManager;
+ private lateinit var sensor: Sensor;
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
+ sensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
+ sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);
+ }
+
+ override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
+}
diff --git a/src/MagSend/app/src/main/java/dev/kaderli/magsend/CalibrationActivity.kt b/src/MagSend/app/src/main/java/dev/kaderli/magsend/CalibrationActivity.kt
index 1e1ddb3..f858af6 100644
--- a/src/MagSend/app/src/main/java/dev/kaderli/magsend/CalibrationActivity.kt
+++ b/src/MagSend/app/src/main/java/dev/kaderli/magsend/CalibrationActivity.kt
@@ -1,7 +1,23 @@
package dev.kaderli.magsend
-class CalibrationActivity : BaseActivity() {
+import android.hardware.SensorEvent
+import android.os.Bundle
+import android.widget.TextView
+
+class CalibrationActivity : BaseSensorActivity() {
+ private lateinit var calibrationValue: TextView
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ calibrationValue = findViewById(R.id.calibrationValue)
+ calibrationValue.text = getString(R.string.calibration_value, 0f)
+ }
+
override fun getLayoutId(): Int {
return R.layout.activity_calibration
}
+
+ override fun onSensorChanged(event: SensorEvent) {
+ calibrationValue.text = getString(R.string.calibration_value, event.values[0])
+ }
}
diff --git a/src/MagSend/app/src/main/res/layout/activity_calibration.xml b/src/MagSend/app/src/main/res/layout/activity_calibration.xml
index c28bd5f..af88e45 100644
--- a/src/MagSend/app/src/main/res/layout/activity_calibration.xml
+++ b/src/MagSend/app/src/main/res/layout/activity_calibration.xml
@@ -22,7 +22,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/component_spacing"
- android:text="82µT "
android:textSize="48sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/src/MagSend/app/src/main/res/values/strings.xml b/src/MagSend/app/src/main/res/values/strings.xml
index 5954412..067e3a0 100644
--- a/src/MagSend/app/src/main/res/values/strings.xml
+++ b/src/MagSend/app/src/main/res/values/strings.xml
@@ -10,4 +10,5 @@
Restart
Calibration
Receive
+ %1$.2f µT