From 7bbb001809828f9876fc257e5f0a97e8b7174ab4 Mon Sep 17 00:00:00 2001 From: Jona Heitzer Date: Mon, 5 Aug 2024 20:08:57 +0200 Subject: [PATCH] Update shutter speed based on illuminance --- .../main/java/eu/wa5p/lightmeter/MainActivity.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/wa5p/lightmeter/MainActivity.kt b/app/src/main/java/eu/wa5p/lightmeter/MainActivity.kt index df42209..4ac6219 100644 --- a/app/src/main/java/eu/wa5p/lightmeter/MainActivity.kt +++ b/app/src/main/java/eu/wa5p/lightmeter/MainActivity.kt @@ -57,11 +57,23 @@ class MainActivity : ComponentActivity(), SensorEventListener { illuminanceSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT) } + fun updateLightmeterState(illuminance: Double) { + val iso = lightmeterState.value.iso + val aperture = lightmeterState.value.aperture + val shutterSpeed = (aperture * aperture) / (illuminance * (iso / 100)) + lightmeterState.value = lightmeterState.value.copy( + illuminance = illuminance, + iso = iso, + aperture = aperture, + shutterSpeed = shutterSpeed + ) + } + override fun onSensorChanged(event: SensorEvent?) { event?.values?.let { for (v in it) { Log.d(TAG, "sensor changed: $v lux") - lightmeterState.value = lightmeterState.value.copy(illuminance = v.toDouble()) + updateLightmeterState(v.toDouble()) } } }