diff --git a/app/src/main/java/org/futo/circles/subscriptions/IsoPeriod.kt b/app/src/main/java/org/futo/circles/subscriptions/IsoPeriod.kt new file mode 100644 index 0000000000000000000000000000000000000000..d9f9b2fb60d866a631034241bb1ec8e0a2cb84a0 --- /dev/null +++ b/app/src/main/java/org/futo/circles/subscriptions/IsoPeriod.kt @@ -0,0 +1,22 @@ +package org.futo.circles.subscriptions + +import android.content.Context +import org.futo.circles.R + +fun String.formatIsoPeriod(context: Context): String = toDurationNumberPairs() + .joinToString(separator = " ") { (number, duration) -> + context.resources.getQuantityString( + when (duration) { + "D" -> R.plurals.days + "W" -> R.plurals.weeks + "M" -> R.plurals.months + "Y" -> R.plurals.years + + else -> R.plurals.days + }, number, number + ) + } + +private fun String.toDurationNumberPairs() = removePrefix("P") + .chunked(2) + .map { it[0].toString().toInt() to it[1].toString() } \ No newline at end of file