Show size of app backups in Backup Status screen
diff --git a/app/src/main/java/com/stevesoltys/seedvault/settings/AppListRetriever.kt b/app/src/main/java/com/stevesoltys/seedvault/settings/AppListRetriever.kt
index e185b79..3bf9445 100644
--- a/app/src/main/java/com/stevesoltys/seedvault/settings/AppListRetriever.kt
+++ b/app/src/main/java/com/stevesoltys/seedvault/settings/AppListRetriever.kt
@@ -38,6 +38,7 @@
val icon: Drawable,
val name: String,
val time: Long,
+ val size: Long?,
val status: AppBackupState,
val isSpecial: Boolean = false,
) : AppListItem()
@@ -87,6 +88,7 @@
icon = getIcon(packageName),
name = context.getString(stringId),
time = metadata?.time ?: 0,
+ size = metadata?.size,
status = status,
isSpecial = true
)
@@ -111,6 +113,7 @@
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 @@
icon = getIcon(it.packageName),
name = getAppName(context, it.packageName).toString(),
time = 0,
+ size = null,
status = FAILED_NOT_ALLOWED
)
}.sortedBy { it.name.lowercase(locale) }
diff --git a/app/src/main/java/com/stevesoltys/seedvault/settings/AppStatusAdapter.kt b/app/src/main/java/com/stevesoltys/seedvault/settings/AppStatusAdapter.kt
index 5536f6b..b4db433 100644
--- a/app/src/main/java/com/stevesoltys/seedvault/settings/AppStatusAdapter.kt
+++ b/app/src/main/java/com/stevesoltys/seedvault/settings/AppStatusAdapter.kt
@@ -3,6 +3,7 @@
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 @@
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