Refactor to use UiText() to support formatted string resource with args indicated

This commit is contained in:
Jace 2022-11-19 11:06:11 +08:00
parent 4c592763b6
commit 3d266e6226

View file

@ -8,7 +8,6 @@ import android.os.Build
import android.os.Environment import android.os.Environment
import android.util.Log import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.annotation.StringRes
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat import androidx.core.app.NotificationManagerCompat
import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonProperty
@ -29,6 +28,8 @@ import com.lagradost.cloudstream3.plugins.RepositoryManager.ONLINE_PLUGINS_FOLDE
import com.lagradost.cloudstream3.plugins.RepositoryManager.PREBUILT_REPOSITORIES import com.lagradost.cloudstream3.plugins.RepositoryManager.PREBUILT_REPOSITORIES
import com.lagradost.cloudstream3.plugins.RepositoryManager.downloadPluginToFile import com.lagradost.cloudstream3.plugins.RepositoryManager.downloadPluginToFile
import com.lagradost.cloudstream3.plugins.RepositoryManager.getRepoPlugins import com.lagradost.cloudstream3.plugins.RepositoryManager.getRepoPlugins
import com.lagradost.cloudstream3.ui.result.UiText
import com.lagradost.cloudstream3.ui.result.txt
import com.lagradost.cloudstream3.ui.settings.extensions.REPOSITORIES_KEY import com.lagradost.cloudstream3.ui.settings.extensions.REPOSITORIES_KEY
import com.lagradost.cloudstream3.ui.settings.extensions.RepositoryData import com.lagradost.cloudstream3.ui.settings.extensions.RepositoryData
import com.lagradost.cloudstream3.utils.Coroutines.main import com.lagradost.cloudstream3.utils.Coroutines.main
@ -266,7 +267,8 @@ object PluginManager {
} }
main { main {
createNotification(activity, updatedPlugins, R.string.plugins_updated) val uitext = UiText.StringResource(R.string.plugins_updated, updatedPlugins)
createNotification(activity, uitext)
} }
// ioSafe { // ioSafe {
@ -346,7 +348,8 @@ object PluginManager {
} }
main { main {
createNotification(activity, newDownloadPlugins, R.string.plugins_downloaded) val uitext = UiText.StringResource(R.string.plugins_downloaded, newDownloadPlugins)
createNotification(activity, uitext)
} }
// ioSafe { // ioSafe {
@ -608,10 +611,12 @@ object PluginManager {
private fun createNotification( private fun createNotification(
context: Context, context: Context,
extensionNames: List<String>, uitext: UiText.StringResource
@StringRes title: Int
): Notification? { ): Notification? {
try { try {
val extensionNames = uitext.args.filterIsInstance<String>()
val resIdFormat = uitext.resId
if (extensionNames.isEmpty()) return null if (extensionNames.isEmpty()) return null
val content = extensionNames.joinToString(", ") val content = extensionNames.joinToString(", ")
@ -623,7 +628,8 @@ object PluginManager {
.setSilent(true) .setSilent(true)
.setPriority(NotificationCompat.PRIORITY_LOW) .setPriority(NotificationCompat.PRIORITY_LOW)
.setColor(context.colorFromAttribute(R.attr.colorPrimary)) .setColor(context.colorFromAttribute(R.attr.colorPrimary))
.setContentTitle(context.getString(title, extensionNames.size)) .setContentTitle(txt(resIdFormat, extensionNames.size).asString(context))
//.setContentTitle(context.getString(title, extensionNames.size))
.setSmallIcon(R.drawable.ic_baseline_extension_24) .setSmallIcon(R.drawable.ic_baseline_extension_24)
.setStyle( .setStyle(
NotificationCompat.BigTextStyle() NotificationCompat.BigTextStyle()