diff --git a/src/com/android/settings/network/SimOnboardingService.kt b/src/com/android/settings/network/SimOnboardingService.kt index d37b2ecaecf..5387ad45d8d 100644 --- a/src/com/android/settings/network/SimOnboardingService.kt +++ b/src/com/android/settings/network/SimOnboardingService.kt @@ -219,8 +219,12 @@ class SimOnboardingService { return renameMutableMap[subInfo.subscriptionId] ?: subInfo.displayName.toString() } - fun addCurrentItemForSelectedSim(){ - userSelectedSubInfoList.addAll(activeSubInfoList) + fun addCurrentItemForSelectedSim() { + if (userSelectedSubInfoList.size < getActiveModemCount) { + userSelectedSubInfoList.addAll(activeSubInfoList) + Log.d(TAG, "addCurrentItemForSelectedSim: userSelectedSubInfoList:" + + ", $userSelectedSubInfoList") + } } fun addItemForSelectedSim(selectedSubInfo: SubscriptionInfo) { diff --git a/src/com/android/settings/spa/network/SimOnboardingPageProvider.kt b/src/com/android/settings/spa/network/SimOnboardingPageProvider.kt index c60ac883637..cc17f93e424 100644 --- a/src/com/android/settings/spa/network/SimOnboardingPageProvider.kt +++ b/src/com/android/settings/spa/network/SimOnboardingPageProvider.kt @@ -24,6 +24,7 @@ import android.os.Bundle import android.util.Log import androidx.annotation.VisibleForTesting import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.platform.LocalContext import androidx.navigation.NavHostController import androidx.navigation.NavType @@ -101,10 +102,13 @@ fun PageImpl(onboardingService:SimOnboardingService,navHostController: NavHostCo ) { composable(route = SimOnboardingScreen.LabelSim.name) { val nextPage = - if (onboardingService.isMultipleEnabledProfilesSupported && onboardingService.isAllOfSlotAssigned) { + if (onboardingService.isMultipleEnabledProfilesSupported + && onboardingService.isAllOfSlotAssigned) { SimOnboardingScreen.SelectSim.name } else { - onboardingService.addCurrentItemForSelectedSim() + LaunchedEffect(Unit) { + onboardingService.addCurrentItemForSelectedSim() + } SimOnboardingScreen.PrimarySim.name } SimOnboardingLabelSimImpl(