MainViewModel.kt 927 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.sduduzog.slimlauncher.data
  2. import android.app.Application
  3. import androidx.lifecycle.AndroidViewModel
  4. import androidx.lifecycle.LiveData
  5. import androidx.lifecycle.MutableLiveData
  6. import com.sduduzog.slimlauncher.data.model.App
  7. import com.sduduzog.slimlauncher.data.model.HomeApp
  8. class MainViewModel(application: Application) : AndroidViewModel(application) {
  9. private val _appRepository = AppRepository(application)
  10. private var _apps: LiveData<List<HomeApp>>
  11. init {
  12. _apps = _appRepository.apps
  13. }
  14. val apps: LiveData<List<HomeApp>>
  15. get() = _apps
  16. val installedApps = MutableLiveData<List<App>>()
  17. fun add(app: App){
  18. val index = _apps.value!!.size
  19. _appRepository.add(HomeApp.from(app, index))
  20. }
  21. fun update(vararg args: HomeApp){
  22. _appRepository.update(*args)
  23. }
  24. fun remove(app: HomeApp){
  25. _appRepository.remove(app)
  26. }
  27. }