Skip to content

Commit

Permalink
update: AppearanceSettingsFragment.kt
Browse files Browse the repository at this point in the history
Implement the interface and the functions to handle image select and image remove functionalities
  • Loading branch information
oyeraghib committed Apr 4, 2024
1 parent f8e8770 commit 3e93f01
Showing 1 changed file with 17 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog
import androidx.core.app.ActivityCompat
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.SwitchPreferenceCompat
import anki.config.ConfigKey
import com.ichi2.anki.CollectionManager
Expand All @@ -41,24 +40,17 @@ import com.ichi2.utils.show
import com.ichi2.utils.title
import timber.log.Timber

class AppearanceSettingsFragment : SettingsFragment() {
private var backgroundImage: Preference? = null
class AppearanceSettingsFragment : SettingsFragment(), PreferenceSelectBackgroundImageListener {
override val preferenceResource: Int
get() = R.xml.preferences_appearance
override val analyticsScreenNameConstant: String
get() = "prefs.appearance"
private lateinit var preferenceSelectBackgroundImage: PreferenceSelectBackgroundImage

override fun initSubscreen() {
// Configure background
backgroundImage = requirePreference<Preference>("deckPickerBackground")
backgroundImage!!.onPreferenceClickListener = Preference.OnPreferenceClickListener {
try {
backgroundImageResultLauncher.launch("image/*")
} catch (ex: Exception) {
Timber.w(ex)
}
true
}
// Configure background preference listener
preferenceSelectBackgroundImage = findPreference("deckPickerBackground")!!
preferenceSelectBackgroundImage.preferenceSelectBackgroundImageListener(this)

val appThemePref = requirePreference<ListPreference>(R.string.app_theme_key)
val dayThemePref = requirePreference<ListPreference>(R.string.day_theme_key)
Expand Down Expand Up @@ -144,6 +136,18 @@ class AppearanceSettingsFragment : SettingsFragment() {
}
}

override fun onImageSelectClicked() {
try {
backgroundImageResultLauncher.launch("image/*")
} catch (ex: Exception) {
Timber.w(ex)
}
}

override fun onImageRemoveClicked() {
showRemoveBackgroundImageDialog()
}

private fun showRemoveBackgroundImageDialog() {
AlertDialog.Builder(requireContext()).show {
title(R.string.remove_background_image)
Expand Down

0 comments on commit 3e93f01

Please sign in to comment.