From e88e4a29a9b3381128607be67cbde15347362963 Mon Sep 17 00:00:00 2001 From: Rahul Patel Date: Wed, 28 May 2025 12:08:19 +0530 Subject: [PATCH] remove hard coded strings TODO: Do not use regex on gplapi to extract mi android version, use actual string instead. --- .../view/epoxy/views/details/InfoView.kt | 21 +++++++++---------- .../view/ui/details/DetailsMoreFragment.kt | 2 +- app/src/main/res/values/strings.xml | 4 ++++ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/aurora/store/view/epoxy/views/details/InfoView.kt b/app/src/main/java/com/aurora/store/view/epoxy/views/details/InfoView.kt index 13fa11e2d..71ba132e0 100644 --- a/app/src/main/java/com/aurora/store/view/epoxy/views/details/InfoView.kt +++ b/app/src/main/java/com/aurora/store/view/epoxy/views/details/InfoView.kt @@ -21,13 +21,14 @@ package com.aurora.store.view.epoxy.views.details import android.content.Context import android.util.AttributeSet +import androidx.core.content.ContextCompat import com.airbnb.epoxy.ModelProp import com.airbnb.epoxy.ModelView import com.airbnb.epoxy.OnViewRecycled +import com.aurora.store.R import com.aurora.store.databinding.ViewInfoBinding import com.aurora.store.view.epoxy.views.BaseModel import com.aurora.store.view.epoxy.views.BaseView -import java.util.Locale @ModelView( autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT, @@ -41,16 +42,14 @@ class InfoView @JvmOverloads constructor( @ModelProp(options = [ModelProp.Option.IgnoreRequireHashCode]) fun badge(info: Map.Entry) { - binding.txtTitle.text = info.key - .replace("_", " ") - .lowercase(Locale.getDefault()) - .replaceFirstChar { - if (it.isLowerCase()) { - it.titlecase(Locale.getDefault()) - } else { - it.toString() - } - } + binding.txtTitle.text = when (info.key) { + "DOWNLOAD" -> ContextCompat.getString(context, R.string.app_info_downloads) + "UPDATED_ON" -> ContextCompat.getString(context, R.string.app_info_updated_on) + "REQUIRES" -> ContextCompat.getString(context, R.string.app_info_min_android) + "TARGET" -> ContextCompat.getString(context, R.string.app_info_target_android) + else -> info.key + } + binding.txtSubtitle.text = info.value } diff --git a/app/src/main/java/com/aurora/store/view/ui/details/DetailsMoreFragment.kt b/app/src/main/java/com/aurora/store/view/ui/details/DetailsMoreFragment.kt index b59d350e6..0651214c7 100644 --- a/app/src/main/java/com/aurora/store/view/ui/details/DetailsMoreFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/details/DetailsMoreFragment.kt @@ -164,7 +164,7 @@ class DetailsMoreFragment : BaseFragment() { add( InfoViewModel_() .id(UUID.randomUUID().toString()) - .badge(mapOf("targets" to "API ${app.targetSdk}").entries.first()) + .badge(mapOf("TARGET" to "${app.targetSdk}").entries.first()) ) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f0a7e1d6d..54747d80b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -357,6 +357,10 @@ Android Market was an online store offering software applications designed for Android devices, retired in 2017. Failed to export APKs No apps available + "Downloads" + "Last updated" + "Minimum Android Version" + "Target API Level" Session based installer for bundled/split APKs