DI: make viewmodels Hilt injectable
This commit is contained in:
parent
564b095427
commit
a1f6e7e476
|
|
@ -5,6 +5,7 @@ import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.example.llama.revamp.data.model.ModelInfo
|
import com.example.llama.revamp.data.model.ModelInfo
|
||||||
import com.example.llama.revamp.engine.InferenceEngine
|
import com.example.llama.revamp.engine.InferenceEngine
|
||||||
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
|
@ -15,12 +16,14 @@ import kotlinx.coroutines.launch
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main ViewModel that handles the LLM engine state and operations.
|
* Main ViewModel that handles the LLM engine state and operations.
|
||||||
*/
|
*/
|
||||||
class MainViewModel(
|
@HiltViewModel
|
||||||
private val inferenceEngine: InferenceEngine = InferenceEngine()
|
class MainViewModel @Inject constructor (
|
||||||
|
private val inferenceEngine: InferenceEngine
|
||||||
) : ViewModel() {
|
) : ViewModel() {
|
||||||
|
|
||||||
// Expose the engine state
|
// Expose the engine state
|
||||||
|
|
|
||||||
|
|
@ -9,16 +9,19 @@ import com.example.llama.revamp.monitoring.MemoryMetrics
|
||||||
import com.example.llama.revamp.monitoring.PerformanceMonitor
|
import com.example.llama.revamp.monitoring.PerformanceMonitor
|
||||||
import com.example.llama.revamp.monitoring.TemperatureMetrics
|
import com.example.llama.revamp.monitoring.TemperatureMetrics
|
||||||
import com.example.llama.revamp.monitoring.TemperatureWarningLevel
|
import com.example.llama.revamp.monitoring.TemperatureWarningLevel
|
||||||
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.asStateFlow
|
import kotlinx.coroutines.flow.asStateFlow
|
||||||
import kotlinx.coroutines.flow.first
|
import kotlinx.coroutines.flow.first
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ViewModel that manages performance monitoring for the app.
|
* ViewModel that manages performance monitoring for the app.
|
||||||
*/
|
*/
|
||||||
class PerformanceViewModel(
|
@HiltViewModel
|
||||||
|
class PerformanceViewModel @Inject constructor(
|
||||||
private val performanceMonitor: PerformanceMonitor,
|
private val performanceMonitor: PerformanceMonitor,
|
||||||
private val userPreferences: UserPreferences
|
private val userPreferences: UserPreferences
|
||||||
) : ViewModel() {
|
) : ViewModel() {
|
||||||
|
|
|
||||||
|
|
@ -5,15 +5,18 @@ import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.example.llama.revamp.data.model.SystemPrompt
|
import com.example.llama.revamp.data.model.SystemPrompt
|
||||||
import com.example.llama.revamp.data.repository.SystemPromptRepository
|
import com.example.llama.revamp.data.repository.SystemPromptRepository
|
||||||
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import kotlinx.coroutines.flow.SharingStarted
|
import kotlinx.coroutines.flow.SharingStarted
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.stateIn
|
import kotlinx.coroutines.flow.stateIn
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ViewModel for handling system prompts.
|
* ViewModel for handling system prompts.
|
||||||
*/
|
*/
|
||||||
class SystemPromptViewModel(
|
@HiltViewModel
|
||||||
|
class SystemPromptViewModel @Inject constructor(
|
||||||
private val repository: SystemPromptRepository
|
private val repository: SystemPromptRepository
|
||||||
) : ViewModel() {
|
) : ViewModel() {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue