Show size of app backups in Backup Status screen

This commit is contained in:
Torsten Grote 2024-01-17 13:37:58 -03:00
parent c362da8220
commit 599240c79f
No known key found for this signature in database
GPG key ID: 3E5F77D92CF891FF
2 changed files with 11 additions and 1 deletions

View file

@ -38,6 +38,7 @@ data class AppStatus(
val icon: Drawable,
val name: String,
val time: Long,
val size: Long?,
val status: AppBackupState,
val isSpecial: Boolean = false,
) : AppListItem()
@ -87,6 +88,7 @@ internal class AppListRetriever(
icon = getIcon(packageName),
name = context.getString(stringId),
time = metadata?.time ?: 0,
size = metadata?.size,
status = status,
isSpecial = true
)
@ -111,6 +113,7 @@ internal class AppListRetriever(
icon = getIcon(it.packageName),
name = getAppName(context, it.packageName).toString(),
time = time,
size = metadata?.size,
status = status
)
}.sortedBy { it.name.lowercase(locale) }
@ -125,6 +128,7 @@ internal class AppListRetriever(
icon = getIcon(it.packageName),
name = getAppName(context, it.packageName).toString(),
time = 0,
size = null,
status = FAILED_NOT_ALLOWED
)
}.sortedBy { it.name.lowercase(locale) }

View file

@ -3,6 +3,7 @@ package com.stevesoltys.seedvault.settings
import android.content.Intent
import android.net.Uri
import android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS
import android.text.format.Formatter.formatShortFileSize
import android.view.LayoutInflater
import android.view.View
import android.view.View.GONE
@ -116,7 +117,12 @@ internal class AppStatusAdapter(private val toggleListener: AppStatusToggleListe
setState(item.status, false)
}
if (item.status == SUCCEEDED) {
appInfo.text = item.time.toRelativeTime(context)
appInfo.text = if (item.size == null) {
item.time.toRelativeTime(context)
} else {
item.time.toRelativeTime(context).toString() +
" (${formatShortFileSize(v.context, item.size)})"
}
appInfo.visibility = VISIBLE
}
switchView.visibility = INVISIBLE