From d2d3e9c8b3047c96f91a0f22862990dc553f2d13 Mon Sep 17 00:00:00 2001 From: Iamlooker Date: Thu, 30 Jun 2022 01:33:45 +0530 Subject: [PATCH] Fixed the Repository sheet bug Fixed linting of optIn RepositoryItem Cleanup --- build.gradle.kts | 2 +- .../ui/compose/components/RespositoryItem.kt | 18 +++--------------- .../ui/fragments/PrefsRepositoriesFragment.kt | 4 +--- .../ui/viewmodels/RepositoriesViewModelX.kt | 6 ++++-- 4 files changed, 9 insertions(+), 21 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index c0cfc1e3..b7537e43 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -54,7 +54,7 @@ android { kotlinOptions { jvmTarget = compileOptions.sourceCompatibility.toString() - freeCompilerArgs = listOf("-Xjvm-default=compatibility") + freeCompilerArgs = listOf("-Xjvm-default=compatibility", "-opt-in=kotlin.RequiresOptIn") } buildFeatures { diff --git a/src/main/kotlin/com/looker/droidify/ui/compose/components/RespositoryItem.kt b/src/main/kotlin/com/looker/droidify/ui/compose/components/RespositoryItem.kt index 6faf3c50..be10a355 100644 --- a/src/main/kotlin/com/looker/droidify/ui/compose/components/RespositoryItem.kt +++ b/src/main/kotlin/com/looker/droidify/ui/compose/components/RespositoryItem.kt @@ -34,7 +34,7 @@ fun RepositoryItem( onClick: (Repository) -> Unit = {}, onLongClick: (Repository) -> Unit = {} ) { - var (isEnabled, enable) = remember(repository.enabled) { + val (isEnabled, enable) = remember(repository.enabled) { mutableStateOf(repository.enabled) } val backgroundColor by animateColorAsState( @@ -44,7 +44,7 @@ fun RepositoryItem( Surface( modifier = modifier - .padding(horizontal = 8.dp, vertical = 4.dp) + .padding(horizontal = 16.dp, vertical = 4.dp) .fillMaxWidth() .clip(MaterialTheme.shapes.large) .combinedClickable( @@ -55,7 +55,7 @@ fun RepositoryItem( onLongClick = { onLongClick(repository) } ), color = backgroundColor, - shape = MaterialTheme.shapes.large + shape = MaterialTheme.shapes.extraLarge ) { Row( modifier = Modifier.padding( @@ -104,16 +104,4 @@ private fun RepositoryItemText( ) } } -} - -//@Preview -@Composable -fun RepositoryItemPreview() { - RepositoryItem( - repository = Repository( - name = "Test Repo", - description = "Test Repo description written by looker, You are welcome" - ), - onClick = {} - ) } \ No newline at end of file diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/PrefsRepositoriesFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/PrefsRepositoriesFragment.kt index 276cbecb..ebbca85f 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/PrefsRepositoriesFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/PrefsRepositoriesFragment.kt @@ -34,9 +34,7 @@ class PrefsRepositoriesFragment : BaseNavFragment() { super.onCreate(savedInstanceState) lifecycleScope.launchWhenStarted { viewModel.showSheet.collectLatest { - it?.let { - RepositorySheetX(it).showNow(childFragmentManager, "Repository $it") - } + RepositorySheetX(it).showNow(childFragmentManager, "Repository $it") } } return ComposeView(requireContext()).apply { diff --git a/src/main/kotlin/com/looker/droidify/ui/viewmodels/RepositoriesViewModelX.kt b/src/main/kotlin/com/looker/droidify/ui/viewmodels/RepositoriesViewModelX.kt index d98b438b..79b35bdc 100644 --- a/src/main/kotlin/com/looker/droidify/ui/viewmodels/RepositoriesViewModelX.kt +++ b/src/main/kotlin/com/looker/droidify/ui/viewmodels/RepositoriesViewModelX.kt @@ -11,7 +11,9 @@ import com.looker.droidify.database.entity.Repository.Companion.newRepository import com.looker.droidify.service.Connection import com.looker.droidify.service.SyncService import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch @@ -23,8 +25,8 @@ class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() { val syncConnection = Connection(SyncService::class.java) - private val _showSheet = MutableStateFlow(null) - val showSheet = _showSheet.asStateFlow() + private val _showSheet = MutableSharedFlow() + val showSheet: SharedFlow = _showSheet private val _repositories = MutableStateFlow>(emptyList()) val repositories = _repositories.asStateFlow()