feat(android): feature flag "read posts" feature

This commit is contained in:
Harsh Shandilya 2023-08-16 11:27:57 +05:30
parent bc3a1266f4
commit fcd85dc8e1
No known key found for this signature in database
2 changed files with 17 additions and 2 deletions

View file

@ -6,6 +6,7 @@
*/
@file:Suppress("UnstableApiUsage")
import com.android.build.api.variant.BuildConfigField
import dev.msfjarvis.claw.gradle.addTestDependencies
plugins {
@ -34,6 +35,15 @@ android {
packagingOptions.resources.pickFirsts += "**/*.bin"
}
androidComponents {
onVariants { variant ->
variant.buildConfigFields.put(
"ENABLE_READ_COMMENTS",
BuildConfigField("boolean", "false", "Not yet buddy boy")
)
}
}
baselineProfile {
dexLayoutOptimization = true
mergeIntoMain = true

View file

@ -12,6 +12,7 @@ import androidx.activity.ComponentActivity
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.navigation.NavController
import dev.msfjarvis.claw.android.BuildConfig
import dev.msfjarvis.claw.android.ui.navigation.Destinations
import dev.msfjarvis.claw.android.viewmodel.ClawViewModel
import dev.msfjarvis.claw.common.posts.PostActions
@ -37,12 +38,16 @@ fun rememberPostActions(
return remember {
object : PostActions {
override fun viewPost(postId: String, postUrl: String, commentsUrl: String) {
viewModel.markPostAsRead(postId)
if (BuildConfig.ENABLE_READ_COMMENTS) {
viewModel.markPostAsRead(postId)
}
urlLauncher.openUri(postUrl.ifEmpty { commentsUrl })
}
override fun viewComments(postId: String) {
viewModel.markPostAsRead(postId)
if (BuildConfig.ENABLE_READ_COMMENTS) {
viewModel.markPostAsRead(postId)
}
val currentRoute = navController.currentDestination?.route
val newRoute =
Destinations.Comments.route.replace(Destinations.Comments.placeholder, postId)