added restart dialog when workmanager concurrent downloads preference is updated

This commit is contained in:
Denis Çerri 2023-03-11 22:39:49 +01:00
parent ba10376835
commit 679e6d040e
No known key found for this signature in database
GPG key ID: 95C43D517D830350
2 changed files with 22 additions and 5 deletions

View file

@ -1,17 +1,14 @@
package com.deniscerri.ytdlnis.ui.more.settings
import android.app.Activity
import android.content.ClipboardManager
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Environment
import android.provider.Settings
import android.util.Log
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.os.LocaleListCompat
import androidx.preference.*
@ -19,8 +16,7 @@ import com.deniscerri.ytdlnis.BuildConfig
import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.util.FileUtil
import com.deniscerri.ytdlnis.util.UpdateUtil
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import kotlinx.serialization.json.*
import java.util.*
@ -254,6 +250,25 @@ class SettingsFragment : PreferenceFragmentCompat() {
val value = newValue.toString().toInt()
editor.putInt("concurrent_downloads", value)
editor.apply()
MaterialAlertDialogBuilder(requireContext())
.setTitle(resources.getString(R.string.warning))
.setMessage(resources.getString(R.string.workmanager_updated))
.setNegativeButton(resources.getString(R.string.cancel)) { dialog, which ->
dialog.cancel()
}
.setPositiveButton(resources.getString(R.string.restart)) { dialog, which ->
val i: Intent =
requireContext().packageManager.getLaunchIntentForPackage(
requireContext().packageName
)!!
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(i)
requireActivity().finish()
dialog.cancel()
}
.show()
true
}
limitRate!!.onPreferenceChangeListener =

View file

@ -217,4 +217,6 @@
<string name="items_imported">Items Imported</string>
<string name="help_translate">Help Translate</string>
<string name="help_translate_summary">Translate this app on your language using Weblate</string>
<string name="workmanager_updated">You need to restart the app and have no active downloads for this preference to take effect!</string>
<string name="restart">Restart</string>
</resources>