Slightly changed the overlay design
This commit is contained in:
parent
875a0d7e4a
commit
dfbdf448eb
1 changed files with 14 additions and 27 deletions
|
@ -13,7 +13,6 @@ import android.net.Uri
|
|||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.os.PowerManager
|
||||
import android.os.SystemClock
|
||||
import android.util.Rational
|
||||
import android.view.*
|
||||
|
@ -87,8 +86,6 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|||
|
||||
private var isInFoldableLayout = false
|
||||
|
||||
private lateinit var powerManager: PowerManager
|
||||
|
||||
override fun onAttach(context: Context) {
|
||||
super.onAttach(context)
|
||||
if (context is EmulationActivity) {
|
||||
|
@ -106,8 +103,6 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|||
super.onCreate(savedInstanceState)
|
||||
updateOrientation()
|
||||
|
||||
powerManager = requireContext().getSystemService(Context.POWER_SERVICE) as PowerManager
|
||||
|
||||
val intentUri: Uri? = requireActivity().intent.data
|
||||
var intentGame: Game? = null
|
||||
if (intentUri != null) {
|
||||
|
@ -515,6 +510,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|||
@SuppressLint("DefaultLocale")
|
||||
private fun updateShowFpsOverlay() {
|
||||
val showOverlay = BooleanSetting.SHOW_PERFORMANCE_OVERLAY.getBoolean()
|
||||
binding.showFpsText.setTextColor(Color.parseColor("#A146FF"))
|
||||
binding.showFpsText.setVisible(showOverlay)
|
||||
if (showOverlay) {
|
||||
val SYSTEM_FPS = 0
|
||||
|
@ -540,7 +536,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|||
|
||||
if (_binding != null) {
|
||||
binding.showFpsText.text = String.format(
|
||||
"FPS: %.1f\nMEM: %d MB\n%s/%s",
|
||||
"%.1f FPS • %d MB • %s/%s",
|
||||
perfStats[FPS], usedMegs, cpuBackend, gpuDriver
|
||||
)
|
||||
}
|
||||
|
@ -571,25 +567,16 @@ private fun updateThermalOverlay(temperature: Float) {
|
|||
emulationViewModel.emulationStarted.value &&
|
||||
!emulationViewModel.isEmulationStopping.value
|
||||
) {
|
||||
// Get thermal status for color
|
||||
val thermalStatus = when (powerManager.currentThermalStatus) {
|
||||
PowerManager.THERMAL_STATUS_NONE -> 0f
|
||||
PowerManager.THERMAL_STATUS_LIGHT -> 0.25f
|
||||
PowerManager.THERMAL_STATUS_MODERATE -> 0.5f
|
||||
PowerManager.THERMAL_STATUS_SEVERE -> 0.75f
|
||||
PowerManager.THERMAL_STATUS_CRITICAL,
|
||||
PowerManager.THERMAL_STATUS_EMERGENCY,
|
||||
PowerManager.THERMAL_STATUS_SHUTDOWN -> 1.0f
|
||||
else -> 0f
|
||||
}
|
||||
|
||||
// Convert to Fahrenheit
|
||||
val fahrenheit = (temperature * 9f / 5f) + 32f
|
||||
|
||||
// Color based on thermal status (green to red)
|
||||
val red = (thermalStatus * 255).toInt()
|
||||
val green = ((1f - thermalStatus) * 255).toInt()
|
||||
val color = android.graphics.Color.rgb(red, green, 0)
|
||||
// Determine color based on temperature ranges
|
||||
val color = when {
|
||||
temperature < 35 -> Color.parseColor("#00C8FF")
|
||||
temperature < 40 -> Color.parseColor("#A146FF")
|
||||
temperature < 45 -> Color.parseColor("#FFA500")
|
||||
else -> Color.RED
|
||||
}
|
||||
|
||||
binding.showThermalsText.setTextColor(color)
|
||||
binding.showThermalsText.text = String.format("%.1f°C • %.1f°F", temperature, fahrenheit)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue