refactor: remove constructor parameter from SavedPostsWidget
This commit is contained in:
parent
9d6d497185
commit
be827bd1d3
|
@ -48,12 +48,6 @@
|
|||
],
|
||||
"allowedVersions": "!/.*-1-8$/",
|
||||
},
|
||||
{
|
||||
"matchPackagePatterns": [
|
||||
"^androidx.glance",
|
||||
],
|
||||
"allowedVersions": "<=1.0.0",
|
||||
},
|
||||
],
|
||||
"regexManagers": [
|
||||
{
|
||||
|
|
|
@ -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())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -160,7 +160,7 @@ constructor(
|
|||
} else {
|
||||
savedPostsRepository.savePost(post.toSavedPost())
|
||||
}
|
||||
withContext(mainDispatcher) { SavedPostsWidget(savedPosts).updateAll(getApplication()) }
|
||||
withContext(mainDispatcher) { SavedPostsWidget().updateAll(getApplication()) }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue