@@ -142,28 +142,23 @@ class SubscribersActivity : BaseAppCompatActivity() {
142142 }
143143
144144 composable(route = SubscriberScreen .Detail .name) {
145- navController.previousBackStackEntry?.savedStateHandle?.let { handle ->
146- val userId = handle.get<Long >(KEY_USER_ID )
147- if (userId != null ) {
148- viewModel.getSubscriber(userId)?.let { subscriber ->
149- titleState.value = subscriber.displayNameOrEmail()
150- showAddSubscribersButtonState.value = false
151- ShowSubscriberDetailScreen (
152- subscriber = subscriber,
153- navController = navController,
154- modifier = Modifier .padding(contentPadding)
155- )
156- }
157- }
145+ // Use the selected subscriber directly instead of looking it up by ID
146+ viewModel.getSelectedSubscriber()?.let { subscriber ->
147+ titleState.value = subscriber.displayNameOrEmail()
148+ showAddSubscribersButtonState.value = false
149+ ShowSubscriberDetailScreen (
150+ subscriber = subscriber,
151+ navController = navController,
152+ modifier = Modifier .padding(contentPadding)
153+ )
158154 }
159155 }
160156
161157 composable(route = SubscriberScreen .Plan .name) {
162158 navController.previousBackStackEntry?.savedStateHandle?.let { handle ->
163- val userId = handle.get<Long >(KEY_USER_ID )
164159 val planIndex = handle.get<Int >(KEY_PLAN_INDEX )
165- if (userId != null && planIndex != null ) {
166- viewModel.getSubscriber(userId )?.let { subscriber ->
160+ if (planIndex != null ) {
161+ viewModel.getSelectedSubscriber( )?.let { subscriber ->
167162 subscriber.plans?.let { plans ->
168163 if (planIndex in plans.indices) {
169164 titleState.value = plans[planIndex].title
@@ -213,6 +208,8 @@ class SubscribersActivity : BaseAppCompatActivity() {
213208 onItemClick = { item ->
214209 viewModel.onItemClick(item)
215210 (item.data as ? Subscriber )?.let { subscriber ->
211+ // Store the entire subscriber object to avoid lookup issues
212+ viewModel.setSelectedSubscriber(subscriber)
216213 navController.currentBackStackEntry?.savedStateHandle?.set(
217214 key = KEY_USER_ID ,
218215 value = subscriber.userId
@@ -249,10 +246,6 @@ class SubscribersActivity : BaseAppCompatActivity() {
249246 onUrlClick(url)
250247 },
251248 onPlanClick = { planIndex ->
252- navController.currentBackStackEntry?.savedStateHandle?.set(
253- key = KEY_USER_ID ,
254- value = subscriber.userId
255- )
256249 // plans don't have a unique id, so we use the index to identify them
257250 navController.currentBackStackEntry?.savedStateHandle?.set(
258251 key = KEY_PLAN_INDEX ,
0 commit comments