Correct the data usage warning

- For MATCH_WIFI, only shown non carrier warning when has SIM
- For others, restore the previous operator warning

Bug: 331184249
Test: manual - on DataUsageList
Change-Id: I5d5c6b36c6874a547cc635c025aa77acadf6e1e3
This commit is contained in:
Chaohui Wang
2024-04-02 17:13:04 +08:00
parent a6289cddd9
commit 00c21da30e
4 changed files with 81 additions and 5 deletions

View File

@@ -34,6 +34,7 @@ import com.android.settings.dashboard.DashboardFragment
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.settingslib.mobile.dataservice.SubscriptionInfoEntity
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
@@ -95,6 +96,18 @@ open class DataUsageList : DashboardFragment() {
}
chartDataUsagePreferenceController = use(ChartDataUsagePreferenceController::class.java)
.apply { init(template) }
updateWarning()
}
private fun updateWarning() {
val template = template ?: return
val warningPreference = findPreference<Preference>(KEY_WARNING)!!
if (template.matchRule != NetworkTemplate.MATCH_WIFI) {
warningPreference.setSummary(R.string.operator_warning)
} else if (SubscriptionUtil.isSimHardwareVisible(context)) {
warningPreference.setSummary(R.string.non_carrier_data_usage_warning)
}
}
override fun onViewCreated(v: View, savedInstanceState: Bundle?) {
@@ -188,5 +201,8 @@ open class DataUsageList : DashboardFragment() {
private const val TAG = "DataUsageList"
private const val KEY_USAGE_AMOUNT = "usage_amount"
@VisibleForTesting
const val KEY_WARNING = "warning"
}
}