pkg: restructure system metrics into a separate file

This commit is contained in:
Han Yin 2025-04-21 19:16:10 -07:00
parent b1831c4053
commit 379be5d6c3
6 changed files with 55 additions and 52 deletions

View File

@ -8,6 +8,7 @@ import com.example.llama.revamp.data.local.dao.ModelDao
import com.example.llama.revamp.data.local.entity.ModelEntity
import com.example.llama.revamp.data.model.ModelInfo
import com.example.llama.revamp.data.repository.ModelRepository.ImportProgressTracker
import com.example.llama.revamp.monitoring.StorageMetrics
import com.example.llama.revamp.util.GgufMetadataReader
import com.example.llama.revamp.util.copyWithBuffer
import com.example.llama.revamp.util.copyWithChannels
@ -337,7 +338,3 @@ class ModelRepositoryImpl @Inject constructor(
}
}
data class StorageMetrics(
val usedGB: Float,
val availableGB: Float
)

View File

@ -132,48 +132,3 @@ class PerformanceMonitor(@ApplicationContext private val context: Context) {
private const val TEMP_POLLING_INTERVAL = 10000L
}
}
/**
* Data class containing memory usage metrics.
*/
data class MemoryMetrics(
val availableMem: Long,
val totalMem: Long,
val percentUsed: Int,
val availableGb: Float,
val totalGb: Float
)
/**
* Data class containing battery information.
*/
data class BatteryMetrics(
val level: Int,
val isCharging: Boolean
)
/**
* Warning levels for temperature.
*/
enum class TemperatureWarningLevel {
NORMAL,
MEDIUM,
HIGH
}
/**
* Data class containing temperature information.
*/
data class TemperatureMetrics(
private val tempCelsiusValue: Float,
val warningLevel: TemperatureWarningLevel
) {
val celsiusDisplay: String
get() = "${tempCelsiusValue.toInt()}°C"
val fahrenheitDisplay: String
get() = "${(tempCelsiusValue * 9/5 + 32).toInt()}°F"
fun getDisplay(useFahrenheit: Boolean) =
if (useFahrenheit) fahrenheitDisplay else celsiusDisplay
}

View File

@ -0,0 +1,51 @@
package com.example.llama.revamp.monitoring
/**
* Data class containing battery information.
*/
data class BatteryMetrics(
val level: Int,
val isCharging: Boolean
)
/**
* Data class containing memory usage metrics.
*/
data class MemoryMetrics(
val availableMem: Long,
val totalMem: Long,
val percentUsed: Int,
val availableGb: Float,
val totalGb: Float
)
/**
* Data class containing temperature information.
*/
data class TemperatureMetrics(
private val tempCelsiusValue: Float,
val warningLevel: TemperatureWarningLevel
) {
val celsiusDisplay: String
get() = "${tempCelsiusValue.toInt()}°C"
val fahrenheitDisplay: String
get() = "${(tempCelsiusValue * 9/5 + 32).toInt()}°F"
fun getDisplay(useFahrenheit: Boolean) =
if (useFahrenheit) fahrenheitDisplay else celsiusDisplay
}
enum class TemperatureWarningLevel {
NORMAL,
MEDIUM,
HIGH
}
/**
* Data class containing storage usage metrics.
*/
data class StorageMetrics(
val usedGB: Float,
val availableGB: Float
)

View File

@ -18,7 +18,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.example.llama.revamp.data.repository.StorageMetrics
import com.example.llama.revamp.monitoring.StorageMetrics
import java.util.Locale
@OptIn(ExperimentalMaterial3Api::class)

View File

@ -1,7 +1,7 @@
package com.example.llama.revamp.ui.scaffold.topbar
import com.example.llama.revamp.data.repository.StorageMetrics
import com.example.llama.revamp.monitoring.MemoryMetrics
import com.example.llama.revamp.monitoring.StorageMetrics
import com.example.llama.revamp.monitoring.TemperatureMetrics
/**

View File

@ -4,10 +4,10 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.example.llama.revamp.data.preferences.UserPreferences
import com.example.llama.revamp.data.repository.ModelRepository
import com.example.llama.revamp.data.repository.StorageMetrics
import com.example.llama.revamp.monitoring.BatteryMetrics
import com.example.llama.revamp.monitoring.MemoryMetrics
import com.example.llama.revamp.monitoring.PerformanceMonitor
import com.example.llama.revamp.monitoring.StorageMetrics
import com.example.llama.revamp.monitoring.TemperatureMetrics
import com.example.llama.revamp.monitoring.TemperatureWarningLevel
import dagger.hilt.android.lifecycle.HiltViewModel