summaryrefslogtreecommitdiff
path: root/src/android/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src')
-rw-r--r--src/android/app/src/main/java/org/citron/citron_emu/fragments/EmulationFragment.kt17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/android/app/src/main/java/org/citron/citron_emu/fragments/EmulationFragment.kt b/src/android/app/src/main/java/org/citron/citron_emu/fragments/EmulationFragment.kt
index d39d25898..93a15def9 100644
--- a/src/android/app/src/main/java/org/citron/citron_emu/fragments/EmulationFragment.kt
+++ b/src/android/app/src/main/java/org/citron/citron_emu/fragments/EmulationFragment.kt
@@ -7,6 +7,8 @@ import android.annotation.SuppressLint
import android.app.AlertDialog
import android.content.Context
import android.content.DialogInterface
+import android.content.Intent
+import android.content.IntentFilter
import android.content.pm.ActivityInfo
import android.content.res.Configuration
import android.net.Uri
@@ -1094,10 +1096,15 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
}
private fun getBatteryTemperature(context: Context): Float {
- val batteryManager = context.getSystemService(Context.BATTERY_SERVICE) as BatteryManager
- // Get temperature in tenths of a degree Celsius
- val temperature = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_TEMPERATURE)
- // Convert to degrees Celsius
- return temperature / 10.0f
+ try {
+ val batteryIntent = context.registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))
+ // Temperature in tenths of a degree Celsius
+ val temperature = batteryIntent?.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0) ?: 0
+ // Convert to degrees Celsius
+ return temperature / 10.0f
+ } catch (e: Exception) {
+ Log.error("[EmulationFragment] Failed to get battery temperature: ${e.message}")
+ return 0.0f
+ }
}
}