From 5bc110479b3be6519f2ca6bf72cae8df2ebbcb23 Mon Sep 17 00:00:00 2001 From: Gaurav Ujjwal Date: Wed, 19 Jan 2022 21:10:20 +0530 Subject: [PATCH] Initialize LivePref lazily It avoids unnecessary observer registrations. --- .../main/java/com/gaurav/avnc/util/AppPreferences.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/gaurav/avnc/util/AppPreferences.kt b/app/src/main/java/com/gaurav/avnc/util/AppPreferences.kt index c118d61..5f0bd7a 100644 --- a/app/src/main/java/com/gaurav/avnc/util/AppPreferences.kt +++ b/app/src/main/java/com/gaurav/avnc/util/AppPreferences.kt @@ -104,9 +104,14 @@ class AppPreferences(context: Context) { updateValue() } - init { - updateValue() //Initial load - prefs.registerOnSharedPreferenceChangeListener(prefChangeListener) + private var initialized = false + + override fun onActive() { + if (!initialized) { + initialized = true + updateValue() + prefs.registerOnSharedPreferenceChangeListener(prefChangeListener) + } } private fun updateValue() {