From 4531d7a7db7865600b2038950f2055ab924320d1 Mon Sep 17 00:00:00 2001 From: arpitdhoundiyal Date: Mon, 2 Mar 2026 16:31:26 +0530 Subject: [PATCH] Fix: Scope ViewModel to backStackEntry to ensure onCleared() is called --- .../apps/nowinandroid/feature/topic/impl/TopicViewModel.kt | 4 ++++ gradle/libs.versions.toml | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicViewModel.kt b/feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicViewModel.kt index f604eb65b..a5202a933 100644 --- a/feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicViewModel.kt +++ b/feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicViewModel.kt @@ -16,6 +16,7 @@ package com.google.samples.apps.nowinandroid.feature.topic.impl +import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.samples.apps.nowinandroid.core.common.result.Result @@ -46,6 +47,7 @@ class TopicViewModel @AssistedInject constructor( userNewsResourceRepository: UserNewsResourceRepository, @Assisted val topicId: String, ) : ViewModel() { + val topicUiState: StateFlow = topicUiState( topicId = topicId, userDataRepository = userDataRepository, @@ -71,6 +73,7 @@ class TopicViewModel @AssistedInject constructor( fun followTopicToggle(followed: Boolean) { viewModelScope.launch { userDataRepository.setTopicIdFollowed(topicId, followed) + } } @@ -86,6 +89,7 @@ class TopicViewModel @AssistedInject constructor( } } + @AssistedFactory interface Factory { fun create( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fbe070c1a..e8786d8b1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,8 +2,8 @@ accompanist = "0.37.0" androidDesugarJdkLibs = "2.1.4" # AGP and tools should be updated together -androidGradlePlugin = "9.0.0" -androidTools = "32.0.0" +androidGradlePlugin = "9.0.1" +androidTools = "32.0.1" androidxActivity = "1.9.3" androidxAppCompat = "1.7.0" androidxBrowser = "1.8.0"