From cfa6a7471a0af5098ef6eabefc05248d77e546d5 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Wed, 6 Jul 2022 09:33:00 +0200 Subject: [PATCH] Fix: Adding new repo --- .../pages/settings/repository/RepositoryPage.kt | 16 +++++++++++++--- .../ui/viewmodels/RepositoriesViewModelX.kt | 14 +++++++++----- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/pages/settings/repository/RepositoryPage.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/pages/settings/repository/RepositoryPage.kt index acb0043d..e7efc082 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/pages/settings/repository/RepositoryPage.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/pages/settings/repository/RepositoryPage.kt @@ -13,6 +13,8 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import com.machiav3lli.fdroid.R import com.machiav3lli.fdroid.ui.compose.RepositoriesRecycler import com.machiav3lli.fdroid.ui.viewmodels.RepositoriesViewModelX @@ -23,9 +25,17 @@ fun RepositoryPage(viewModel: RepositoriesViewModelX) { Scaffold( modifier = Modifier.fillMaxSize(), floatingActionButton = { - ExtendedFloatingActionButton(onClick = { viewModel.showRepositorySheet(editMode = true) }) { - Icon(imageVector = Icons.Rounded.Add, contentDescription = "Add Repository") - Text(text = "Add Repository") + ExtendedFloatingActionButton(onClick = { + viewModel.showRepositorySheet( + editMode = true, + addNew = true + ) + }) { + Icon( + imageVector = Icons.Rounded.Add, + contentDescription = stringResource(id = R.string.add_repository) + ) + Text(text = stringResource(id = R.string.add_repository)) } } ) { diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/viewmodels/RepositoriesViewModelX.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/viewmodels/RepositoriesViewModelX.kt index de2fd426..f6598cbf 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/ui/viewmodels/RepositoriesViewModelX.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/viewmodels/RepositoriesViewModelX.kt @@ -40,13 +40,17 @@ class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() { viewModelScope.launch { syncConnection.bind(context) } } - fun showRepositorySheet(repositoryId: Long = 0L, editMode: Boolean = false) { + fun showRepositorySheet( + repositoryId: Long = 0L, + editMode: Boolean = false, + addNew: Boolean = false + ) { viewModelScope.launch { _showSheet.emit( - if (editMode) { - SheetNavigationData(repositoryId, editMode) - } else { + if (addNew) { SheetNavigationData(addNewRepository(), editMode) + } else { + SheetNavigationData(repositoryId, editMode) } ) } @@ -59,7 +63,7 @@ class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() { } private suspend fun addNewRepository(): Long = withContext(Dispatchers.IO) { - repositoryDao.insert(newRepository()) + repositoryDao.insert(newRepository(address = "new repository")) repositoryDao.latestAddedId() }