Optimize DataUsagePreferenceController

Bug: 295260929
Test: manual - on mobile settings
Change-Id: I89a36981771ef21f3c8213ad2039c3577196b493
This commit is contained in:
Chaohui Wang
2023-10-10 21:52:34 +08:00
parent 54bec848cc
commit 8603782bc5
10 changed files with 103 additions and 98 deletions

View File

@@ -16,7 +16,11 @@
package com.android.settings.datausage.lib
import android.content.Context
import android.text.format.DateUtils
import android.util.Range
import com.android.settings.R
import com.android.settings.datausage.DataUsageUtils
/**
* Base data structure representing usage data in a period.
@@ -27,6 +31,21 @@ data class NetworkUsageData(
val usage: Long,
) {
val timeRange = Range(startTime, endTime)
fun formatStartDate(context: Context): String =
DateUtils.formatDateTime(context, startTime, DATE_FORMAT)
fun formatDateRange(context: Context): String =
DateUtils.formatDateRange(context, startTime, endTime, DATE_FORMAT)
fun formatUsage(context: Context): CharSequence = DataUsageUtils.formatDataUsage(context, usage)
fun getDataUsedString(context: Context): String =
context.getString(R.string.data_used_template, formatUsage(context))
private companion object {
const val DATE_FORMAT = DateUtils.FORMAT_SHOW_DATE or DateUtils.FORMAT_ABBREV_MONTH
}
}
fun List<NetworkUsageData>.aggregate(): NetworkUsageData? = when {