WelcomeFragment: Localize welcome screen strings
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -1,37 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"id": "0",
|
|
||||||
"title": "FAQs",
|
|
||||||
"subtitle": "Have questions? Find out the answers.",
|
|
||||||
"icon": "ic_faq",
|
|
||||||
"url": "https://gitlab.com/AuroraOSS/AuroraStore/-/wikis/Frequently%20Asked%20Questions"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "1",
|
|
||||||
"title": "Source code",
|
|
||||||
"icon": "ic_code",
|
|
||||||
"subtitle": "Find out what's inside.",
|
|
||||||
"url": "https://gitlab.com/AuroraOSS/AuroraStore/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "2",
|
|
||||||
"title": "License",
|
|
||||||
"subtitle": "The GNU General Public License v3.0",
|
|
||||||
"icon": "ic_license",
|
|
||||||
"url": "https://gitlab.com/AuroraOSS/AuroraStore/-/blob/master/LICENSE"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "3",
|
|
||||||
"title": "Privacy policy",
|
|
||||||
"subtitle": "Learn how Aurora Store uses your data",
|
|
||||||
"icon": "ic_privacy",
|
|
||||||
"url": "https://gitlab.com/AuroraOSS/AuroraStore/-/blob/master/POLICY.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "4",
|
|
||||||
"title": "Disclaimer",
|
|
||||||
"subtitle": "Accountability and responsibility",
|
|
||||||
"icon": "ic_disclaimer",
|
|
||||||
"url": "https://gitlab.com/AuroraOSS/AuroraStore/-/blob/master/DISCLAIMER.md"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -19,11 +19,13 @@
|
|||||||
|
|
||||||
package com.aurora.store.data.model
|
package com.aurora.store.data.model
|
||||||
|
|
||||||
|
import androidx.annotation.DrawableRes
|
||||||
|
|
||||||
data class Dash(
|
data class Dash(
|
||||||
var id: Int,
|
var id: Int,
|
||||||
var title: String,
|
var title: String,
|
||||||
var subtitle: String,
|
var subtitle: String,
|
||||||
var icon: String,
|
@DrawableRes var icon: Int,
|
||||||
var url: String
|
var url: String
|
||||||
) {
|
) {
|
||||||
override fun equals(other: Any?): Boolean {
|
override fun equals(other: Any?): Boolean {
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import com.aurora.store.R
|
|||||||
import com.aurora.store.data.model.Dash
|
import com.aurora.store.data.model.Dash
|
||||||
import com.aurora.store.databinding.ViewDashBinding
|
import com.aurora.store.databinding.ViewDashBinding
|
||||||
import com.aurora.store.view.epoxy.views.BaseView
|
import com.aurora.store.view.epoxy.views.BaseView
|
||||||
import com.aurora.store.view.ui.onboarding.WelcomeFragment
|
|
||||||
|
|
||||||
@ModelView(
|
@ModelView(
|
||||||
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
|
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
|
||||||
@@ -65,16 +64,7 @@ class DashView : RelativeLayout {
|
|||||||
fun dash(dash: Dash) {
|
fun dash(dash: Dash) {
|
||||||
B.line1.text = dash.title
|
B.line1.text = dash.title
|
||||||
B.line2.text = dash.subtitle
|
B.line2.text = dash.subtitle
|
||||||
|
B.img.setImageDrawable(ContextCompat.getDrawable(context, dash.icon))
|
||||||
var icon = WelcomeFragment.icMap[dash.icon]
|
|
||||||
if (icon == null)
|
|
||||||
icon = R.drawable.ic_arrow_right
|
|
||||||
B.img.setImageDrawable(
|
|
||||||
ContextCompat.getDrawable(
|
|
||||||
context,
|
|
||||||
icon
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@CallbackProp
|
@CallbackProp
|
||||||
|
|||||||
@@ -27,9 +27,7 @@ import com.aurora.store.data.model.Dash
|
|||||||
import com.aurora.store.databinding.FragmentOnboardingWelcomeBinding
|
import com.aurora.store.databinding.FragmentOnboardingWelcomeBinding
|
||||||
import com.aurora.store.view.epoxy.views.preference.DashViewModel_
|
import com.aurora.store.view.epoxy.views.preference.DashViewModel_
|
||||||
import com.aurora.store.view.ui.commons.BaseFragment
|
import com.aurora.store.view.ui.commons.BaseFragment
|
||||||
import com.google.gson.reflect.TypeToken
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import java.nio.charset.StandardCharsets
|
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class WelcomeFragment : BaseFragment(R.layout.fragment_onboarding_welcome) {
|
class WelcomeFragment : BaseFragment(R.layout.fragment_onboarding_welcome) {
|
||||||
@@ -37,16 +35,6 @@ class WelcomeFragment : BaseFragment(R.layout.fragment_onboarding_welcome) {
|
|||||||
private var _binding: FragmentOnboardingWelcomeBinding? = null
|
private var _binding: FragmentOnboardingWelcomeBinding? = null
|
||||||
private val binding get() = _binding!!
|
private val binding get() = _binding!!
|
||||||
|
|
||||||
companion object {
|
|
||||||
val icMap: MutableMap<String, Int> = mutableMapOf(
|
|
||||||
"ic_faq" to R.drawable.ic_faq,
|
|
||||||
"ic_code" to R.drawable.ic_code,
|
|
||||||
"ic_license" to R.drawable.ic_license,
|
|
||||||
"ic_privacy" to R.drawable.ic_privacy,
|
|
||||||
"ic_disclaimer" to R.drawable.ic_disclaimer,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = FragmentOnboardingWelcomeBinding.bind(view)
|
_binding = FragmentOnboardingWelcomeBinding.bind(view)
|
||||||
@@ -66,15 +54,42 @@ class WelcomeFragment : BaseFragment(R.layout.fragment_onboarding_welcome) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun loadDashFromAssets(): List<Dash> {
|
private fun loadDashFromAssets(): List<Dash> {
|
||||||
val inputStream = requireContext().assets.open("dash.json")
|
return listOf(
|
||||||
val bytes = ByteArray(inputStream.available())
|
Dash(
|
||||||
inputStream.read(bytes)
|
id = 0,
|
||||||
inputStream.close()
|
title = requireContext().getString(R.string.faqs_title),
|
||||||
|
subtitle = requireContext().getString(R.string.faqs_subtitle),
|
||||||
val json = String(bytes, StandardCharsets.UTF_8)
|
icon = R.drawable.ic_faq,
|
||||||
return gson.fromJson<MutableList<Dash>?>(
|
url = "https://gitlab.com/AuroraOSS/AuroraStore/-/wikis/Frequently%20Asked%20Questions"
|
||||||
json,
|
),
|
||||||
object : TypeToken<MutableList<Dash?>?>() {}.type
|
Dash(
|
||||||
|
id = 1,
|
||||||
|
title = requireContext().getString(R.string.source_code_title),
|
||||||
|
subtitle = requireContext().getString(R.string.source_code_subtitle),
|
||||||
|
icon = R.drawable.ic_code,
|
||||||
|
url = "https://gitlab.com/AuroraOSS/AuroraStore/"
|
||||||
|
),
|
||||||
|
Dash(
|
||||||
|
id = 2,
|
||||||
|
title = requireContext().getString(R.string.menu_license),
|
||||||
|
subtitle = requireContext().getString(R.string.license_subtitle),
|
||||||
|
icon = R.drawable.ic_license,
|
||||||
|
url = "https://gitlab.com/AuroraOSS/AuroraStore/-/blob/master/LICENSE"
|
||||||
|
),
|
||||||
|
Dash(
|
||||||
|
id = 3,
|
||||||
|
title = requireContext().getString(R.string.privacy_policy_title),
|
||||||
|
subtitle = requireContext().getString(R.string.privacy_policy_subtitle),
|
||||||
|
icon = R.drawable.ic_privacy,
|
||||||
|
url = "https://gitlab.com/AuroraOSS/AuroraStore/-/blob/master/POLICY.md"
|
||||||
|
),
|
||||||
|
Dash(
|
||||||
|
id = 4,
|
||||||
|
title = requireContext().getString(R.string.menu_disclaimer),
|
||||||
|
subtitle = requireContext().getString(R.string.disclaimer_subtitle),
|
||||||
|
icon = R.drawable.ic_disclaimer,
|
||||||
|
url = "https://gitlab.com/AuroraOSS/AuroraStore/-/blob/master/DISCLAIMER.md"
|
||||||
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -405,22 +405,27 @@
|
|||||||
<!-- 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>
|
||||||
<string name="session_installer_desc">Recommended, in-built and supports all Android versions</string>
|
<string name="session_installer_desc">Recommended, in-built and supports all Android versions</string>
|
||||||
|
|
||||||
<string name="root_installer_subtitle">Shell based installer using root permissions</string>
|
<string name="root_installer_subtitle">Shell based installer using root permissions</string>
|
||||||
<string name="root_installer_desc">Requires root/superuser privileges, supports all Android versions.</string>
|
<string name="root_installer_desc">Requires root/superuser privileges, supports all Android versions.</string>
|
||||||
|
|
||||||
<string name="native_installer_subtitle">Intent based installer, available on all devices</string>
|
<string name="native_installer_subtitle">Intent based installer, available on all devices</string>
|
||||||
<string name="native_installer_desc">Best suited for devices running below Android 4.4</string>
|
<string name="native_installer_desc">Best suited for devices running below Android 4.4</string>
|
||||||
|
|
||||||
<string name="services_installer_subtitle">Installer for background installations</string>
|
<string name="services_installer_subtitle">Installer for background installations</string>
|
||||||
<string name="services_installer_desc">Requires Aurora Services to be installed as a privileged-system app</string>
|
<string name="services_installer_desc">Requires Aurora Services to be installed as a privileged-system app</string>
|
||||||
|
|
||||||
<string name="am_installer_subtitle">Full-featured open source package manager</string>
|
<string name="am_installer_subtitle">Full-featured open source package manager</string>
|
||||||
<string name="am_installer_desc">Requires App Manager, need adb/root mode to install when miui optimization is on</string>
|
<string name="am_installer_desc">Requires App Manager, need adb/root mode to install when miui optimization is on</string>
|
||||||
|
|
||||||
<string name="shizuku_installer_subtitle">Using system APIs directly with adb/root privileges</string>
|
<string name="shizuku_installer_subtitle">Using system APIs directly with adb/root privileges</string>
|
||||||
<string name="shizuku_installer_desc">Requires Shizuku or Sui, needs to be setup and permission granted</string>
|
<string name="shizuku_installer_desc">Requires Shizuku or Sui, needs to be setup and permission granted</string>
|
||||||
|
|
||||||
<!-- ManualDownloadSheet -->
|
<!-- ManualDownloadSheet -->
|
||||||
<string name="manual_download_hint">Enter version code you wish to download</string>
|
<string name="manual_download_hint">Enter version code you wish to download</string>
|
||||||
|
|
||||||
|
<!-- WelcomeFragment -->
|
||||||
|
<string name="faqs_title" translatable="false">FAQs</string>
|
||||||
|
<string name="faqs_subtitle">Have questions? Find out the answers</string>
|
||||||
|
<string name="source_code_title">Source code</string>
|
||||||
|
<string name="source_code_subtitle">Find out what\'s inside</string>
|
||||||
|
<string name="license_subtitle" translatable="false">The GNU General Public License v3.0</string>
|
||||||
|
<string name="privacy_policy_title">Privacy policy</string>
|
||||||
|
<string name="privacy_policy_subtitle">Learn how Aurora Store uses your data</string>
|
||||||
|
<string name="disclaimer_subtitle">Accountability and responsibility</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user