Skip to content
Snippets Groups Projects
Commit 01736088 authored by Taras's avatar Taras
Browse files

Observe photos enabled on settings screen

parent 760e37a3
No related branches found
No related tags found
No related merge requests found
......@@ -11,7 +11,7 @@ class PreferencesProvider @Inject constructor(
@ApplicationContext private val context: Context
) {
private fun getSharedPreferences() =
fun getSharedPreferences() =
context.getSharedPreferences(PREFERENCES_NAME, MODE_PRIVATE)
fun setDeveloperMode(isEnabled: Boolean) {
......@@ -113,6 +113,6 @@ class PreferencesProvider @Inject constructor(
private const val SHOULD_SHOW_GROUPS_EXPLANATION = "should_show_groups_explanation"
private const val WHATS_NEW_SHOWED_FOR = "whats_new_showed_for"
private const val NOT_RESTORED_SESSION = "not_restored_session"
private const val PHOTO_GALLERY_KEY = "photo_gallery_enabled"
const val PHOTO_GALLERY_KEY = "photo_gallery_enabled"
}
}
\ No newline at end of file
package org.futo.circles.settings.feature.settings
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
import android.os.Bundle
import android.view.View
import androidx.fragment.app.viewModels
......@@ -37,6 +38,10 @@ class SettingsFragment :
private val loadingDialog by lazy { LoadingDialog(requireContext()) }
private val navigator by lazy { SettingsNavigator(this) }
private val preferencesProvider by lazy { PreferencesProvider(requireContext()) }
private val photosEnabledSharedPrefListener = OnSharedPreferenceChangeListener { _, key ->
if (key == PreferencesProvider.PHOTO_GALLERY_KEY)
binding.tvPhotos.setIsVisible(preferencesProvider.isPhotoGalleryEnabled())
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
......@@ -47,7 +52,6 @@ class SettingsFragment :
override fun onResume() {
super.onResume()
viewModel.updateMediaUsageInfo()
binding.tvPhotos.setIsVisible(preferencesProvider.isPhotoGalleryEnabled())
}
private fun setupViews() {
......@@ -124,6 +128,8 @@ class SettingsFragment :
viewModel.mediaUsageInfoLiveData.observeResponse(this,
error = { bindMediaUsageProgress(null) },
success = { bindMediaUsageProgress(it) })
preferencesProvider.getSharedPreferences()
.registerOnSharedPreferenceChangeListener(photosEnabledSharedPrefListener)
}
private fun bindMediaUsageProgress(mediaUsage: MediaUsageInfo?) {
......@@ -155,8 +161,13 @@ class SettingsFragment :
)
}
override fun onReAuthCanceled() {
loadingDialog.dismiss()
}
override fun onDestroy() {
super.onDestroy()
preferencesProvider.getSharedPreferences()
.unregisterOnSharedPreferenceChangeListener(photosEnabledSharedPrefListener)
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment