To hide the mobile data when there is no active sim

Bug: 343633243
Test: verified the UI
Change-Id: I77055a9c1cdb7e94c0339f4255b4799b7b6e02ac
This commit is contained in:
songferngwang
2024-05-30 09:24:25 +00:00
parent 98efa51681
commit b48ec2f772

View File

@@ -31,6 +31,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableIntState import androidx.compose.runtime.MutableIntState
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.saveable.rememberSaveable
@@ -108,7 +109,9 @@ open class NetworkCellularGroupProvider : SettingsPageProvider {
var nonDdsRemember = rememberSaveable { var nonDdsRemember = rememberSaveable {
mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID) mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
} }
var showMobileDataSection = rememberSaveable {
mutableStateOf(false)
}
val subscriptionViewModel = viewModel<SubscriptionInfoListViewModel>() val subscriptionViewModel = viewModel<SubscriptionInfoListViewModel>()
CollectAirplaneModeAndFinishIfOn() CollectAirplaneModeAndFinishIfOn()
@@ -125,13 +128,18 @@ open class NetworkCellularGroupProvider : SettingsPageProvider {
val selectableSubscriptionInfoList by subscriptionViewModel val selectableSubscriptionInfoList by subscriptionViewModel
.selectableSubscriptionInfoListFlow .selectableSubscriptionInfoListFlow
.collectAsStateWithLifecycle(initialValue = emptyList()) .collectAsStateWithLifecycle(initialValue = emptyList())
showMobileDataSection.value = selectableSubscriptionInfoList
.filter { subInfo -> subInfo.simSlotIndex > -1 }
.size > 0
val stringSims = stringResource(R.string.provider_network_settings_title) val stringSims = stringResource(R.string.provider_network_settings_title)
RegularScaffold(title = stringSims) { RegularScaffold(title = stringSims) {
SimsSection(selectableSubscriptionInfoList) SimsSection(selectableSubscriptionInfoList)
MobileDataSectionImpl(mobileDataSelectedId, if(showMobileDataSection.value) {
nonDdsRemember, MobileDataSectionImpl(
) mobileDataSelectedId,
nonDdsRemember,
)
}
PrimarySimSectionImpl( PrimarySimSectionImpl(
subscriptionViewModel.selectableSubscriptionInfoListFlow, subscriptionViewModel.selectableSubscriptionInfoListFlow,