UpdateWorker: Merge self-updates logic for non-fdroid builds

Treat Aurora Store as a normal app for non-fdroid builds and check
for its updates based on auto-update preference.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-03-01 20:21:37 +05:30
parent 3b9efeed11
commit 2f5d39106a
38 changed files with 121 additions and 257 deletions

View File

@@ -43,6 +43,7 @@ object Constants {
const val NOTIFICATION_CHANNEL_UPDATES = "NOTIFICATION_CHANNEL_UPDATES"
const val NOTIFICATION_CHANNEL_UPDATER_SERVICE = "NOTIFICATION_CHANNEL_UPDATER_SERVICE"
const val GITLAB_URL = "https://gitlab.com/AuroraOSS/AuroraStore"
const val URL_DISPENSER = "https://auroraoss.com/api/auth"
const val PLAY_QUERY_URL = "https://play.google.com/store/search?q="

View File

@@ -34,6 +34,7 @@ data class SelfUpdate(
@SerializedName("version_code") var versionCode: Int = 0,
@SerializedName("aurora_build") var auroraBuild: String = String(),
@SerializedName("fdroid_build") var fdroidBuild: String = String(),
@SerializedName("updated_on") var updatedOn: String = String(),
val changelog: String = String(),
val size: Long = 0L
) {
@@ -56,7 +57,9 @@ data class SelfUpdate(
versionName = selfUpdate.versionName,
changes = selfUpdate.changelog,
size = selfUpdate.size,
updatedOn = selfUpdate.updatedOn,
displayName = context.getString(R.string.app_name),
developerName = "Rahul Kumar Patel",
iconArtwork = Artwork(url = "$BASE_URL/$icon"),
fileList = mutableListOf(
File(
@@ -64,7 +67,9 @@ data class SelfUpdate(
url = downloadURL,
size = selfUpdate.size
)
)
),
isFree = true,
isInstalled = true
)
}
}

View File

@@ -1,115 +0,0 @@
package com.aurora.store.data.work
import android.content.Context
import android.util.Log
import androidx.hilt.work.HiltWorker
import androidx.work.Constraints
import androidx.work.CoroutineWorker
import androidx.work.ExistingPeriodicWorkPolicy.KEEP
import androidx.work.NetworkType
import androidx.work.PeriodicWorkRequest
import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
import androidx.work.WorkerParameters
import com.aurora.Constants
import com.aurora.extensions.isMAndAbove
import com.aurora.store.BuildConfig
import com.aurora.store.data.model.SelfUpdate
import com.aurora.store.data.network.HttpClient
import com.aurora.store.util.CertUtil
import com.aurora.store.util.DownloadWorkerUtil
import com.aurora.store.util.Preferences
import com.aurora.store.util.Preferences.PREFERENCE_SELF_UPDATE
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
import com.google.gson.Gson
import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
import java.util.concurrent.TimeUnit.HOURS
import java.util.concurrent.TimeUnit.MINUTES
@HiltWorker
class SelfUpdateWorker @AssistedInject constructor(
private val downloadWorkerUtil: DownloadWorkerUtil,
private val gson: Gson,
@Assisted private val appContext: Context,
@Assisted workerParams: WorkerParameters
) : CoroutineWorker(appContext, workerParams) {
companion object {
private const val TAG = "SelfUpdateWorker"
private const val SELF_UPDATE_WORKER = "SELF_UPDATE_WORKER"
fun cancelAutomatedCheck(context: Context) {
Log.i(TAG, "Cancelling periodic self-updates!")
WorkManager.getInstance(context).cancelUniqueWork(SELF_UPDATE_WORKER)
}
fun scheduleAutomatedCheck(context: Context) {
Log.i(TAG,"Scheduling periodic self-updates!")
WorkManager.getInstance(context)
.enqueueUniquePeriodicWork(SELF_UPDATE_WORKER, KEEP, buildUpdateWork(context))
}
fun updateAutomatedCheck(context: Context) {
Log.i(TAG,"Updating periodic self-updates!")
WorkManager.getInstance(context).updateWork(buildUpdateWork(context))
}
private fun buildUpdateWork(context: Context): PeriodicWorkRequest {
val updateCheckInterval = Preferences.getInteger(
context,
PREFERENCE_UPDATES_CHECK_INTERVAL,
3
).toLong()
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.UNMETERED)
.setRequiresBatteryNotLow(true)
if (isMAndAbove()) constraints.setRequiresDeviceIdle(true)
return PeriodicWorkRequestBuilder<UpdateWorker>(
repeatInterval = updateCheckInterval,
repeatIntervalTimeUnit = HOURS,
flexTimeInterval = 30,
flexTimeIntervalUnit = MINUTES
).setConstraints(constraints.build()).build()
}
}
private val TAG = SelfUpdateWorker::class.java.simpleName
private val RELEASE = "release"
override suspend fun doWork(): Result {
@Suppress("KotlinConstantConditions") // False-positive for build type always not being release
if (BuildConfig.BUILD_TYPE != RELEASE && Preferences.getBoolean(appContext, PREFERENCE_SELF_UPDATE)) {
Log.e(TAG, "Either build type is not release or self-update check is disabled")
return Result.failure()
}
try {
val response = HttpClient.getPreferredClient(appContext)
.get(Constants.UPDATE_URL, mapOf())
val selfUpdate = gson.fromJson(String(response.responseBytes), SelfUpdate::class.java)
if (selfUpdate.versionCode > BuildConfig.VERSION_CODE) {
if (CertUtil.isFDroidApp(appContext, BuildConfig.APPLICATION_ID)) {
if (selfUpdate.fdroidBuild.isNotEmpty()) {
downloadWorkerUtil.enqueueApp(SelfUpdate.toApp(selfUpdate, appContext))
}
} else if (selfUpdate.auroraBuild.isNotEmpty()) {
downloadWorkerUtil.enqueueApp(SelfUpdate.toApp(selfUpdate, appContext))
} else {
Log.e(TAG, "Update file is missing!")
return Result.failure()
}
}
} catch (exception: Exception) {
Log.e(TAG, "Failed to check Aurora Store updates", exception)
return Result.failure()
}
Log.i(TAG, "No updates found")
return Result.success()
}
}

View File

@@ -2,6 +2,7 @@ package com.aurora.store.data.work
import android.app.NotificationManager
import android.content.Context
import android.util.Log
import androidx.core.content.pm.PackageInfoCompat
import androidx.hilt.work.HiltWorker
import androidx.work.Constraints
@@ -13,21 +14,25 @@ import androidx.work.PeriodicWorkRequest
import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
import androidx.work.WorkerParameters
import com.aurora.Constants
import com.aurora.extensions.isMAndAbove
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.helpers.AppDetailsHelper
import com.aurora.gplayapi.helpers.AuthValidator
import com.aurora.store.BuildConfig
import com.aurora.store.data.model.SelfUpdate
import com.aurora.store.data.network.HttpClient
import com.aurora.store.data.providers.AuthProvider
import com.aurora.store.data.providers.BlacklistProvider
import com.aurora.store.util.CertUtil
import com.aurora.store.util.DownloadWorkerUtil
import com.aurora.store.util.Log
import com.aurora.store.util.NotificationUtil
import com.aurora.store.util.PackageUtil
import com.aurora.store.util.Preferences
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
import com.google.gson.Gson
import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
import kotlinx.coroutines.Dispatchers
@@ -37,30 +42,69 @@ import java.util.concurrent.TimeUnit.MINUTES
@HiltWorker
class UpdateWorker @AssistedInject constructor(
val downloadWorkerUtil: DownloadWorkerUtil,
private val downloadWorkerUtil: DownloadWorkerUtil,
private val gson: Gson,
@Assisted private val appContext: Context,
@Assisted workerParams: WorkerParameters
) : CoroutineWorker(appContext, workerParams) {
companion object {
private const val TAG = "UpdateWorker"
private const val UPDATE_WORKER = "UPDATE_WORKER"
private const val RELEASE = "release"
fun cancelAutomatedCheck(context: Context) {
Log.i("Cancelling periodic app updates!")
Log.i(TAG, "Cancelling periodic app updates!")
WorkManager.getInstance(context).cancelUniqueWork(UPDATE_WORKER)
}
fun scheduleAutomatedCheck(context: Context) {
Log.i("Scheduling periodic app updates!")
Log.i(TAG,"Scheduling periodic app updates!")
WorkManager.getInstance(context)
.enqueueUniquePeriodicWork(UPDATE_WORKER, KEEP, buildUpdateWork(context))
}
fun updateAutomatedCheck(context: Context) {
Log.i("Updating periodic app updates!")
Log.i(TAG,"Updating periodic app updates!")
WorkManager.getInstance(context).updateWork(buildUpdateWork(context))
}
suspend fun getSelfUpdate(context: Context, gson: Gson): App? {
return withContext(Dispatchers.IO) {
@Suppress("KotlinConstantConditions") // False-positive for build type always not being release
if (BuildConfig.BUILD_TYPE != RELEASE) {
Log.i(TAG, "Self-updates are not available for this build!")
return@withContext null
}
try {
val response = HttpClient.getPreferredClient(context)
.get(Constants.UPDATE_URL, mapOf())
val selfUpdate =
gson.fromJson(String(response.responseBytes), SelfUpdate::class.java)
if (selfUpdate.versionCode > BuildConfig.VERSION_CODE) {
if (CertUtil.isFDroidApp(context, BuildConfig.APPLICATION_ID)) {
if (selfUpdate.fdroidBuild.isNotEmpty()) {
return@withContext SelfUpdate.toApp(selfUpdate, context)
}
} else if (selfUpdate.auroraBuild.isNotEmpty()) {
return@withContext SelfUpdate.toApp(selfUpdate, context)
} else {
Log.e(TAG, "Update file is missing!")
return@withContext null
}
}
} catch (exception: Exception) {
Log.e(TAG, "Failed to check self-updates", exception)
return@withContext null
}
Log.i(TAG, "No self-updates found!")
return@withContext null
}
}
private fun buildUpdateWork(context: Context): PeriodicWorkRequest {
val updateCheckInterval = Preferences.getInteger(
context,
@@ -83,6 +127,7 @@ class UpdateWorker @AssistedInject constructor(
}
}
private val updatesList = mutableListOf<App>()
private val notificationID = 100
private val workerID = 101
private val gapps: MutableSet<String> = hashSetOf(
@@ -108,18 +153,23 @@ class UpdateWorker @AssistedInject constructor(
// Exit if auto-updates is turned off in settings
if (autoUpdatesMode == 0) {
Log.i("Auto-updates is disabled, bailing out!")
Log.i(TAG,"Auto-updates is disabled, bailing out!")
return Result.failure()
}
// Check for Aurora Store updates first
if (!CertUtil.isFDroidApp(appContext, BuildConfig.APPLICATION_ID)) {
getSelfUpdate(appContext, gson)?.let { updatesList.add(it) }
}
withContext(Dispatchers.IO) {
if (!isValid(authData)) {
Log.i("AuthData is not valid, retrying later!")
Log.i(TAG,"AuthData is not valid, retrying later!")
return@withContext Result.retry()
}
Log.i("Checking for app updates")
Log.i(TAG,"Checking for app updates")
val appDetailsHelper = AppDetailsHelper(authData)
.using(HttpClient.getPreferredClient(appContext))
@@ -144,7 +194,7 @@ class UpdateWorker @AssistedInject constructor(
val appList = appDetailsHelper.getAppByPackageName(filtersPackages)
.filter { it.displayName.isNotEmpty() }
val updatesList = appList.filter {
val appUpdatesList = appList.filter {
val packageInfo = packageInfoMap[it.packageName]
if (packageInfo != null) {
it.versionCode.toLong() > PackageInfoCompat.getLongVersionCode(packageInfo)
@@ -159,10 +209,11 @@ class UpdateWorker @AssistedInject constructor(
)
}
}
updatesList.addAll(appUpdatesList)
if (updatesList.isNotEmpty()) {
if (autoUpdatesMode == 1) {
Log.i("Found updates, notifying!")
Log.i(TAG,"Found updates, notifying!")
val notifyManager =
appContext.getSystemService(Context.NOTIFICATION_SERVICE)
as NotificationManager
@@ -171,13 +222,13 @@ class UpdateWorker @AssistedInject constructor(
NotificationUtil.getUpdateNotification(appContext, updatesList)
)
} else {
Log.i("Found updates, updating!")
Log.i(TAG,"Found updates, updating!")
updatesList.forEach { downloadWorkerUtil.enqueueApp(it) }
}
return@withContext Result.success()
}
Log.i("No updates found!")
Log.i(TAG,"No updates found!")
return@withContext Result.success()
}
}

View File

@@ -67,8 +67,6 @@ object Preferences {
const val PREFERENCE_UNIQUE_GROUP_IDS = "PREFERENCE_UNIQUE_GROUP_IDS"
const val PREFERENCE_SELF_UPDATE = "PREFERENCE_SELF_UPDATE"
private var prefs: SharedPreferences? = null
fun getPrefs(context: Context): SharedPreferences {

View File

@@ -25,6 +25,7 @@ import androidx.core.content.ContextCompat
import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import com.aurora.Constants
import com.aurora.Constants.GITLAB_URL
import com.aurora.extensions.browse
import com.aurora.store.MobileNavigationDirections
import com.aurora.store.R
@@ -51,8 +52,6 @@ class DownloadFragment : BaseFragment(R.layout.fragment_download) {
lateinit var downloadWorkerUtil: DownloadWorkerUtil
lateinit var downloadList: List<Download>
private val AURORA_STORE_URL = "https://gitlab.com/AuroraOSS/AuroraStore"
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@@ -116,7 +115,7 @@ class DownloadFragment : BaseFragment(R.layout.fragment_download) {
.download(it)
.click { _ ->
if (it.packageName == Constants.APP_ID) {
requireContext().browse(AURORA_STORE_URL)
requireContext().browse(GITLAB_URL)
} else {
openDetailsFragment(it.packageName)
}

View File

@@ -28,12 +28,9 @@ import androidx.navigation.fragment.findNavController
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import com.aurora.extensions.isSAndAbove
import com.aurora.store.BuildConfig
import com.aurora.store.R
import com.aurora.store.data.work.SelfUpdateWorker
import com.aurora.store.data.work.UpdateWorker
import com.aurora.store.databinding.FragmentOnboardingBinding
import com.aurora.store.util.CertUtil
import com.aurora.store.util.PathUtil
import com.aurora.store.util.Preferences
import com.aurora.store.util.Preferences.PREFERENCE_AUTO_DELETE
@@ -52,7 +49,6 @@ import com.aurora.store.util.Preferences.PREFERENCE_INTRO
import com.aurora.store.util.Preferences.PREFERENCE_PROXY_ENABLED
import com.aurora.store.util.Preferences.PREFERENCE_PROXY_INFO
import com.aurora.store.util.Preferences.PREFERENCE_PROXY_URL
import com.aurora.store.util.Preferences.PREFERENCE_SELF_UPDATE
import com.aurora.store.util.Preferences.PREFERENCE_SIMILAR
import com.aurora.store.util.Preferences.PREFERENCE_THEME_ACCENT
import com.aurora.store.util.Preferences.PREFERENCE_THEME_TYPE
@@ -63,7 +59,6 @@ import com.aurora.store.util.Preferences.PREFERENCE_VENDING_VERSION
import com.aurora.store.util.save
import com.google.android.material.tabs.TabLayoutMediator
import dagger.hilt.android.AndroidEntryPoint
import kotlin.properties.Delegates
@AndroidEntryPoint
class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
@@ -71,7 +66,6 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
private var _binding: FragmentOnboardingBinding? = null
private val binding get() = _binding!!
private var shouldSelfUpdate by Delegates.notNull<Boolean>()
private var lastPosition = 0
internal class PagerAdapter(fragmentManager: FragmentManager, lifecycle: Lifecycle) :
@@ -97,8 +91,6 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentOnboardingBinding.bind(view)
shouldSelfUpdate = CertUtil.isFDroidApp(requireContext(), BuildConfig.APPLICATION_ID)
val isDefaultPrefLoaded = Preferences.getBoolean(requireContext(), PREFERENCE_DEFAULT)
if (!isDefaultPrefLoaded) {
save(PREFERENCE_DEFAULT, true)
@@ -148,7 +140,6 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
binding.btnForward.setOnClickListener {
save(PREFERENCE_INTRO, true)
UpdateWorker.scheduleAutomatedCheck(requireContext())
if (shouldSelfUpdate) SelfUpdateWorker.scheduleAutomatedCheck(requireContext())
findNavController().navigate(
OnboardingFragmentDirections.actionOnboardingFragmentToSplashFragment()
)
@@ -196,6 +187,5 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
save(PREFERENCE_UPDATES_EXTENDED, false)
save(PREFERENCE_UPDATES_AUTO, 2)
save(PREFERENCE_UPDATES_CHECK_INTERVAL, 3)
save(PREFERENCE_SELF_UPDATE, shouldSelfUpdate)
}
}

View File

@@ -27,16 +27,10 @@ import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.SeekBarPreference
import androidx.preference.SwitchPreferenceCompat
import com.aurora.store.BuildConfig
import com.aurora.store.R
import com.aurora.store.data.work.SelfUpdateWorker
import com.aurora.store.data.work.UpdateWorker
import com.aurora.store.util.CertUtil
import com.aurora.store.util.Preferences.PREFERENCE_SELF_UPDATE
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
import com.aurora.store.util.save
import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat
import dagger.hilt.android.AndroidEntryPoint
@@ -46,22 +40,6 @@ class UpdatesPreference : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preferences_updates, rootKey)
findPreference<SwitchPreferenceCompat>(PREFERENCE_SELF_UPDATE)?.let {
if (CertUtil.isFDroidApp(requireContext(), BuildConfig.APPLICATION_ID)) {
it.isVisible = false
}
it.setOnPreferenceChangeListener { _, newValue ->
if (newValue.toString().toBoolean()) {
SelfUpdateWorker.scheduleAutomatedCheck(requireContext())
} else {
SelfUpdateWorker.cancelAutomatedCheck(requireContext())
}
save(PREFERENCE_SELF_UPDATE, newValue.toString().toBoolean())
true
}
}
findPreference<ListPreference>(PREFERENCE_UPDATES_AUTO)
?.setOnPreferenceChangeListener { _, newValue ->
when (newValue.toString().toInt()) {
@@ -74,7 +52,6 @@ class UpdatesPreference : PreferenceFragmentCompat() {
findPreference<SeekBarPreference>(PREFERENCE_UPDATES_CHECK_INTERVAL)
?.setOnPreferenceChangeListener { _, _ ->
UpdateWorker.updateAutomatedCheck(requireContext())
SelfUpdateWorker.updateAutomatedCheck(requireContext())
true
}
}

View File

@@ -30,12 +30,13 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.content.ContextCompat
import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
import com.aurora.Constants
import com.aurora.extensions.browse
import com.aurora.extensions.isRAndAbove
import com.aurora.extensions.toast
import com.aurora.gplayapi.data.models.App
import com.aurora.store.R
import com.aurora.store.data.event.BusEvent
import com.aurora.store.data.model.DownloadStatus
import com.aurora.store.data.room.download.Download
import com.aurora.store.databinding.FragmentUpdatesBinding
import com.aurora.store.util.PathUtil
@@ -178,7 +179,13 @@ class UpdatesFragment : BaseFragment(R.layout.fragment_updates) {
.id(app.packageName)
.app(app)
.download(download)
.click { _ -> openDetailsFragment(app.packageName, app) }
.click { _ ->
if (app.packageName == Constants.APP_ID) {
requireContext().browse(Constants.GITLAB_URL)
} else {
openDetailsFragment(app.packageName, app)
}
}
.longClick { _ ->
openAppMenuSheet(app)
false

View File

@@ -24,6 +24,8 @@ import android.util.Log
import androidx.core.content.pm.PackageInfoCompat
import androidx.lifecycle.viewModelScope
import com.aurora.gplayapi.data.models.App
import com.aurora.store.BuildConfig
import com.aurora.store.data.work.UpdateWorker
import com.aurora.store.util.CertUtil
import com.aurora.store.util.DownloadWorkerUtil
import com.aurora.store.util.Preferences
@@ -66,8 +68,14 @@ class UpdatesViewModel @Inject constructor(
false
}
}.sortedBy { it.displayName.lowercase(Locale.getDefault()) }.also { apps ->
val nApps = apps.toMutableList()
if (!CertUtil.isFDroidApp(getApplication(), BuildConfig.APPLICATION_ID)) {
UpdateWorker.getSelfUpdate(getApplication(), gson)?.let { nApps.add(it) }
}
if (!isExtendedUpdateEnabled) {
_updates.emit(
nApps.addAll(
apps.filter { app ->
app.certificateSetList.any {
it.certificateSet in CertUtil.getEncodedCertificateHashes(
@@ -77,8 +85,9 @@ class UpdatesViewModel @Inject constructor(
}
}
)
_updates.emit(nApps)
} else {
_updates.emit(apps)
_updates.emit(nApps)
}
}
} catch (exception: Exception) {

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">عينت الوكيل بنجاح</string>
<string name="toast_proxy_failed">فشل في تعيين الوكيل</string>
<string name="pref_network_proxy_enable_desc">السماح لجميع حركة المرور من التطبيق بالمرور عبر الوكيل</string>
<string name="pref_self_update_title">التحديثات الذاتية</string>
<string name="pref_self_update_summary">تحقق من توفر إصدار ثابت جديد من Aurora Store و ثبته</string>
<string name="pref_vending_version_device">الافتراضي (من تكوين الجهاز)</string>
<string name="pref_vending_version_title">نسخة جوجل بلاي</string>
<string name="onboarding_permission_doze">تنزيلات الخلفية</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible">التحديثات غير المتوافقة</string>
<string name="pref_updates_incompatible_desc">عرض التحديثات للتطبيقات غير المتوافقة أو المعطلة التي قد يفشل تثبيتها</string>
<string name="action_home_screen">أضِف إلى الشاشة الرئيسية</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">Proxy úspěšně nastavena</string>
<string name="toast_proxy_failed">Nepodařilo se nastavit proxy</string>
<string name="pref_network_proxy_enable_desc">Přesměrovat veškerý síťový provoz skrz proxy</string>
<string name="pref_self_update_title">Aktualizace Aurora Store</string>
<string name="pref_self_update_summary">Kontrolovat a instalovat nové stabilní verze aplikace Aurora Store</string>
<string name="pref_vending_version_device">Výchozí (z konfigurace zařízení)</string>
<string name="pref_vending_version_title">Verze z Google Play</string>
<string name="onboarding_permission_doze">Stahování na pozadí</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible">Aktualizovat nekompatibilní</string>
<string name="pref_updates_incompatible_desc">Zobrazit aktualizace pro nekompatibilní nebo zakázané aplikace, jejichž instalace může selhat</string>
<string name="action_home_screen">Přidat na domovskou obrazovku</string>
</resources>
</resources>

View File

@@ -365,8 +365,6 @@
<string name="toast_proxy_success">Proxy erfolgreich festgelegt</string>
<string name="toast_proxy_failed">Fehler beim Festlegen des Proxys</string>
<string name="pref_network_proxy_enable_desc">Gesamten Netzwerkverkehr der App über den Proxyserver leiten</string>
<string name="pref_self_update_title">Selbständige Updates</string>
<string name="pref_self_update_summary">Verfügbarkeit einer neuen stabilen Version von Aurora Store prüfen und diese installieren</string>
<string name="pref_vending_version_device">Standard (aus Gerätekonfiguration)</string>
<string name="pref_vending_version_title">Google-Play-Version</string>
<string name="onboarding_permission_doze">Downloads im Hintergrund</string>
@@ -386,4 +384,4 @@
<string name="pref_updates_incompatible">Inkompatible Updates</string>
<string name="pref_updates_incompatible_desc">Updates für inkompatible oder deaktivierte Apps anzeigen, die möglicherweise nicht installiert werden können</string>
<string name="action_home_screen">Zur Startseite hinzufügen</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">Proxy configurado correctamente</string>
<string name="toast_proxy_failed">Error al establecer el proxy</string>
<string name="pref_network_proxy_enable_desc">Permitir que todo el tráfico de la aplicación pase por el proxy</string>
<string name="pref_self_update_title">Autoactualizaciones</string>
<string name="pref_self_update_summary">Compruebe e instale si hay disponible una nueva versión estable de Aurora Store</string>
<string name="pref_vending_version_device">Por defecto (desde la configuración del dispositivo)</string>
<string name="pref_vending_version_title">Versión para Google Play</string>
<string name="onboarding_permission_doze">Descargas en segundo plano</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible">Actualizaciones no compatibles</string>
<string name="pref_updates_incompatible_desc">Mostrar actualizaciones de aplicaciones incompatibles o desactivadas que pueden fallar al instalarse</string>
<string name="action_home_screen">Añadir a la pantalla de inicio</string>
</resources>
</resources>

View File

@@ -357,11 +357,9 @@
<string name="pref_vending_version_title">Google Play -versio</string>
<string name="onboarding_permission_doze">Taustalla lataukset</string>
<string name="pref_updates_auto">Päivitä sovellukset automaattisesti</string>
<string name="pref_self_update_title">Itsepäivitykset</string>
<string name="device_doze_title">Akun optimointi on havaittu!</string>
<string name="pref_updates_auto_notify">Tarkista ja ilmoita saatavilla olevista päivityksistä</string>
<string name="pref_updates_auto_off">Älä päivitä sovelluksia automaattisesti</string>
<string name="pref_self_update_summary">Tarkista ja ilmoita, onko Aurora Storen uusi versio saatavilla</string>
<string name="title_app_settings">Sovellusasetukset</string>
<string name="details_no_apps_on_sale">Ei sovelluksia myynnissä</string>
<string name="device_doze_subtitle">Aurora Store ei voi asentaa lataus- tai päivityssovelluksia taustalla johtuen akun optimoinnista.</string>
@@ -371,4 +369,4 @@
<string name="pref_downloader_path_title">Latauskansio</string>
<string name="download_clear_finished">Poista valmistuneet</string>
<string name="action_home_screen">Lisää kotinäytölle</string>
</resources>
</resources>

View File

@@ -369,13 +369,11 @@
<string name="pref_vending_version_title">Version Google Play</string>
<string name="onboarding_permission_doze">Téléchargements en arrière-plan</string>
<string name="pref_updates_auto">Mise à jour automatique des applis</string>
<string name="pref_self_update_title">Mises à jour automatiques</string>
<string name="device_doze_title">Optimisation de la batterie détectée!</string>
<string name="pref_updates_auto_notify">Vérifier et notifier les mises à jour disponibles</string>
<string name="pref_updates_auto_off">Ne pas mettre les applis à jour automatiquement</string>
<string name="device_doze_extra">En option, vous pouvez choisir de garder les optimisations activées, mais vous ne serez pas en mesure de profiter des téléchargements en arrière-plan et des mises à jour automatisées; cest à vous de décider.</string>
<string name="onboarding_permission_doze_desc">Autoriser Aurora Store à télécharger et mettre à jour les applications en arrière-plan</string>
<string name="pref_self_update_summary">Vérifier si une nouvelle version stable dAurora Store est disponible et linstaller</string>
<string name="device_doze_subtitle">Aurora Store ne peut pas installer de téléchargements ou mettre à jour dapplications en arrière-plan en raison des optimisations de la batterie.</string>
<string name="pref_updates_auto_desc">Configurer le comportement des mises à jour auto</string>
<string name="pref_updates_auto_install">Vérifier les mises à jour disponibles automatiquement</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible">Mises à jour incompatibles</string>
<string name="pref_updates_incompatible_desc">Afficher les mises à jour pour les applications incompatibles ou désactivées dont linstallation peut échouer</string>
<string name="action_home_screen">Ajouter à lécran daccueil</string>
</resources>
</resources>

View File

@@ -301,7 +301,6 @@
<string name="toast_page_unavailable">עמוד הדפדוף לא קיים</string>
<string name="title_search_suggestion">הצעות חיפוש</string>
<string name="title_advanced">מתקדם</string>
<string name="pref_self_update_title">עדכון-עצמי</string>
<string name="pref_aurora_only_desc">הצג רק יישומים שהותקנו מחנות Aurora בעדכונים וביישומים המותקנים</string>
<string name="session_login_failed_google">‏לא הצליח להיכנס עם גוגל</string>
<string name="menu">תפריט</string>
@@ -325,7 +324,6 @@
<string name="action_enabled">מאופשר</string>
<string name="toast_import_success">ייבוא תצורת מכשיר בוצעה בהצלחה</string>
<string name="download_eta_hrs">%1$dש %2$dדק %3$dשנ left</string>
<string name="pref_self_update_summary">בדוק והודיע אם קיימת גרסה חדשה יציבה לחנות Aurora</string>
<string name="title_app_settings">הגדרות יישום</string>
<string name="notification_channel_updater_service">שרות הורדת יישום ברקע</string>
<string name="dialog_desc_native_split">אתה לא יכול להתקין אפליקציות באנדל (מפוצלות) עם מתקין Native Installer, שנה את המתקין ל-Session, Services או Root.</string>
@@ -366,4 +364,4 @@
<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="purchase_session_expired">פג תוקף כניסה, הכנס מחדש כדי לקבל כניסה חדשה.</string>
<string name="notification_updates_available_1"><xliff:g id="apps_count">%1$d</xliff:g> עדכון נמצא</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">प्रॉक्सी सफलतापूर्वक सेट हो गई</string>
<string name="toast_proxy_failed">प्रॉक्सी सेट करने में विफल</string>
<string name="pref_network_proxy_enable_desc">ऐप से सभी ट्रैफ़िक को प्रॉक्सी के माध्यम से जाने की अनुमति दें</string>
<string name="pref_self_update_title">स्वयं अपडेटस</string>
<string name="pref_self_update_summary">जांचें कि क्या ऑरोरा स्टोर का नया स्थिर संस्करण उपलब्ध है और इंस्टॉल करें</string>
<string name="pref_vending_version_device">डिफ़ॉल्ट (डिवाइस कॉन्फ़िगरेशन से)</string>
<string name="pref_vending_version_title">गूगल प्ले संस्करण</string>
<string name="onboarding_permission_doze">बेकग्राउंड डाउनलोड</string>
@@ -385,4 +383,4 @@
<string name="download_clear_finished">समाप्त हुए साफ़ करें</string>
<string name="pref_updates_incompatible">असंगत अपडेटस</string>
<string name="action_home_screen">होम स्क्रीन पर जोड़ें</string>
</resources>
</resources>

View File

@@ -369,13 +369,11 @@
<string name="details_ratings_title_hint">Értékelés címe</string>
<string name="onboarding_permission_doze">Háttérben történő letöltések</string>
<string name="pref_updates_auto">Automatikus alkalmazásfrissítés</string>
<string name="pref_self_update_title">Önfrissítések</string>
<string name="device_doze_title">Akkumulátor optimalizálás észlelve!</string>
<string name="pref_updates_auto_notify">Ellenőrizze és értesítsen a rendelkezésre álló frissítésekről</string>
<string name="pref_updates_auto_off">Ne frissítse automatikusan az alkalmazásokat</string>
<string name="device_doze_extra">Opcionálisan úgy is dönthet, hogy az optimalizálásokat engedélyezve hagyja, de akkor nem fogja tudni kihasználni a háttérben történő letöltések és az automatikus frissítések előnyeit, így a választás az öné.</string>
<string name="onboarding_permission_doze_desc">Engedélyezze, hogy az Aurora Store a háttérben töltsön le és frissítsen alkalmazásokat</string>
<string name="pref_self_update_summary">Ellenőrizze és értesítsen, ha az Aurora Store új stabil verziója elérhetővé vált</string>
<string name="device_doze_subtitle">Az Aurora Store az akkumulátor optimalizálás miatt nem tud alkalmazásokat telepíteni, letölteni vagy frissíteni a háttérben.</string>
<string name="pref_updates_auto_desc">Automatikus frissítések viselkedésének beállítása</string>
<string name="pref_updates_auto_install">Ellenőrizze és automatikusan telepítse a rendelkezésre álló frissítéseket</string>
@@ -384,4 +382,4 @@
<string name="download_clear_finished">Tisztítás befejezve</string>
<string name="pref_updates_incompatible">Összeegyeztethetetlen frissítések</string>
<string name="pref_updates_incompatible_desc">Mutasson frissítéseket kompatibilis vagy letiltott alkalmazásokhoz, amelyek nem telepíthetők</string>
</resources>
</resources>

View File

@@ -143,7 +143,6 @@
<string name="updates_available">actualisationes disponibile</string>
<string name="pref_ui_layout_tab">Seliger scheda per predefinition</string>
<string name="action_enabled">Activate</string>
<string name="pref_self_update_summary">Verificar e installar si es disponibile un nove version stabile de Aurora Store</string>
<string name="pref_updates_check_frequency">Frequentia de actualisationes automatic</string>
<string name="notification_updates_available_desc_3"><xliff:g id="app_one_name">%1$s</xliff:g>, <xliff:g id="app_two_name">%2$s</xliff:g> e <xliff:g id="app_three_name">%3$s</xliff:g></string>
<string name="notification_updates_available"><xliff:g id="apps_count">%1$d</xliff:g> actualisationes disponibile</string>
@@ -222,7 +221,6 @@
<string name="toast_permission_granted">Permission concedite</string>
<string name="failed_apk_export">Falleva le exportation de APKs</string>
<string name="pref_updates_auto_notify">Verificar e notificar le actualisationes disponibile</string>
<string name="pref_self_update_title">Actualisationes automatic</string>
<string name="pref_install_profile_title">Profilos de installation (ezperimental)</string>
<string name="onboarding_title_accent">Accento</string>
<string name="toast_apk_whitelisted">In le lista blanc</string>
@@ -231,4 +229,4 @@
<string name="action_home_screen">Adder al schermo de initio</string>
<string name="pref_updates_incompatible">Actualisationes incompatibile</string>
<string name="pref_updates_auto_install">Verificar e installar actualisationes disponibile automaticamente</string>
</resources>
</resources>

View File

@@ -350,7 +350,6 @@
<string name="amazon_appstore_desc">Amazon Appstore adalah toko aplikasi untuk platform yang kompatibel dengan Android yang dioperasikan oleh Amazon.</string>
<string name="onboarding_permission_doze">Unduhan Latar Belakang</string>
<string name="toast_proxy_invalid">URL proksi invalid, periksa format!</string>
<string name="pref_self_update_title">Pembaruan-sendiri</string>
<string name="pref_aurora_only_desc">Hanya tampilkan aplikasi yang di install dari Aurora Store di Pembaruan dan Aplikasi yang terpasang</string>
<string name="device_doze_title">Pengoptimalan baterai terdeteksi!</string>
<string name="toast_proxy_success">Proksi berhasil disetel</string>
@@ -360,7 +359,6 @@
<string name="verifying_new_session">Memverifikasi sesi baru</string>
<string name="action_enabled">Diaktifkan</string>
<string name="onboarding_permission_doze_desc">Izinkan Aurora Store untuk mengunduh dan memperbarui aplikasi di latar belakang</string>
<string name="pref_self_update_summary">Periksa dan beritahu jika versi stabil baru Aurora Store tersedia</string>
<string name="title_app_settings">Pengaturan Aplikasi</string>
<string name="title_apps_sale_provider">Penyedia - bestappsales.com</string>
<string name="details_no_apps_on_sale">Tidak ada aplikasi yang dijual</string>
@@ -379,4 +377,4 @@
<string name="pref_updates_auto_off">Jangan auto-update aplikasi</string>
<string name="pref_updates_auto_notify">Cek &amp; beritau apabila update tersedia</string>
<string name="pref_updates_auto_install">Otomatis cek &amp; install update tersedia</string>
</resources>
</resources>

View File

@@ -365,10 +365,8 @@
<string name="pref_aurora_only">Esclusivamente app da Aurora Store</string>
<string name="onboarding_permission_doze">Trasferimenti in background</string>
<string name="toast_proxy_invalid">URL proxy non valido, controlla il formato!</string>
<string name="pref_self_update_title">Auto-aggiornamento</string>
<string name="pref_aurora_only_desc">Mostra solamente le app installate da Aurora Store nella pagine degli Aggiornamenti e delle App installate</string>
<string name="onboarding_permission_doze_desc">Consenti ad Aurora Store di scaricare e aggiornare le app in background</string>
<string name="pref_self_update_summary">Controlla se è disponibile una nuova versione stabile di Aurora Store e installala</string>
<string name="pref_network_proxy_enable_desc">Permetti a tutti i dati di quest\'applicazione di passare tramite proxy</string>
<string name="device_doze_description">Si prega di disabilitare le ottimizzazioni della batteria per consentire le operazioni di sfondo.</string>
<string name="pref_updates_auto">Aggiorna le app automaticamente</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible">Aggiornamenti incompatibili</string>
<string name="pref_updates_incompatible_desc">Mostra aggiornamenti per applicazioni incompatibili o disabilitate che potrebbero non installare</string>
<string name="action_home_screen">Aggiungi alla pagina principale</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="pref_updates_check_frequency">自動更新周期</string>
<string name="toast_proxy_failed">プロキシの設定に失敗しました</string>
<string name="pref_network_proxy_enable_desc">アプリからのすべてのトラフィックをプロキシに通す</string>
<string name="pref_self_update_title">自己アップデート</string>
<string name="pref_self_update_summary">Aurora Store の新しい安定版が利用可能かどうかを確認して通知します</string>
<string name="pref_updates_auto">アプリの自動更新</string>
<string name="onboarding_permission_doze">バックグラウンドダウンロード</string>
<string name="pref_updates_auto_desc">自動更新の動作を設定する</string>
@@ -383,4 +381,4 @@
<string name="failed_apk_export">APKのエクスポートに失敗しました</string>
<string name="pref_updates_incompatible">互換性のない更新</string>
<string name="pref_updates_incompatible_desc">インストールに失敗する可能性がある非互換、または無効化したアプリの更新を表示する</string>
</resources>
</resources>

View File

@@ -376,8 +376,6 @@
<string name="device_doze_title">Noteikta akumulatora optimizēšana.</string>
<string name="device_doze_subtitle">Aurora Store nevar lejupielādēt un uzstādīt vai atjaunināt lietotnes fonā akumulatora optimizēšanas dēļ.</string>
<string name="pref_updates_auto_desc">Konfigurēt automātisko atjauninājumu uzvedību</string>
<string name="pref_self_update_title">Pašatjaunināšanās</string>
<string name="pref_self_update_summary">Pārbaudīt un paziņot, ja ir pieejama jauna noturīgā Aurora Store versija</string>
<string name="device_doze_extra">Pēc izvēles var izvēlēties paturēt optimizēšanu iespējotu, bet tad nebūs iespējams gūt labumu no fona lejupielādēm un automātiskajiem atjauninājumiem, tā ka izvēle ir paša ziņā.</string>
<string name="pref_vending_version_device">Noklusējuma (no ierīces konfigurācijas)</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">ਪ੍ਰੌਕਸੀ ਸਫਲਤਾਪੂਰਵਕ ਸੈੱਟ ਕੀਤੀ ਗਈ</string>
<string name="toast_proxy_failed">ਪ੍ਰੌਕਸੀ ਸੈੱਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ</string>
<string name="pref_network_proxy_enable_desc">ਐਪ ਤੋਂ ਸਾਰੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਜਾਣ ਦਿਓ</string>
<string name="pref_self_update_title">ਸਵੈ-ਅੱਪਡੇਟਾਂ</string>
<string name="pref_self_update_summary">ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਔਰੋਰਾ ਸਟੋਰ ਦਾ ਨਵਾਂ ਸਥਿਰ ਸੰਸਕਰਣ ਉਪਲਬਧ ਹੈ ਅਤੇ ਇੰਸਟਾਲ ਕਰੋ</string>
<string name="pref_vending_version_device">ਪੂਰਵ-ਨਿਰਧਾਰਤ (ਡਿਵਾਈਸ ਸੰਰਚਨਾ ਤੋਂ)</string>
<string name="pref_vending_version_title">ਗੂਗਲ ਪਲੇ ਸੰਸਕਰਣ</string>
<string name="onboarding_permission_doze">ਬੈਕਗ੍ਰਾਊਂਡ ਡਾਊਨਲੋਡ</string>
@@ -385,4 +383,4 @@
<string name="download_clear_finished">ਮੁਕੰਮਲ ਹੋਏ ਸਾਫ਼ ਕਰੋ</string>
<string name="pref_updates_incompatible_desc">ਅਸੰਗਤ ਜਾਂ ਅਯੋਗ ਐਪਾਂ ਲਈ ਅੱਪਡੇਟ ਦਿਖਾਓ ਜੋ ਸਥਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋ ਸਕਦੀਆਂ ਹਨ</string>
<string name="action_home_screen">ਹੋਮ ਸਕ੍ਰੀਨ ਤੇ ਐਡ ਕਰੋ</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_failed">Nie udało się ustawić serwera proxy</string>
<string name="pref_network_proxy_enable_desc">Zezwól, aby cały ruch z aplikacji przechodził przez serwer proxy</string>
<string name="pref_aurora_only_desc">Pokaż tylko aplikacje zainstalowane przez Aurora Store w Aktualizacjach i Zainstalowanych aplikacjach</string>
<string name="pref_self_update_title">Samoaktualizacja</string>
<string name="pref_self_update_summary">Sprawdź i zainstaluj, gdy dostępna jest nowa stabilna wersja Aurora Store</string>
<string name="pref_vending_version_device">Domyślna (z konfiguracji urządzenia)</string>
<string name="pref_vending_version_title">Wersja Google Play</string>
<string name="onboarding_permission_doze">Pobieranie w tle</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible_desc">Pokaż aktualizacje dla niekompatybilnych lub wyłączonych aplikacji, których instalacja może się nie udać</string>
<string name="download_clear_finished">Czyszczenie zakończone</string>
<string name="action_home_screen">Dodaj do ekranu głównego</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">Proxy definido com sucesso</string>
<string name="toast_proxy_failed">Falha ao definir proxy</string>
<string name="pref_network_proxy_enable_desc">Permitir todo o tráfego do app passar pelo proxy</string>
<string name="pref_self_update_title">Auto-atualizações</string>
<string name="pref_self_update_summary">Checar e instalar se uma nova versão da Aurora Store estiver disponível</string>
<string name="pref_vending_version_device">Padrão (da configuração do dispositivo)</string>
<string name="pref_vending_version_title">Versão do Google Play</string>
<string name="onboarding_permission_doze">Downloads em Segundo Plano</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible_desc">Mostrar atualizações para apps incompatíveis ou desativados que podem não instalar</string>
<string name="download_clear_finished">Limpar finalizados</string>
<string name="action_home_screen">Adicionar à Tela inicial</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="pref_network_proxy_enable_desc">Permite que o tráfego da aplicação seja através de um proxy</string>
<string name="action_uninstall_confirmation">Deseja desinstalar esta aplicação\?</string>
<string name="pref_downloader_wifi_title">Descarregar apenas por Wi-fi</string>
<string name="pref_self_update_title">Atualização automática</string>
<string name="pref_self_update_summary">Verificar e notificar se existe uma nova versão de Aurora Store</string>
<string name="pref_vending_version_device">Padrão (configuração do dispositivo)</string>
<string name="pref_vending_version_title">Versão Google Play</string>
<string name="device_doze_description">Por favor, desative as otimizações de bateria para permitir operações em plano de fundo.</string>
@@ -381,4 +379,4 @@
<string name="pref_updates_auto_off">Não atualizar apps automaticamente</string>
<string name="action_request_analysis">Requisitar nova análise</string>
<string name="failed_apk_export">Falha ao exportar APK</string>
</resources>
</resources>

View File

@@ -349,14 +349,12 @@
<string name="app_links_desc">Permite magazinului Aurora să deschidă linkuri acceptate</string>
<string name="amazon_appstore_desc">Amazon Appstore este un magazin de aplicații pentru platforme compatibile cu Android operate de Amazon.</string>
<string name="toast_proxy_invalid">Adresa URL proxy nevalidă, verifică formatul!</string>
<string name="pref_self_update_title">Actualizări automate</string>
<string name="pref_aurora_only_desc">Afișează numai aplicațiile instalate Aurora Store în Actualizări și Aplicații instalate</string>
<string name="toast_proxy_success">Proxy setat cu succes</string>
<string name="app_links_title">Link-uri la aplicații</string>
<string name="google_play_store_desc">Google Play, cunoscut și ca Google Play Store și anterior Android Market.</string>
<string name="verifying_new_session">Se verifică noua sesiune</string>
<string name="action_enabled">Activat</string>
<string name="pref_self_update_summary">Verifică și instalează dacă este disponibilă o nouă versiune stabilă a Aurora Store</string>
<string name="title_app_settings">Setările aplicației</string>
<string name="title_apps_sale_provider">Furnizor - bestappsales.com</string>
<string name="details_no_apps_on_sale">Nu s-au găsit aplicații la reducere</string>
@@ -385,4 +383,4 @@
<string name="action_home_screen">Adaugă la ecranul de pornire</string>
<string name="pref_updates_incompatible">Actualizări incompatibile</string>
<string name="pref_updates_incompatible_desc">Afișează actualizări pentru aplicațiile incompatibile sau dezactivate care nu pot fi instalate</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="details_no_apps_on_sale">Приложений в продаже не найдено</string>
<string name="pref_downloader_path_title">Путь загрузки</string>
<string name="pref_network_proxy_enable_desc">Разрешить трафику приложения проходить через прокси</string>
<string name="pref_self_update_title">Самообновления</string>
<string name="pref_self_update_summary">Проверка и уведомление при появлении новой стабильной версии Aurora Store</string>
<string name="pref_vending_version_device">По умолчанию (с конфигурации устройства)</string>
<string name="pref_vending_version_title">Версия Google Play</string>
<string name="device_doze_description">Пожалуйста, отключите оптимизацию батареи, чтобы разрешить фоновые операции.</string>
@@ -384,4 +382,4 @@
<string name="download_clear_finished">Очистка завершена</string>
<string name="pref_updates_incompatible">Несовместимые обновления</string>
<string name="pref_updates_incompatible_desc">Показывать обновления для несовместимых или отключенных приложений, которые могут не установиться</string>
</resources>
</resources>

View File

@@ -400,8 +400,6 @@
<string name="toast_proxy_success">Прокси је успешно подешен</string>
<string name="toast_proxy_failed">Подешавање проксија није успело</string>
<string name="pref_network_proxy_enable_desc">Дозволите да сав саобраћај из апликације пролази кроз прокси</string>
<string name="pref_self_update_title">Само-ажурирања</string>
<string name="pref_self_update_summary">Проверава и обавештава ако је доступна нова стабилна верзија Aurora Store-а</string>
<string name="pref_vending_version_device">Подразумевано (из конфигурације уређаја)</string>
<string name="pref_vending_version_title">Верзија Google Play-а</string>
<string name="onboarding_permission_doze">Преузимања у позадини</string>
@@ -420,4 +418,4 @@
<string name="download_clear_finished">Очисти завршено</string>
<string name="pref_updates_incompatible">Некомпатибилна ажурирања</string>
<string name="pref_updates_incompatible_desc">Прикажите ажурирања за некомпатибилне или онемогућене апликације које можда неће бити успешно инсталиране</string>
</resources>
</resources>

View File

@@ -357,10 +357,8 @@
<string name="pref_aurora_only">Aurora Store appar endast</string>
<string name="pref_network_proxy_title">Proxy</string>
<string name="toast_proxy_invalid">Ogiltig proxy-URL, kontrollera format!</string>
<string name="pref_self_update_title">Själv-uppdateringar</string>
<string name="pref_aurora_only_desc">Visa endast Aurora Store-installerade appar i Uppdateringar och Installerade appar</string>
<string name="toast_proxy_success">Proxy har ställts in framgångsrikt</string>
<string name="pref_self_update_summary">Kontrollera och meddela om en ny stabil version av Aurora Store är tillgänglig</string>
<string name="title_app_settings">App inställningar</string>
<string name="pref_updates_check_frequency">Automatisk uppdateringsfrekvens</string>
<string name="toast_proxy_failed">Misslyckades att ställa in proxy</string>
@@ -383,4 +381,4 @@
<string name="failed_apk_export">Misslyckades med att exportera APKs</string>
<string name="download_clear_finished">Rensa slutförda</string>
<string name="pref_updates_incompatible">Inkompatibla uppdateringar</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">Vekil belirleme başarılı</string>
<string name="toast_proxy_failed">Vekil belirlenemedi</string>
<string name="pref_network_proxy_enable_desc">Uygulamadan tüm trafiğin vekilden gitmesini sağla</string>
<string name="pref_self_update_title">Otomatik güncellemeler</string>
<string name="pref_self_update_summary">Aurora Store\'un yeni bir kararlı sürümünün bulunup bulunmadığını denetle ve kur</string>
<string name="pref_vending_version_device">Varsayılan (cihaz yapılandırmasından)</string>
<string name="pref_vending_version_title">Google Play Sürümü</string>
<string name="onboarding_permission_doze">Arka Plan İndirmeleri</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible">Uyumsuz güncellemeler</string>
<string name="pref_updates_incompatible_desc">Kurulamayabilecek uyumsuz veya devre dışı uygulamalar için güncellemeleri göster</string>
<string name="action_home_screen">Ana ekrana ekle</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">Проксі успішно налаштовано</string>
<string name="toast_proxy_failed">Не вдалося налаштувати проксі</string>
<string name="pref_network_proxy_enable_desc">Дозволити всьому трафіку із застосунку проходити через проксі</string>
<string name="pref_self_update_title">Автооновлення</string>
<string name="pref_self_update_summary">Перевіряти та встановлювати, якщо доступна нова стабільна версія Aurora Store</string>
<string name="pref_vending_version_device">Типово (з конфігурації пристрою)</string>
<string name="pref_vending_version_title">Версія Google Play</string>
<string name="onboarding_permission_doze">Завантаження у фоні</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible">Несумісні оновлення</string>
<string name="pref_updates_incompatible_desc">Показувати оновлення для несумісних або вимкнених застосунків, які можуть не встановитися</string>
<string name="action_home_screen">Додати на домашній екран</string>
</resources>
</resources>

View File

@@ -364,8 +364,6 @@
<string name="toast_proxy_success">成功设置了代理</string>
<string name="toast_proxy_failed">设置代理失败</string>
<string name="pref_network_proxy_enable_desc">允许本应用所有流量经代理服务器发出</string>
<string name="pref_self_update_title">自更新</string>
<string name="pref_self_update_summary">检查是否存在新版 Aurora Store ,并在新版可用时进行安装</string>
<string name="pref_vending_version_device">默认(来自设备配置)</string>
<string name="pref_vending_version_title">Google Play 版本</string>
<string name="onboarding_permission_doze">后台下载</string>
@@ -385,4 +383,4 @@
<string name="pref_updates_incompatible">不兼容的更新</string>
<string name="pref_updates_incompatible_desc">显示不兼容或已停用应用的更新,可能安装失败</string>
<string name="action_home_screen">添加到主屏</string>
</resources>
</resources>

View File

@@ -404,7 +404,5 @@
<string name="device_doze_subtitle">Aurora Store can not install download or update apps in background due to battery optimizations.</string>
<string name="device_doze_description">Please, disable battery optimizations to allow background operations.</string>
<string name="device_doze_extra">Optionally you can choose to keep the optimizations enabled, but then you won\'t be able to take benefit of background downloads and automated updates, so choice is yours.</string>
<string name="pref_self_update_title">Self-updates</string>
<string name="pref_self_update_summary">Check and install if a new stable version of Aurora Store is available</string>
<string name="failed_apk_export">Failed to export APKs</string>
</resources>

View File

@@ -20,14 +20,6 @@
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<SwitchPreferenceCompat
app:defaultValue="false"
app:iconSpaceReserved="false"
app:key="PREFERENCE_SELF_UPDATE"
app:singleLineTitle="false"
app:summary="@string/pref_self_update_summary"
app:title="@string/pref_self_update_title" />
<SwitchPreferenceCompat
app:defaultValue="false"
app:iconSpaceReserved="false"

View File

@@ -1,7 +1,9 @@
{
"version_name": "4.4.2",
"version_code": 55,
"version_code": 56,
"aurora_build": "https://auroraoss.com/AuroraStore/Stable/AuroraStore-4.4.2.apk",
"fdroid_build": "",
"changelog": "Changelog : v4.4.2\n • Target Android 14\n • Improve the F-Droid package filter for updates\n • Translation updates & major bug fixes"
"changelog": "Changelog : v4.4.2\n • Target Android 14\n • Improve the F-Droid package filter for updates\n • Translation updates & major bug fixes",
"size": 6291456,
"updated_on": "Feb 23, 2024"
}