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

View file

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