From 679e6d040ec2625dbcd6cb58646a592486a6c3e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20=C3=87erri?= <64997243+deniscerri@users.noreply.github.com> Date: Sat, 11 Mar 2023 22:39:49 +0100 Subject: [PATCH] added restart dialog when workmanager concurrent downloads preference is updated --- .../ui/more/settings/SettingsFragment.kt | 25 +++++++++++++++---- app/src/main/res/values/strings.xml | 2 ++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/more/settings/SettingsFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/more/settings/SettingsFragment.kt index a69ca73f..2596de2e 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/more/settings/SettingsFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/more/settings/SettingsFragment.kt @@ -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 = diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b19c2e85..c10017f0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -217,4 +217,6 @@ Items Imported Help Translate Translate this app on your language using Weblate + You need to restart the app and have no active downloads for this preference to take effect! + Restart \ No newline at end of file