remove hard coded strings

TODO: Do not use regex on gplapi to extract mi android version, use actual string instead.
This commit is contained in:
Rahul Patel
2025-05-28 12:08:19 +05:30
parent 0d05c7ad08
commit e88e4a29a9
3 changed files with 15 additions and 12 deletions

View File

@@ -21,13 +21,14 @@ package com.aurora.store.view.epoxy.views.details
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import androidx.core.content.ContextCompat
import com.airbnb.epoxy.ModelProp import com.airbnb.epoxy.ModelProp
import com.airbnb.epoxy.ModelView import com.airbnb.epoxy.ModelView
import com.airbnb.epoxy.OnViewRecycled import com.airbnb.epoxy.OnViewRecycled
import com.aurora.store.R
import com.aurora.store.databinding.ViewInfoBinding import com.aurora.store.databinding.ViewInfoBinding
import com.aurora.store.view.epoxy.views.BaseModel import com.aurora.store.view.epoxy.views.BaseModel
import com.aurora.store.view.epoxy.views.BaseView import com.aurora.store.view.epoxy.views.BaseView
import java.util.Locale
@ModelView( @ModelView(
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT, autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
@@ -41,16 +42,14 @@ class InfoView @JvmOverloads constructor(
@ModelProp(options = [ModelProp.Option.IgnoreRequireHashCode]) @ModelProp(options = [ModelProp.Option.IgnoreRequireHashCode])
fun badge(info: Map.Entry<String, String>) { fun badge(info: Map.Entry<String, String>) {
binding.txtTitle.text = info.key binding.txtTitle.text = when (info.key) {
.replace("_", " ") "DOWNLOAD" -> ContextCompat.getString(context, R.string.app_info_downloads)
.lowercase(Locale.getDefault()) "UPDATED_ON" -> ContextCompat.getString(context, R.string.app_info_updated_on)
.replaceFirstChar { "REQUIRES" -> ContextCompat.getString(context, R.string.app_info_min_android)
if (it.isLowerCase()) { "TARGET" -> ContextCompat.getString(context, R.string.app_info_target_android)
it.titlecase(Locale.getDefault()) else -> info.key
} else { }
it.toString()
}
}
binding.txtSubtitle.text = info.value binding.txtSubtitle.text = info.value
} }

View File

@@ -164,7 +164,7 @@ class DetailsMoreFragment : BaseFragment<FragmentDetailsMoreBinding>() {
add( add(
InfoViewModel_() InfoViewModel_()
.id(UUID.randomUUID().toString()) .id(UUID.randomUUID().toString())
.badge(mapOf("targets" to "API ${app.targetSdk}").entries.first()) .badge(mapOf("TARGET" to "${app.targetSdk}").entries.first())
) )
} }
} }

View File

@@ -357,6 +357,10 @@
<string name="android_market_desc">Android Market was an online store offering software applications designed for Android devices, retired in 2017.</string> <string name="android_market_desc">Android Market was an online store offering software applications designed for Android devices, retired in 2017.</string>
<string name="failed_apk_export">Failed to export APKs</string> <string name="failed_apk_export">Failed to export APKs</string>
<string name="no_apps_available">No apps available</string> <string name="no_apps_available">No apps available</string>
<string name="app_info_downloads">"Downloads"</string>
<string name="app_info_updated_on">"Last updated"</string>
<string name="app_info_min_android">"Minimum Android Version"</string>
<string name="app_info_target_android">"Target API Level"</string>
<!-- InstallerFragment --> <!-- InstallerFragment -->
<string name="session_installer_subtitle">Session based installer for bundled/split APKs</string> <string name="session_installer_subtitle">Session based installer for bundled/split APKs</string>