player stops in settings fixed

This commit is contained in:
Bnyro 2022-05-30 22:19:42 +02:00
parent 860beff11a
commit 828bdaf0fb

View File

@ -28,20 +28,20 @@ import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.google.android.material.color.DynamicColors import com.google.android.material.color.DynamicColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import org.json.JSONObject
import org.json.JSONTokener
import retrofit2.HttpException
import java.io.IOException import java.io.IOException
import java.io.InputStream import java.io.InputStream
import java.util.zip.ZipEntry import java.util.zip.ZipEntry
import java.util.zip.ZipInputStream import java.util.zip.ZipInputStream
import org.json.JSONObject
import org.json.JSONTokener
import retrofit2.HttpException
private var isCurrentViewMainSettings = true private var isCurrentViewMainSettings = true
private var requireMainActivityRestart = false
class SettingsActivity : class SettingsActivity :
AppCompatActivity(), AppCompatActivity(),
SharedPreferences.OnSharedPreferenceChangeListener { SharedPreferences.OnSharedPreferenceChangeListener {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
DynamicColors.applyToActivityIfAvailable(this) DynamicColors.applyToActivityIfAvailable(this)
updateAccentColor(this) updateAccentColor(this)
@ -243,11 +243,13 @@ class SettingsActivity :
themeToggle?.setOnPreferenceChangeListener { _, _ -> themeToggle?.setOnPreferenceChangeListener { _, _ ->
val refresh = Intent(context, SettingsActivity::class.java) val refresh = Intent(context, SettingsActivity::class.java)
startActivity(refresh) startActivity(refresh)
requireMainActivityRestart = true
true true
} }
val accentColor = findPreference<Preference>("accent_color") val accentColor = findPreference<Preference>("accent_color")
accentColor?.setOnPreferenceChangeListener { _, _ -> accentColor?.setOnPreferenceChangeListener { _, _ ->
requireMainActivityRestart = true
val refresh = Intent(context, SettingsActivity::class.java) val refresh = Intent(context, SettingsActivity::class.java)
startActivity(refresh) startActivity(refresh)
true true
@ -259,9 +261,9 @@ class SettingsActivity :
true true
} }
val changeLanguage = findPreference<ListPreference>("language") val gridColumns = findPreference<ListPreference>("grid")
changeLanguage?.setOnPreferenceChangeListener { _, _ -> gridColumns?.setOnPreferenceChangeListener { _, _ ->
restartMainActivity(requireContext()) requireMainActivityRestart = true
true true
} }
@ -384,7 +386,13 @@ class SettingsActivity :
if (isCurrentViewMainSettings) { if (isCurrentViewMainSettings) {
PreferenceManager.getDefaultSharedPreferences(this) PreferenceManager.getDefaultSharedPreferences(this)
.unregisterOnSharedPreferenceChangeListener(this) .unregisterOnSharedPreferenceChangeListener(this)
restartMainActivity(this) if (requireMainActivityRestart) {
restartMainActivity(this)
finishAffinity()
} else {
super.onBackPressed()
}
finishAndRemoveTask()
} else { } else {
isCurrentViewMainSettings = true isCurrentViewMainSettings = true
supportFragmentManager supportFragmentManager