Catch exception in telephonyRepository.isDataEnabledFlow
And migrate BillingCycleRepository to use it. Fix: 339197552 Test: manual - on data usage Test: unit test Change-Id: Ieac295f37fdbf75d184d66ea11f170652af3ec5f
This commit is contained in:
@@ -35,7 +35,7 @@ import com.android.settings.datausage.lib.BillingCycleRepository
|
||||
import com.android.settings.datausage.lib.NetworkUsageData
|
||||
import com.android.settings.network.MobileNetworkRepository
|
||||
import com.android.settings.network.SubscriptionUtil
|
||||
import com.android.settings.network.mobileDataEnabledFlow
|
||||
import com.android.settings.network.telephony.requireSubscriptionManager
|
||||
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity
|
||||
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
|
||||
import com.android.settingslib.spaprivileged.framework.common.userManager
|
||||
@@ -113,8 +113,8 @@ open class DataUsageList : DashboardFragment() {
|
||||
override fun onViewCreated(v: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(v, savedInstanceState)
|
||||
|
||||
requireContext().mobileDataEnabledFlow(subId)
|
||||
.collectLatestWithLifecycle(viewLifecycleOwner) { updatePolicy() }
|
||||
billingCycleRepository.isModifiableFlow(subId)
|
||||
.collectLatestWithLifecycle(viewLifecycleOwner, action = ::updatePolicy)
|
||||
|
||||
val template = template ?: return
|
||||
viewModel.templateFlow.value = template
|
||||
@@ -163,16 +163,14 @@ open class DataUsageList : DashboardFragment() {
|
||||
}
|
||||
|
||||
/** Update chart sweeps and cycle list to reflect [NetworkPolicy] for current [template]. */
|
||||
private fun updatePolicy() {
|
||||
val isBillingCycleModifiable = isBillingCycleModifiable()
|
||||
private fun updatePolicy(isModifiable: Boolean) {
|
||||
val isBillingCycleModifiable = isModifiable && isActiveSubscription()
|
||||
dataUsageListHeaderController?.setConfigButtonVisible(isBillingCycleModifiable)
|
||||
chartDataUsagePreferenceController?.setBillingCycleModifiable(isBillingCycleModifiable)
|
||||
}
|
||||
|
||||
private fun isBillingCycleModifiable(): Boolean =
|
||||
billingCycleRepository.isModifiable(subId) &&
|
||||
requireContext().getSystemService(SubscriptionManager::class.java)!!
|
||||
.getActiveSubscriptionInfo(subId) != null
|
||||
private fun isActiveSubscription(): Boolean =
|
||||
requireContext().requireSubscriptionManager().getActiveSubscriptionInfo(subId) != null
|
||||
|
||||
/**
|
||||
* Updates the chart and detail data when initial loaded or selected cycle changed.
|
||||
|
Reference in New Issue
Block a user