Add: Add new repo button

This commit is contained in:
machiav3lli
2022-01-28 00:36:32 +01:00
parent 7bbac86dd4
commit 14ae20e166
4 changed files with 38 additions and 6 deletions

View File

@ -28,7 +28,7 @@ class RepoItem(val item: Repository) :
else
context.getColorFromAttr(R.attr.colorOnBackground)
binding.repoName.text = item.name
binding.repoName.text = item.name.ifEmpty { context.getString(R.string.new_repository) }
binding.repoDescription.text = item.description.trim()
binding.repoItem.setCardBackgroundColor(

View File

@ -3,8 +3,13 @@ package com.looker.droidify.ui.viewmodels
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewModelScope
import com.looker.droidify.database.DatabaseX
import com.looker.droidify.database.entity.Repository
import com.looker.droidify.database.entity.Repository.Companion.newRepository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
class RepositoriesViewModelX(val db: DatabaseX) : ViewModel() {
@ -14,6 +19,16 @@ class RepositoriesViewModelX(val db: DatabaseX) : ViewModel() {
repositories.addSource(db.repositoryDao.allLive, repositories::setValue)
}
fun addRepository() {
viewModelScope.launch {
addNewRepository()
}
}
private suspend fun addNewRepository() {
withContext(Dispatchers.IO) { db.repositoryDao.insert(newRepository()) }
}
class Factory(val db: DatabaseX) : ViewModelProvider.Factory {
@Suppress("unchecked_cast")
override fun <T : ViewModel> create(modelClass: Class<T>): T {