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:
@@ -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="
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 ; c’est à 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 d’Aurora Store est disponible et l’installer</string>
|
||||
<string name="device_doze_subtitle">Aurora Store ne peut pas installer de téléchargements ou mettre à jour d’applications 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 l’installation peut échouer</string>
|
||||
<string name="action_home_screen">Ajouter à l’écran d’accueil</string>
|
||||
</resources>
|
||||
</resources>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 & beritau apabila update tersedia</string>
|
||||
<string name="pref_updates_auto_install">Otomatis cek & install update tersedia</string>
|
||||
</resources>
|
||||
</resources>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user