Merge "Use DataUsageFormatter to format app data usage" into main

This commit is contained in:
Chaohui Wang
2024-05-13 08:06:38 +00:00
committed by Android (Google) Code Review
11 changed files with 161 additions and 65 deletions

View File

@@ -30,6 +30,7 @@ import androidx.preference.Preference
import androidx.preference.PreferenceScreen
import com.android.settings.R
import com.android.settings.datausage.DataUsageUtils
import com.android.settings.datausage.lib.DataUsageFormatter.FormattedDataUsage
import com.android.settings.datausage.lib.DataUsageLib
import com.android.settings.datausage.lib.NetworkCycleDataRepository
import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.AllTimeRange
@@ -89,7 +90,7 @@ class DataUsagePreferenceController(context: Context, key: String) :
getDataUsageSummaryAndEnabled()
}
preference.isEnabled = enabled
preference.summary = summary
preference.summary = summary?.displayText
}
private fun getNetworkTemplate(): NetworkTemplate? = when {
@@ -104,15 +105,14 @@ class DataUsagePreferenceController(context: Context, key: String) :
fun createNetworkCycleDataRepository(): NetworkCycleDataRepository? =
networkTemplate?.let { NetworkCycleDataRepository(mContext, it) }
private fun getDataUsageSummaryAndEnabled(): Pair<String?, Boolean> {
private fun getDataUsageSummaryAndEnabled(): Pair<FormattedDataUsage?, Boolean> {
val repository = createNetworkCycleDataRepository() ?: return null to false
repository.loadFirstCycle()?.let { usageData ->
return mContext.getString(
R.string.data_usage_template,
usageData.formatUsage(mContext),
usageData.formatDateRange(mContext),
) to (usageData.usage > 0 || repository.queryUsage(AllTimeRange).usage > 0)
val formattedDataUsage = usageData.formatUsage(mContext)
.format(mContext, R.string.data_usage_template, usageData.formatDateRange(mContext))
val hasUsage = usageData.usage > 0 || repository.queryUsage(AllTimeRange).usage > 0
return formattedDataUsage to hasUsage
}
val allTimeUsage = repository.queryUsage(AllTimeRange)