refactor: remove constructor parameter from SavedPostsWidget

This commit is contained in:
Harsh Shandilya 2024-02-13 23:57:37 +05:30
parent 9d6d497185
commit be827bd1d3
6 changed files with 8 additions and 38 deletions

View File

@ -48,12 +48,6 @@
],
"allowedVersions": "!/.*-1-8$/",
},
{
"matchPackagePatterns": [
"^androidx.glance",
],
"allowedVersions": "<=1.0.0",
},
],
"regexManagers": [
{

View File

@ -30,19 +30,17 @@ import dev.msfjarvis.claw.common.theme.DarkThemeColors
import dev.msfjarvis.claw.common.theme.LightThemeColors
import dev.msfjarvis.claw.model.UIPost
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.first
import kotlinx.collections.immutable.persistentListOf
class SavedPostsWidget(private val posts: Flow<List<UIPost>>) : GlanceAppWidget() {
class SavedPostsWidget : GlanceAppWidget() {
override suspend fun provideGlance(context: Context, id: GlanceId) {
val postWindow = posts.first().take(50).toImmutableList()
// val postWindow = posts.first().take(50).toImmutableList()
provideContent {
GlanceTheme(
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) GlanceTheme.colors
else ColorProviders(light = LightThemeColors, dark = DarkThemeColors)
) {
WidgetHost(postWindow)
WidgetHost(persistentListOf())
}
}
}

View File

@ -6,25 +6,9 @@
*/
package dev.msfjarvis.claw.android.glance
import android.content.Context
import android.content.Intent
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
import com.deliveryhero.whetstone.Whetstone
import com.deliveryhero.whetstone.broadcastreceiver.ContributesBroadcastReceiverInjector
import dev.msfjarvis.claw.android.viewmodel.ClawViewModel
import javax.inject.Inject
@ContributesBroadcastReceiverInjector
class WidgetReceiver : GlanceAppWidgetReceiver() {
@Inject lateinit var viewModel: ClawViewModel
override val glanceAppWidget: GlanceAppWidget
get() = SavedPostsWidget(viewModel.savedPosts)
override fun onReceive(context: Context, intent: Intent) {
Whetstone.inject(this, context)
super.onReceive(context, intent)
}
override val glanceAppWidget: GlanceAppWidget = SavedPostsWidget()
}

View File

@ -160,7 +160,7 @@ constructor(
} else {
savedPostsRepository.savePost(post.toSavedPost())
}
withContext(mainDispatcher) { SavedPostsWidget(savedPosts).updateAll(getApplication()) }
withContext(mainDispatcher) { SavedPostsWidget().updateAll(getApplication()) }
}
}

View File

@ -18,12 +18,9 @@ import dev.msfjarvis.claw.android.glance.SavedPostsWidget
import dev.msfjarvis.claw.android.viewmodel.SavedPostsRepository
import dev.msfjarvis.claw.api.LobstersApi
import dev.msfjarvis.claw.model.LobstersPostDetails
import dev.msfjarvis.claw.model.UIPost
import dev.msfjarvis.claw.model.fromSavedPost
import dev.msfjarvis.claw.model.toSavedPost
import javax.inject.Inject
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map
/**
* WorkManager-backed [CoroutineWorker] that gets all the posts from [SavedPostsRepository], fetches
@ -47,10 +44,7 @@ constructor(
.filterIsInstance<Success<LobstersPostDetails>>()
.map { result -> result.value.toSavedPost() }
.let { savedPostsRepository.savePosts(it) }
SavedPostsWidget(
savedPostsRepository.savedPosts.map { it.map(UIPost.Companion::fromSavedPost) }
)
.updateAll(applicationContext)
SavedPostsWidget().updateAll(applicationContext)
return Result.success()
}
}

View File

@ -7,7 +7,7 @@ coil = "2.5.0"
composeCompiler = "1.5.9"
coroutines = "1.8.0-RC2"
dagger = "2.50"
glance = "1.0.0"
glance = "1.1.0-alpha01"
junit = "5.10.2"
konvert = "3.0.0"
kotlin = "1.9.22"