Update Usage statistics string to avoid confusion

Bug: 314134835

Test: manually by typing *#*#4636#*#* on phone
Change-Id: Idac3f58f8c21ff5ecf6a1b7e9d686d770e2e09ba
This commit is contained in:
Fan Wu
2024-01-05 11:56:28 +08:00
parent b236498939
commit 2370adbbce
2 changed files with 18 additions and 5 deletions

View File

@@ -4511,7 +4511,9 @@
<!-- Spinner label to indicate sort by app name. [CHAR LIMIT=30] --> <!-- Spinner label to indicate sort by app name. [CHAR LIMIT=30] -->
<string name="usage_stats_sort_by_app_name">Sort by app name</string> <string name="usage_stats_sort_by_app_name">Sort by app name</string>
<!-- label for last time used --> <!-- label for last time used -->
<string name="last_time_used_label">Last time used</string> <string name="last_time_used_label">Last used</string>
<!-- label for last time used of never opened apps -->
<string name="last_time_used_never">never</string>
<!-- label for usage time --> <!-- label for usage time -->
<string name="usage_time_label">Usage time</string> <string name="usage_time_label">Usage time</string>

View File

@@ -29,6 +29,7 @@ import com.android.settingslib.spaprivileged.model.app.AppEntry
import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppListModel
import com.android.settingslib.spaprivileged.model.app.AppRecord import com.android.settingslib.spaprivileged.model.app.AppRecord
import java.text.DateFormat import java.text.DateFormat
import java.time.Duration
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.combine
@@ -77,15 +78,25 @@ class UsageStatsListModel(private val context: Context) : AppListModel<UsageStat
@Composable @Composable
override fun getSummary(option: Int, record: UsageStatsAppRecord): (() -> String)? { override fun getSummary(option: Int, record: UsageStatsAppRecord): (() -> String)? {
val usageStats = record.usageStats ?: return null val usageStats = record.usageStats ?: return null
val lastTimeUsed = DateUtils.formatSameDayTime( val lastTimeUsedLine =
usageStats.lastTimeUsed, now, DateFormat.MEDIUM, DateFormat.MEDIUM "${context.getString(R.string.last_time_used_label)}: ${usageStats.getLastUsedString()}"
)
val lastTimeUsedLine = "${context.getString(R.string.last_time_used_label)}: $lastTimeUsed"
val usageTime = DateUtils.formatElapsedTime(usageStats.totalTimeInForeground / 1000) val usageTime = DateUtils.formatElapsedTime(usageStats.totalTimeInForeground / 1000)
val usageTimeLine = "${context.getString(R.string.usage_time_label)}: $usageTime" val usageTimeLine = "${context.getString(R.string.usage_time_label)}: $usageTime"
return { "$lastTimeUsedLine\n$usageTimeLine" } return { "$lastTimeUsedLine\n$usageTimeLine" }
} }
private fun UsageStats.getLastUsedString() = when {
lastTimeUsed < Duration.ofDays(1)
.toMillis() -> context.getString(R.string.last_time_used_never)
else -> DateUtils.formatSameDayTime(
lastTimeUsed,
now,
DateFormat.MEDIUM,
DateFormat.MEDIUM
)
}
private fun getUsageStats(): Map<String, UsageStats> { private fun getUsageStats(): Map<String, UsageStats> {
val startTime = now - TimeUnit.DAYS.toMillis(5) val startTime = now - TimeUnit.DAYS.toMillis(5)