InstallerFragment: Relocate to settings instead of onboarding

* This makes onboarding minimal and only required screens are shown
* SessionInstaller is the recommended choice, user who needs a different can configure in settings
* Instead of showing minimal list, show installer fragment that contains more information
* Also show all installers like before

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-05-08 15:44:15 +05:30
parent 72ae9f5ec0
commit 196f9d00c5
57 changed files with 81 additions and 282 deletions

View File

@@ -66,15 +66,14 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
override fun createFragment(position: Int): Fragment {
when (position) {
0 -> return WelcomeFragment()
1 -> return InstallerFragment()
2 -> return AppLinksFragment()
3 -> return PermissionsFragment()
1 -> return AppLinksFragment()
2 -> return PermissionsFragment()
}
return Fragment()
}
override fun getItemCount(): Int {
return 4
return 3
}
}
@@ -123,9 +122,9 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
fun refreshButtonState() {
binding.btnBackward.isEnabled = lastPosition != 0
binding.btnForward.isEnabled = lastPosition != 3
binding.btnForward.isEnabled = lastPosition != 2
if (lastPosition == 3) {
if (lastPosition == 2) {
binding.btnForward.text = getString(R.string.action_finish)
binding.btnForward.isEnabled = true
binding.btnForward.setOnClickListener {

View File

@@ -22,56 +22,45 @@ package com.aurora.store.view.ui.preferences
import android.app.admin.DevicePolicyManager
import android.content.Context
import android.content.DialogInterface
import android.content.pm.PackageManager
import android.os.Bundle
import android.view.View
import androidx.appcompat.widget.Toolbar
import androidx.navigation.fragment.findNavController
import androidx.preference.Preference
import com.aurora.extensions.isOAndAbove
import androidx.preference.PreferenceFragmentCompat
import com.aurora.extensions.runOnUiThread
import com.aurora.extensions.showDialog
import com.aurora.extensions.toast
import com.aurora.store.R
import com.aurora.store.data.installer.AppInstaller
import com.aurora.store.util.CommonUtil
import com.aurora.store.util.Log
import com.aurora.store.util.Preferences
import com.aurora.store.util.Preferences.INSTALLATION_ABANDON_SESSION
import com.aurora.store.util.Preferences.PREFERENCE_INSTALLATION_DEVICE_OWNER
import com.aurora.store.util.save
import com.aurora.store.view.custom.preference.AuroraListPreference
import com.aurora.store.util.Preferences.PREFERENCE_INSTALLER_ID
import dagger.hilt.android.AndroidEntryPoint
import rikka.shizuku.Shizuku
import rikka.sui.Sui
@AndroidEntryPoint
class InstallationPreference : BasePreferenceFragment() {
private var shizukuAlive = Sui.isSui()
private val shizukuAliveListener = Shizuku.OnBinderReceivedListener {
Log.d("ShizukuInstaller Alive!")
shizukuAlive = true
}
private val shizukuDeadListener = Shizuku.OnBinderDeadListener {
Log.d("ShizukuInstaller Dead!")
shizukuAlive = false
}
private val shizukuResultListener =
Shizuku.OnRequestPermissionResultListener { _: Int, result: Int ->
if (result == PackageManager.PERMISSION_GRANTED) {
save(Preferences.PREFERENCE_INSTALLER_ID, 5)
activity?.recreate()
} else {
showDialog(
R.string.action_installations,
R.string.installer_shizuku_unavailable
)
}
}
class InstallationPreference : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preferences_installation, rootKey)
findPreference<Preference>(PREFERENCE_INSTALLER_ID)?.apply {
setOnPreferenceClickListener {
findNavController().navigate(R.id.installerFragment)
true
}
}
findPreference<Preference>(INSTALLATION_ABANDON_SESSION)?.apply {
setOnPreferenceClickListener {
CommonUtil.cleanupInstallationSessions(requireContext())
runOnUiThread {
requireContext().toast(R.string.toast_abandon_sessions)
}
false
}
}
findPreference<Preference>(PREFERENCE_INSTALLATION_DEVICE_OWNER)?.apply {
val packageName = context.packageName
val devicePolicyManager =
@@ -101,103 +90,5 @@ class InstallationPreference : BasePreferenceFragment() {
title = getString(R.string.title_installation)
setNavigationOnClickListener { findNavController().navigateUp() }
}
if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) {
Shizuku.addBinderReceivedListenerSticky(shizukuAliveListener)
Shizuku.addBinderDeadListener(shizukuDeadListener)
Shizuku.addRequestPermissionResultListener(shizukuResultListener)
}
val abandonPreference: Preference? =
findPreference(Preferences.INSTALLATION_ABANDON_SESSION)
abandonPreference?.let {
it.onPreferenceClickListener =
Preference.OnPreferenceClickListener {
CommonUtil.cleanupInstallationSessions(requireContext())
runOnUiThread {
requireContext().toast(R.string.toast_abandon_sessions)
}
false
}
}
val installerPreference: AuroraListPreference? =
findPreference(Preferences.PREFERENCE_INSTALLER_ID)
installerPreference?.let {
it.onPreferenceChangeListener =
Preference.OnPreferenceChangeListener { _, newValue ->
val selectedId = Integer.parseInt(newValue as String)
if (selectedId == 2) {
if (AppInstaller.hasRootAccess()) {
save(Preferences.PREFERENCE_INSTALLER_ID, selectedId)
true
} else {
showDialog(
R.string.action_installations,
R.string.installer_root_unavailable
)
false
}
} else if (selectedId == 3) {
if (AppInstaller.hasAuroraService(requireContext())) {
save(Preferences.PREFERENCE_INSTALLER_ID, selectedId)
true
} else {
showDialog(
R.string.action_installations,
R.string.installer_service_unavailable
)
false
}
} else if (selectedId == 4) {
if (AppInstaller.hasAppManager(requireContext())) {
save(Preferences.PREFERENCE_INSTALLER_ID, selectedId)
true
} else {
showDialog(
R.string.action_installations,
R.string.installer_am_unavailable
)
false
}
} else if (selectedId == 5) {
if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) {
if (shizukuAlive && AppInstaller.hasShizukuPerm()) {
save(Preferences.PREFERENCE_INSTALLER_ID, selectedId)
true
} else if (shizukuAlive && !Shizuku.shouldShowRequestPermissionRationale()) {
Shizuku.requestPermission(9000)
false
} else {
showDialog(
R.string.action_installations,
R.string.installer_shizuku_unavailable
)
false
}
} else {
showDialog(
R.string.action_installations,
R.string.installer_shizuku_unavailable
)
false
}
} else {
save(Preferences.PREFERENCE_INSTALLER_ID, selectedId)
true
}
}
}
}
override fun onDestroy() {
if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) {
Shizuku.removeBinderReceivedListener(shizukuAliveListener)
Shizuku.removeBinderDeadListener(shizukuDeadListener)
Shizuku.removeRequestPermissionResultListener(shizukuResultListener)
}
super.onDestroy()
}
}

View File

@@ -17,7 +17,7 @@
*
*/
package com.aurora.store.view.ui.onboarding
package com.aurora.store.view.ui.preferences
import android.content.pm.PackageManager
import android.os.Bundle
@@ -29,15 +29,14 @@ import com.aurora.extensions.isOAndAbove
import com.aurora.extensions.showDialog
import com.aurora.store.R
import com.aurora.store.data.installer.AMInstaller
import com.aurora.store.data.installer.AppInstaller.Companion.hasAppManager
import com.aurora.store.data.installer.AppInstaller.Companion.hasRootAccess
import com.aurora.store.data.installer.AppInstaller.Companion.hasShizukuOrSui
import com.aurora.store.data.installer.AppInstaller.Companion.hasShizukuPerm
import com.aurora.store.data.installer.AppInstaller
import com.aurora.store.data.installer.NativeInstaller
import com.aurora.store.data.installer.RootInstaller
import com.aurora.store.data.installer.ServiceInstaller
import com.aurora.store.data.installer.SessionInstaller
import com.aurora.store.data.installer.ShizukuInstaller
import com.aurora.store.data.model.Installer
import com.aurora.store.databinding.FragmentOnboardingInstallerBinding
import com.aurora.store.databinding.FragmentInstallerBinding
import com.aurora.store.util.Log
import com.aurora.store.util.Preferences
import com.aurora.store.util.Preferences.PREFERENCE_INSTALLER_ID
@@ -49,9 +48,9 @@ import rikka.shizuku.Shizuku
import rikka.sui.Sui
@AndroidEntryPoint
class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
private var _binding: FragmentOnboardingInstallerBinding? = null
private var _binding: FragmentInstallerBinding? = null
private val binding get() = _binding!!
private var installerId: Int = 0
@@ -82,11 +81,14 @@ class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentOnboardingInstallerBinding.bind(view)
_binding = FragmentInstallerBinding.bind(view)
// Toolbar
binding.toolbar.setNavigationOnClickListener { findNavController().navigateUp() }
installerId = Preferences.getInteger(requireContext(), PREFERENCE_INSTALLER_ID)
if (isOAndAbove() && hasShizukuOrSui(requireContext())) {
if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) {
Shizuku.addBinderReceivedListenerSticky(shizukuAliveListener)
Shizuku.addBinderDeadListener(shizukuDeadListener)
Shizuku.addRequestPermissionResultListener(shizukuResultListener)
@@ -95,7 +97,7 @@ class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
// RecyclerView
binding.epoxyRecycler.withModels {
setFilterDuplicates(true)
getRecommendedInstallers().forEach {
getInstallers().forEach {
add(
InstallerViewModel_()
.id(it.id)
@@ -110,9 +112,7 @@ class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
}
if (isMIUI() && !isMiuiOptimizationDisabled()) {
findNavController().navigate(
OnboardingFragmentDirections.actionOnboardingFragmentToDeviceMiuiSheet()
)
findNavController().navigate(R.id.deviceMiuiSheet)
}
}
@@ -122,7 +122,7 @@ class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
}
override fun onDestroy() {
if (isOAndAbove() && hasShizukuOrSui(requireContext())) {
if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) {
Shizuku.removeBinderReceivedListener(shizukuAliveListener)
Shizuku.removeBinderDeadListener(shizukuDeadListener)
Shizuku.removeRequestPermissionResultListener(shizukuResultListener)
@@ -134,15 +134,13 @@ class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
when (installerId) {
0 -> {
if (isMIUI() && !isMiuiOptimizationDisabled()) {
findNavController().navigate(
OnboardingFragmentDirections.actionOnboardingFragmentToDeviceMiuiSheet()
)
findNavController().navigate(R.id.deviceMiuiSheet)
}
this.installerId = installerId
save(PREFERENCE_INSTALLER_ID, installerId)
}
2 -> {
if (hasRootAccess()) {
if (AppInstaller.hasRootAccess()) {
this.installerId = installerId
save(PREFERENCE_INSTALLER_ID, installerId)
} else {
@@ -152,8 +150,19 @@ class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
)
}
}
3 -> {
if (AppInstaller.hasAuroraService(requireContext())) {
this.installerId = installerId
save(PREFERENCE_INSTALLER_ID, installerId)
} else {
showDialog(
R.string.action_installations,
R.string.installer_service_unavailable
)
}
}
4 -> {
if (hasAppManager(requireContext())) {
if (AppInstaller.hasAppManager(requireContext())) {
this.installerId = installerId
save(PREFERENCE_INSTALLER_ID, installerId)
} else {
@@ -164,8 +173,8 @@ class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
}
}
5 -> {
if (isOAndAbove() && hasShizukuOrSui(requireContext())) {
if (shizukuAlive && hasShizukuPerm()) {
if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) {
if (shizukuAlive && AppInstaller.hasShizukuPerm()) {
this.installerId = installerId
save(PREFERENCE_INSTALLER_ID, installerId)
} else if (shizukuAlive && !Shizuku.shouldShowRequestPermissionRationale()) {
@@ -190,10 +199,12 @@ class InstallerFragment : BaseFragment(R.layout.fragment_onboarding_installer) {
}
}
private fun getRecommendedInstallers(): List<Installer> {
private fun getInstallers(): List<Installer> {
val installers = mutableListOf(
SessionInstaller.getInstallerInfo(requireContext()),
NativeInstaller.getInstallerInfo(requireContext()),
RootInstaller.getInstallerInfo(requireContext()),
ServiceInstaller.getInstallerInfo(requireContext()),
AMInstaller.getInstallerInfo(requireContext())
)

View File

@@ -24,29 +24,16 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@drawable/divider"
android:orientation="vertical"
android:showDividers="middle">
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:includeFontPadding="true"
android:paddingStart="@dimen/padding_normal"
android:paddingEnd="@dimen/padding_normal"
android:text="@string/onboarding_title_installer"
android:textAlignment="textStart"
android:textColor="?colorAccent"
android:textSize="42sp" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AuroraTextStyle.Subtitle.Alt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/padding_normal"
android:paddingEnd="@dimen/padding_normal"
android:text="@string/onboarding_installer_select"
android:textAlignment="textStart" />
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/pref_install_mode_title" />
<com.airbnb.epoxy.EpoxyRecyclerView
android:id="@+id/epoxy_recycler"

View File

@@ -24,43 +24,21 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@drawable/divider"
android:orientation="horizontal"
android:showDividers="middle">
android:orientation="vertical">
<LinearLayout
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="true"
android:paddingStart="@dimen/padding_normal"
android:paddingEnd="@dimen/padding_normal"
android:text="@string/onboarding_title_installer"
android:textAlignment="textStart"
android:textColor="?colorAccent"
android:textSize="42sp" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AuroraTextStyle.Subtitle.Alt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="@dimen/padding_normal"
android:paddingEnd="@dimen/padding_normal"
android:text="@string/onboarding_installer_select"
android:textAlignment="textStart" />
</LinearLayout>
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/pref_install_mode_title" />
<com.airbnb.epoxy.EpoxyRecyclerView
android:id="@+id/epoxy_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="@dimen/padding_normal"

View File

@@ -395,10 +395,12 @@
app:launchSingleTop="true"
app:popUpTo="@id/mobile_navigation"
app:popUpToInclusive="true" />
<action
android:id="@+id/action_onboardingFragment_to_deviceMiuiSheet"
app:destination="@id/deviceMiuiSheet" />
</fragment>
<fragment
android:id="@+id/installerFragment"
android:name="com.aurora.store.view.ui.preferences.InstallerFragment"
android:label="InstallerFragment"
tools:layout="@layout/fragment_installer"/>
<dialog
android:id="@+id/appMenuSheet"
android:name="com.aurora.store.view.ui.sheets.AppMenuSheet"

View File

@@ -187,7 +187,6 @@
<string name="title_apps_games">تطبيقاتي وألعابي</string>
<string name="purchase_no_file">تعذر الحصول على الملفات</string>
<string name="pref_abandon_session">فرض مسح جلسات التثبيت</string>
<string name="onboarding_installer_select">حدد المثبت المناسب</string>
<string name="installer_status_user_action">في انتظار تأكيد المستخدم</string>
<string name="installer_status_failure_invalid">حزمة APK غير صالحة أو تالفة</string>
<string name="action_export">تصدير</string>

View File

@@ -259,7 +259,6 @@
<string name="device_miui_description">Desactiva les optimizaciones de MIUI pa permitir les instalaciones, sinón pues escoyer l\'instalador root o\'l de los servicios d\'Aurora.</string>
<string name="dialog_title_self_update">Hai un anovamientu</string>
<string name="dialog_desc_native_split">You can not install bundled(split) apps via Native Installer. Change your installer to Session, Services or Root.</string>
<string name="onboarding_installer_select">Seleiciona un instalador afayadizu</string>
<string name="onboarding_title_welcome">Acoyida</string>
<string name="insecure_anonymous_apply">Asegúrate de que vuelves aniciar la sesión ya reanicies l\'aplicación p\'aplicar los cambeos.</string>
<string name="tab_editor_choice">Escoyeta de los editores</string>

View File

@@ -169,7 +169,6 @@
<string name="dialog_desc_native_split">Siz Yerli quraşdırıcı vasitəsilə birləşdirilmiş (bölünmüş) tətbiqləri quraşdıra bilməzsiniz. Quraşdırıcınızı Hesab, Xidmətlər və ya Kökə dəyişdirin.</string>
<string name="notification_channel_alert">Sürətli bildiriş</string>
<string name="notification_channel_general">Ümumi bildiriş</string>
<string name="onboarding_installer_select">Uyğun quraşdırıcı seçin</string>
<string name="onboarding_permission_select">Aurora Mağazası aşağıdakı icazələri tələb edir</string>
<string name="onboarding_title_welcome">Xoş Gəldiniz</string>
<string name="onboarding_welcome_select">Nə etmək istəyirsən\?</string>

View File

@@ -178,7 +178,6 @@
<string name="notification_updates_available_desc_2"><xliff:g id="app_one_name">%1$s</xliff:g> и <xliff:g id="app_two_name">%2$s</xliff:g></string>
<string name="checking_for_updates">Проверяване за актуализации</string>
<string name="installer_am_unavailable">Инсталирайте App Manager или сменете инсталатора.</string>
<string name="onboarding_installer_select">Изберете подходящ инсталатор</string>
<string name="action_pause">Пауза</string>
<string name="details_description">Описание</string>
<string name="onboarding_welcome_select">Как си\?</string>

View File

@@ -66,7 +66,6 @@
<string name="installer_root_unavailable">No hi ha accés root. Concedeix-l o canvia l\'instal·lador.</string>
<string name="onboarding_permission_select">Aurora Store requereix els permisos següents</string>
<string name="installer_status_success">Instal·lat correctament</string>
<string name="onboarding_installer_select">Seleccioneu un instal·lador adequat</string>
<string name="dialog_desc_native_split">No podeu instal·lar aplicacions agrupades (dividir) mitjançant l\'instal·lador natiu. Canvieu el vostre instal·lador a Sessió, Serveis o Root.</string>
<string name="notification_channel_alert">Notificació ràpida</string>
<string name="onboarding_title_installer">Instal·lador</string>

View File

@@ -100,7 +100,6 @@
<string name="onboarding_title_permissions">Oprávnění</string>
<string name="onboarding_title_installer">Instalátor</string>
<string name="onboarding_permission_select">Obchod Aurora vyžaduje následující oprávnění</string>
<string name="onboarding_installer_select">Vyberte vhodný instalátor</string>
<string name="notification_channel_general">Obecné oznámení</string>
<string name="notification_channel_alert">Rychlé oznámení</string>
<string name="dialog_title_self_update">Byla nalezena nová aktualizace</string>

View File

@@ -174,7 +174,6 @@
<string name="dialog_title_self_update">Ny opdatering tilgængelig</string>
<string name="notification_channel_alert">Hurtig notifikation</string>
<string name="notification_channel_general">Generel notifikation</string>
<string name="onboarding_installer_select">Vælg en egnet installatør</string>
<string name="onboarding_permission_select">Aurora Store kræver de følgende tilladelser</string>
<string name="onboarding_title_installer">Installatør</string>
<string name="onboarding_title_permissions">Tilladelser</string>

View File

@@ -123,7 +123,6 @@
<string name="onboarding_title_welcome">Willkommen</string>
<string name="onboarding_title_permissions">Berechtigungen</string>
<string name="onboarding_permission_select">Bitte die erforderlichen Berechtigungen erteilen</string>
<string name="onboarding_installer_select">Eine passende Methode auswählen</string>
<string name="notification_channel_general">Allgemeine Benachrichtigung</string>
<string name="notification_channel_alert">Kurzbenachrichtigung</string>
<string name="dialog_title_self_update">Neues Update verfügbar</string>

View File

@@ -142,7 +142,6 @@
<string name="device_miui_title">Εντοπίστηκε MIUI!</string>
<string name="device_miui_subtitle">Το πρόγραμμα δεν μπορεί να εγκαταστήσει εφαρμογές λόγω βελτιστοποιήσεων της MIUI.</string>
<string name="notification_channel_alert">Γρήγορη ειδοποίηση</string>
<string name="onboarding_installer_select">Επιλέξτε το κατάλληλο πρόγραμμα εγκατάστασης</string>
<string name="onboarding_permission_select">Το Aurora Store απαιτεί τα ακόλουθα δικαιώματα</string>
<string name="installer_service_available">Οι υπηρεσίες Aurora είναι διαθέσιμες και έτοιμες για εγκατάσταση.</string>
<string name="menu_terms">Όροι χρήσης</string>

View File

@@ -76,7 +76,6 @@
<string name="onboarding_title_permissions">Permisos</string>
<string name="onboarding_title_installer">Instalador</string>
<string name="onboarding_permission_select">Aurora Store requiere los siguientes permisos</string>
<string name="onboarding_installer_select">Seleccione un instalador adecuado</string>
<string name="notification_channel_general">Notificación general</string>
<string name="notification_channel_alert">Notificación rápida</string>
<string name="dialog_title_self_update">Nueva actualización disponible</string>

View File

@@ -83,7 +83,6 @@
<string name="onboarding_title_permissions">Baimenak</string>
<string name="onboarding_title_installer">Instalatzailea</string>
<string name="onboarding_permission_select">Aukera Store-k honako baimenak behar ditu</string>
<string name="onboarding_installer_select">Aukeratu instalatzaile egokia</string>
<string name="notification_channel_general">Jakinarazpen orokorra</string>
<string name="notification_channel_alert">Jakinarazpen arina</string>
<string name="dialog_title_self_update">Eguneratze berria aurkitu da</string>

View File

@@ -193,7 +193,6 @@
<string name="device_miui_title">MIUI شناسایی شد!</string>
<string name="installer_status_failure_conflict">بسته متناقض وجود دارد</string>
<string name="installer_service_unavailable">خدمات آرورا 1.0.9 یا بالاتر را نصب کنید، یا نصب کننده را تغییر دهید.</string>
<string name="onboarding_installer_select">نصب کننده مناسب را انتخاب کنید</string>
<string name="pref_common_extra">موارد اضافی</string>
<string name="toast_apk_whitelisted">در لیست سفید قرار گرفت</string>
<string name="toast_export_failed">پیکربندی دستگاه صادر نشد</string>

View File

@@ -238,7 +238,6 @@
<string name="onboarding_title_permissions">Käyttöoikeudet</string>
<string name="onboarding_title_installer">Asentaja</string>
<string name="onboarding_permission_select">Aurora Store vaatii seuraavat käyttöoikeudet</string>
<string name="onboarding_installer_select">Valitse soveltuva asentaja</string>
<string name="dialog_desc_native_split">Et voi asentaa niputettuja (split) sovelluksia natiiviasentajalla. Vaihda asentajaksi Services-, Root tai sessioasentaja.</string>
<string name="device_miui_extra">Vaihtoehtoisesti voit valita natiiviasentajan, mutta sillä et voi asentaa niputettuja (split) APK-tiedostoja, joten valinta on sinun.</string>
<string name="device_miui_description">Ota MIUI-optimoinnit pois käytöstä hyväksyäksesi asennukset tai valitse Root- tai Services-asentaja.</string>

View File

@@ -24,7 +24,6 @@
<string name="onboarding_welcome_select">Comment ça va \?</string>
<string name="onboarding_title_welcome">Bienvenue</string>
<string name="onboarding_title_installer">Installateur</string>
<string name="onboarding_installer_select">Sélectionnez un installateur approprié</string>
<string name="notification_channel_general">Notification générale</string>
<string name="pref_app_download">Téléchargements</string>
<string name="pref_filter_fdroid_title">Filtrer les applications F-droid</string>

View File

@@ -64,7 +64,6 @@
<string name="onboarding_title_permissions">Permisos</string>
<string name="onboarding_title_installer">Instalador</string>
<string name="onboarding_permission_select">Aurora Store precisa os seguintes permisos</string>
<string name="onboarding_installer_select">Selecciones un instalador adecuado</string>
<string name="notification_channel_general">Notificación xeral</string>
<string name="notification_channel_alert">Notificación rápida</string>
<string name="dialog_desc_native_split">Non é posíbel instalar conxuntos de aplicacións polo Instalador Nativo. Cambie o instalador a Sesión, Servizos ou Root.</string>

View File

@@ -235,7 +235,6 @@
<string name="installer_am_unavailable">התקן את מנהל האפליקציות או שנה סוג מתקין</string>
<string name="device_miui_title">זוהתה מערכת הפעלה של שיאומי!</string>
<string name="device_miui_subtitle">מתקין מקומי לא יכול להתקין אפליקציות בגלל אופטימיזציה של הממשק של שיאומי.</string>
<string name="onboarding_installer_select">בחר מתקין מתאים</string>
<string name="pref_dialog_to_apply_restart">ההגדרה תחול אחרי הפעלה מחדש של האפליקציה</string>
<string name="pref_install_mode_am">מתקין AM</string>
<string name="pref_install_mode_session">מתקין מערכת</string>

View File

@@ -169,7 +169,6 @@
<string name="pref_ui_title">अनुकूलन</string>
<string name="download_speed_estimating">आकलन</string>
<string name="action_ok">ठीक है</string>
<string name="onboarding_installer_select">एक उपयुक्त इंस्टॉलर चुनें</string>
<string name="pref_install_mode_title">इंस्टॉल करने का तरीका</string>
<string name="title_account_manager">खाते</string>
<string name="title_apps_sale">बिक्री पर ऐप्स</string>

View File

@@ -172,7 +172,6 @@
<string name="onboarding_title_permissions">Dozvole</string>
<string name="onboarding_title_installer">Instalacija</string>
<string name="onboarding_permission_select">Aurora trgovina zahtijeva sljedeće dozvole</string>
<string name="onboarding_installer_select">Odaberi odgovarajuću instalaciju</string>
<string name="notification_channel_general">Opće obavijesti</string>
<string name="notification_channel_alert">Kratke obavijesti</string>
<string name="dialog_title_self_update">Dostupna je nova verzija</string>

View File

@@ -87,7 +87,6 @@
<string name="onboarding_title_permissions">Engedélyek</string>
<string name="onboarding_title_installer">Telepítő</string>
<string name="onboarding_permission_select">Az Aurora Store a következő engedélyeket igényli</string>
<string name="onboarding_installer_select">Válasszon megfelelő telepítőt</string>
<string name="notification_channel_general">Általános értesítés</string>
<string name="notification_channel_alert">Gyors értesítés</string>
<string name="dialog_title_self_update">Új frissítés érhető el</string>

View File

@@ -194,7 +194,6 @@
<string name="pref_install_delete_title">Deler le APK depost le installation</string>
<string name="title_apps_sale_provider">Fornitor - bestappsales.com</string>
<string name="action_filter_apply">Applicar</string>
<string name="onboarding_installer_select">Selige un installator adequate</string>
<string name="action_filter">Filtros</string>
<string name="action_whitelist">Lista blanc</string>
<string name="details_changelog_unavailable">Novitates non fornite</string>

View File

@@ -247,7 +247,6 @@
<string name="installer_service_unavailable">Pasang layanan Aurora 1.0.9 atau lebih baru atau ubah pemasang.</string>
<string name="tab_trending">Sedang tren</string>
<string name="tab_top_paid">Berbayar teratas</string>
<string name="onboarding_installer_select">Pilih pemasang yang sesuai</string>
<string name="onboarding_title_installer">Pemasang</string>
<string name="onboarding_permission_select">Aurora Store memerlukan izin sebagai berikut</string>
<string name="installer_service_misconfigured">Atur layanan Aurora dan berikan seluruh izin terlebih dahulu.</string>

View File

@@ -195,7 +195,6 @@
<string name="onboarding_title_permissions">Autorizzazioni</string>
<string name="onboarding_title_installer">Installatore</string>
<string name="onboarding_permission_select">Aurora Store richiede le autorizzazioni seguenti</string>
<string name="onboarding_installer_select">Seleziona un installatore adatto</string>
<string name="notification_channel_general">Notifica generale</string>
<string name="notification_channel_alert">Notifica rapida</string>
<string name="dialog_title_self_update">Nuovo aggiornamento disponibile</string>

View File

@@ -32,7 +32,6 @@
<string name="onboarding_title_permissions">権限</string>
<string name="onboarding_title_installer">インストーラー</string>
<string name="onboarding_permission_select">Aurora Store は以下の権限が必要です</string>
<string name="onboarding_installer_select">インストーラーを選択</string>
<string name="notification_channel_general">全般通知</string>
<string name="notification_channel_alert">クイック通知</string>
<string name="dialog_title_self_update">更新が利用できます</string>

View File

@@ -119,7 +119,6 @@
<string name="onboarding_title_permissions">Destûrên</string>
<string name="onboarding_title_installer">Sazker</string>
<string name="onboarding_permission_select">Aurora Store destûrên jêrîn hewce dike</string>
<string name="onboarding_installer_select">Sazkirinek guncan hilbijêrin</string>
<string name="notification_channel_general">Ragihandina giştî</string>
<string name="notification_channel_alert">Agahdariya bilez</string>
<string name="dialog_title_self_update">Nûvekirina nû heye</string>

View File

@@ -149,7 +149,6 @@
<string name="dialog_title_self_update">새로운 업데이트 사용 가능</string>
<string name="device_miui_extra">선택적으로 기본 설치 프로그램을 선택할 수 있지만 번들(분할) APK를 설치할 수 없으므로 선택은 귀하의 몫입니다.</string>
<string name="dialog_desc_native_split">번들(분할) 앱은 기본 설치 프로그램을 통해 설치할 수 없습니다. 설치 프로그램을 세션, 서비스 또는 루트로 변경하세요.</string>
<string name="onboarding_installer_select">적합한 설치 프로그램을 선택하세요</string>
<string name="onboarding_permission_select">Aurora Store는 다음 권한을 필요로 합니다</string>
<string name="onboarding_title_installer">설치 프로그램</string>
<string name="onboarding_title_permissions">권한</string>

View File

@@ -233,7 +233,6 @@
<string name="download_canceled">Atsisakytas</string>
<string name="download_completed">Atsiuntimas užbaigtas</string>
<string name="exodus_powered">Veikia su „Exodus“</string>
<string name="onboarding_installer_select">Pasirinkite tinkamą diegimo programėlę</string>
<string name="filter_review_four">Keturios</string>
<string name="filter_review_three">Trys</string>
<string name="filter_review_one">Viena</string>

View File

@@ -194,7 +194,6 @@
<string name="device_miui_title">Noteikts MIUI.</string>
<string name="device_miui_subtitle">Sesijas uzstādītājs nevar uzstādīt lietotnes MIUI uzlabojumu dēļ.</string>
<string name="onboarding_permission_esa">Ārējās krātuves piekļuve</string>
<string name="onboarding_installer_select">Atlasīt piemērotu uzstādītāju</string>
<string name="pref_abandon_session">Piespiest notīrīt uzstādīšanas sesijas</string>
<string name="pref_abandon_session_desc">Notīrīt pamestās vai neuzsāktās uzstādīšanas sesijas</string>
<string name="tab_for_you">Tev</string>

View File

@@ -245,7 +245,6 @@
<string name="onboarding_permission_installer">Tilgang for installerer</string>
<string name="onboarding_permission_esa">Tilgang til eksternlagring</string>
<string name="onboarding_title_installer">Installerer</string>
<string name="onboarding_installer_select">Velg en egnet installerer</string>
<string name="notification_channel_general">Generell merknad</string>
<string name="notification_channel_alert">Hurtigmerknad</string>
<string name="dialog_desc_native_split">Du kan ikke installere medfølgende (delte) apper via Native Installer. Endre installasjonsprogrammet til Session, Services eller Root.</string>

View File

@@ -121,7 +121,6 @@
<string name="onboarding_title_permissions">Toestemmingen</string>
<string name="onboarding_title_installer">Installateur</string>
<string name="onboarding_permission_select">Aurora Store vereist de volgende toestemmingen</string>
<string name="onboarding_installer_select">Selecteer een geschikte installateur</string>
<string name="notification_channel_general">Algemene melding</string>
<string name="notification_channel_alert">Snelle melding</string>
<string name="dialog_desc_native_split">U kan geen gebundelde(split) applicaties installeren met Native Installer. Verander uw installatiemethode naar Session, Service of Root.</string>

View File

@@ -111,7 +111,6 @@
<string name="onboarding_title_installer">ਇੰਸਟਾਲਰ</string>
<string name="onboarding_title_permissions">ਅਗਿਆਵਾਂ</string>
<string name="onboarding_permission_select">ਔਰੋਰਾ ਸਟੋਰ ਨੂੰ ਹੇਠ ਲਿਖੀਆਂ ਇਜਾਜ਼ਤਾਂ ਦੀ ਲੋੜ ਹੈ</string>
<string name="onboarding_installer_select">ਕਿਰਪਾ ਕਰਕੇ ਕੋਈ ਢੁਕਵਾਂ ਐਪ ਇੰਸਟਾਲਰ ਚੁਣੋ</string>
<string name="notification_channel_general">ਆਮ ਸੂਚਨਾ</string>
<string name="notification_channel_alert">ਤੁਰੰਤ ਸੂਚਨਾ</string>
<string name="dialog_title_self_update">ਨਵਾਂ ਅੱਪਡੇਟ ਉਪਲਬੱਧ</string>

View File

@@ -171,7 +171,6 @@
<string name="onboarding_permission_esa">Dostęp do pamięci zewnętrznej</string>
<string name="onboarding_title_permissions">Uprawnienia</string>
<string name="onboarding_permission_select">Aurora Store wymaga następujących uprawnień</string>
<string name="onboarding_installer_select">Wybierz odpowiedni instalator</string>
<string name="onboarding_welcome_select">Jak się masz\?</string>
<string name="onboarding_title_welcome">Witamy</string>
<string name="onboarding_title_installer">Instalator</string>

View File

@@ -68,7 +68,6 @@
<string name="onboarding_title_permissions">Permissões</string>
<string name="onboarding_title_installer">Instalador</string>
<string name="onboarding_permission_select">A Aurora Store requer as seguintes permissões</string>
<string name="onboarding_installer_select">Selecione um instalador adequado</string>
<string name="notification_channel_general">Notificação geral</string>
<string name="notification_channel_alert">Notificação rápida</string>
<string name="dialog_title_self_update">Nova atualização disponível</string>

View File

@@ -130,7 +130,6 @@
<string name="onboarding_title_permissions">Permissões</string>
<string name="onboarding_title_installer">Instalador</string>
<string name="onboarding_permission_select">Aurora Store requer as seguintes permissões</string>
<string name="onboarding_installer_select">Selecione um instalador adequado</string>
<string name="notification_channel_general">Notificação geral</string>
<string name="notification_channel_alert">Notificação rápida</string>
<string name="dialog_title_self_update">Nova atualização disponível</string>

View File

@@ -138,7 +138,6 @@
<string name="download_canceled">Anulat</string>
<string name="download_progress">Se descarcă • <xliff:g id="completed_downloads">%1$d</xliff:g> / <xliff:g id="all_downloads">%2$d</xliff:g><xliff:g id="speed">%3$s</xliff:g></string>
<string name="filter_review_all">Toate</string>
<string name="onboarding_installer_select">Selectează un instalator potrivit</string>
<string name="filter_review_two">Două</string>
<string name="installer_root_unavailable">Nu există acces root. Acordă-l sau schimbă programul de instalare.</string>
<string name="installer_status_failure_invalid">APK nevalid sau deteriorat</string>

View File

@@ -206,7 +206,6 @@
<string name="onboarding_title_permissions">Разрешения</string>
<string name="onboarding_title_installer">Установщик</string>
<string name="onboarding_permission_select">Aurora Store требует следующих разрешений</string>
<string name="onboarding_installer_select">Выберите подходящий способ установки</string>
<string name="notification_channel_general">Общее уведомление</string>
<string name="notification_channel_alert">Быстрое уведомление</string>
<string name="dialog_title_self_update">Доступно обновление</string>

View File

@@ -67,7 +67,6 @@
<string name="device_miui_description">Inabìlita sas otimizatziones pro permìtere s\'installatzione, si nono podet isseberare s\'installadore de raighina o de sos servìtzios.</string>
<string name="device_miui_extra">Si cheres podes isseberare s\'installadore nativu, ma tando no as a pòdere installare sos APK agrupados (partzidos).</string>
<string name="dialog_desc_native_split">Non podes installare sas aplicatziones agrupadas (partzidas) cun s\'installadore nativu. Muda s\'installadore tuo a su de sessione, servìtzios o raighina.</string>
<string name="onboarding_installer_select">Seletziona un\'installadore adatu</string>
<string name="onboarding_permission_select">Aurora Store tenet bisòngiu de sos permissos chi sighint</string>
<string name="onboarding_title_installer">Installadore</string>
<string name="onboarding_welcome_select">Comente andat\?</string>

View File

@@ -229,7 +229,6 @@
<string name="device_miui_title">MIUI අනාවරණය විය!</string>
<string name="pref_dialog_to_apply_restart">ඔබ යෙදුම යළිි ඇරඹූ පසු මෙම සැකසුම් යෙදෙනු ඇත</string>
<string name="notification_channel_general">පොදු දැනුම්දීම</string>
<string name="onboarding_installer_select">සුදුසු ස්ථාපකයක් තෝරන්න</string>
<string name="onboarding_permission_select">අවුරෝරා ස්ටෝර් සඳහා පහත අවසර වුවමනාය</string>
<string name="onboarding_permission_esm">බාහිර ආචයන කළමණාකරු</string>
<string name="spoof_apply">රැවටීම යෙදීමට නැවත පිවිසෙන්න</string>

View File

@@ -172,7 +172,6 @@
<string name="onboarding_title_permissions">Dovoljenja</string>
<string name="pref_app_download">Prenosi</string>
<string name="pref_ui_similar_apps">Podobne in sorodne aplikacije</string>
<string name="onboarding_installer_select">Izberite primeren namestitveni program</string>
<string name="pref_common_extra">Dodatki</string>
<string name="pref_ui_theme_light">Svetlo</string>
<string name="dialog_desc_native_split">Ne morete namestiti združenih (razdeljenih) aplikacij prek izvornega namestitvenega programa. Spremenite namestitveni program v sejo, storitve ali koren.</string>

View File

@@ -131,7 +131,6 @@
<string name="onboarding_title_permissions">Ogolaanshaha</string>
<string name="onboarding_title_installer">Kushubaha</string>
<string name="onboarding_permission_select">Dukaanka Aurora wuxuu ubaahan yahay inaad u oglaato kuwan</string>
<string name="onboarding_installer_select">Dooro kushube kuhaboon</string>
<string name="notification_channel_general">Ogaysiin guud</string>
<string name="notification_channel_alert">Ogaysiin dagdaga</string>
<string name="dialog_desc_native_split">Kuma shubi kartid appska xidhmada (lakala jajabiyay) adoo isticmaalaya kushubaha barnaamijka aallada. Ubadal kushubahaaga Xidhiidka, Adeega ama Root.</string>

View File

@@ -152,7 +152,6 @@
<string name="dialog_desc_native_split">Smund të instaloni aplikacione të paketuara (të ndara) përmes Instaluesit të vetë pajisjes. Ndryshoni instaluesin tuaj në instalues Sesioni, Shërbimesh ose Rrënjë.</string>
<string name="notification_channel_alert">Njoftim i shpejtë</string>
<string name="notification_channel_general">Njoftim i përgjithshëm</string>
<string name="onboarding_installer_select">Përzgjidhni një instalues të përshtatshëm</string>
<string name="onboarding_permission_select">Aurora Store lyp lejet vijuese</string>
<string name="onboarding_title_installer">Instalues</string>
<string name="onboarding_title_permissions">Leje</string>

View File

@@ -82,7 +82,6 @@
<string name="onboarding_title_permissions">Дозволе</string>
<string name="onboarding_title_installer">Програм за инсталацију</string>
<string name="onboarding_permission_select">Aurora Store захтева следеће дозволе</string>
<string name="onboarding_installer_select">Изаберите одговарајући програм за инсталацију</string>
<string name="notification_channel_general">Опште обавештење</string>
<string name="notification_channel_alert">Брзо обавештење</string>
<string name="dialog_title_self_update">Ново ажурирање је доступно</string>

View File

@@ -76,7 +76,6 @@
<string name="onboarding_title_permissions">Behörigheter</string>
<string name="onboarding_title_installer">Installatör</string>
<string name="onboarding_permission_select">Aurora-butiken behöver följande tillstånd</string>
<string name="onboarding_installer_select">Välj en passande installatör</string>
<string name="notification_channel_general">Generell avisering</string>
<string name="notification_channel_alert">Snabb avisering</string>
<string name="dialog_title_self_update">Ny uppdatering tillgänglig</string>

View File

@@ -90,7 +90,6 @@
<string name="menu_disclaimer">பொறுப்புத்துறப்பு</string>
<string name="device_miui_extra">விருப்பமாக நீங்கள் நேட்டிவ் இன்ஸ்டாலரைத் தேர்வு செய்யலாம், ஆனால் நீங்கள் தொகுக்கப்பட்ட (பிளவு) APKகளை நிறுவ முடியாது, எனவே தேர்வு உங்களுடையது.</string>
<string name="onboarding_permission_esa_desc">பதிவிறக்கங்களைச் சேமிக்க (APKகள் &amp; OBBகள்), வெளிப்புறச் சேமிப்பகத்திற்கு மற்றும் அதிலிருந்து சாதன கட்டமைப்புகளை ஏற்றுமதி மற்றும் இறக்குமதி செய்யவும்.</string>
<string name="onboarding_installer_select">பொருத்தமான நிறுவியைத் தேர்ந்தெடுக்கவும்</string>
<string name="pref_filter_google_title">கூகுள் செயலிகளை வடிகட்டு</string>
<string name="pref_abandon_session">நிறுவல் அமர்வுகள் துடைப்பதைக் கட்டாயப்படுத்து</string>
<string name="pref_filter_fdroid_title">F-Droid செயலிகளை வடிகட்டு</string>

View File

@@ -128,7 +128,6 @@
<string name="onboarding_title_permissions">İzinler</string>
<string name="onboarding_title_installer">Kurucu</string>
<string name="onboarding_permission_select">Aurora Mağazası aşağıdaki izinleri gerektirir</string>
<string name="onboarding_installer_select">Uygun kurucu seç</string>
<string name="notification_channel_general">Genel bildirim</string>
<string name="notification_channel_alert">Hızlı bildirim</string>
<string name="dialog_title_self_update">Yeni güncelleme var</string>

View File

@@ -212,7 +212,6 @@
<string name="onboarding_title_permissions">Дозволи</string>
<string name="onboarding_title_installer">Встановлювач</string>
<string name="onboarding_permission_select">Aurora Store використовує такі дозволи</string>
<string name="onboarding_installer_select">Виберіть відповідний встановлювач</string>
<string name="notification_channel_general">Загальне сповіщення</string>
<string name="notification_channel_alert">Швидке сповіщення</string>
<string name="dialog_desc_native_split">Неможливо встановити пакети застосунків (split) через системний встановлювач Android. Змініть встановлювач на Session, служби Aurora або Root.</string>

View File

@@ -179,7 +179,6 @@
<string name="device_miui_subtitle">Trình cài đặt phiên không thể cài đặt ứng dụng do có Tối ưu hóa MIUI.</string>
<string name="device_miui_title">Đã phát hiện MIUI!</string>
<string name="onboarding_permission_select">Aurora Store yêu cầu các quyền sau</string>
<string name="onboarding_installer_select">Chọn trình cài đặt tương thích</string>
<string name="menu_terms">Điều khoản dịch vụ</string>
<string name="menu_license">Giấy phép</string>
<string name="menu_disclaimer">Từ chối trách nhiệm</string>

View File

@@ -207,7 +207,6 @@
<string name="onboarding_title_permissions">权限</string>
<string name="onboarding_title_installer">安装包</string>
<string name="onboarding_permission_select">Aurora 商店需要以下权限</string>
<string name="onboarding_installer_select">选择合适的安装方式</string>
<string name="notification_channel_general">一般通知</string>
<string name="notification_channel_alert">快速通知</string>
<string name="dialog_title_self_update">有新更新可用</string>

View File

@@ -167,7 +167,6 @@
<string name="onboarding_welcome_select">食飽未?</string>
<string name="onboarding_title_welcome">歡迎</string>
<string name="onboarding_permission_select">Aurora Store 需要以下權限</string>
<string name="onboarding_installer_select">選擇合適的安裝方式</string>
<string name="notification_channel_general">一般通知</string>
<string name="notification_channel_alert">快速通知</string>
<string name="dialog_desc_native_split">你無法透過原生安裝器安裝捆包分裂的應用程式。請將你的安裝方式改成階段、Aurora 服務或 Root。</string>

View File

@@ -110,15 +110,6 @@
<item>13</item>
</string-array>
<string-array name="pref_installation_method">
<item>@string/pref_install_mode_session</item>
<item>@string/pref_install_mode_native</item>
<item>@string/pref_install_mode_root</item>
<item>@string/pref_install_mode_services</item>
<item>@string/pref_install_mode_am</item>
<item>@string/pref_install_mode_shizuku</item>
</string-array>
<string-array name="pref_updates_auto_values">
<item>0</item>
<item>1</item>
@@ -131,15 +122,6 @@
<item>@string/pref_updates_auto_install</item>
</string-array>
<string-array name="pref_installation_method_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
</string-array>
<string-array name="link_urls">
<item>"bc1qu7cy9fepjj309y4r2x3rymve7mw4ff39c8cpe0"</item>
<item>"qpqus3qdlz8guf476vwz0fjl8s34fseukcmrl6eknl"</item>

View File

@@ -185,7 +185,6 @@
<string name="dialog_desc_native_split">"You can not install bundled(split) apps via Native Installer. Change your installer to Session, Services or Root."</string>
<string name="notification_channel_alert">"Quick notification"</string>
<string name="notification_channel_general">"General notification"</string>
<string name="onboarding_installer_select">"Select a suitable installer"</string>
<string name="onboarding_permission_select">"Aurora Store requires following permissions"</string>
<string name="onboarding_title_installer">"Installer"</string>
<string name="onboarding_title_permissions">"Permissions"</string>

View File

@@ -19,10 +19,8 @@
<androidx.preference.PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
<com.aurora.store.view.custom.preference.AuroraListPreference
<Preference
app:defaultValue="0"
app:entries="@array/pref_installation_method"
app:entryValues="@array/pref_installation_method_values"
app:iconSpaceReserved="false"
app:key="PREFERENCE_INSTALLER_ID"
app:summary="@string/pref_install_mode_summary"