MainViewModel.kt 940 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 _baseRepository = Repository(application)
  10. private var _apps: LiveData<List<HomeApp>>
  11. init {
  12. _apps = _baseRepository.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. _baseRepository.add(HomeApp.from(app, index))
  20. }
  21. fun update(vararg args: HomeApp) {
  22. _baseRepository.update(*args)
  23. }
  24. fun remove(vararg app: HomeApp) {
  25. _baseRepository.remove(*app)
  26. }
  27. }