Skip to content

Commit 55975dc

Browse files
committed
register and unregister shared preference change listener in MainActivity
1 parent d70b542 commit 55975dc

3 files changed

Lines changed: 15 additions & 1 deletion

File tree

app/src/main/kotlin/com/vrem/wifianalyzer/MainActivity.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ class MainActivity :
6565
installSplashScreen()
6666
setContentView(R.layout.main_activity)
6767

68-
settings.registerOnSharedPreferenceChangeListener(this)
6968
optionMenu = OptionMenu()
7069

7170
keepScreenOn()
@@ -80,9 +79,16 @@ class MainActivity :
8079

8180
connectionView = ConnectionView(this)
8281

82+
settings.registerOnSharedPreferenceChangeListener(this)
83+
8384
onBackPressedDispatcher.addCallback(this, MainActivityBackPressed(this))
8485
}
8586

87+
override fun onDestroy() {
88+
MainContext.INSTANCE.settings.unregisterOnSharedPreferenceChangeListener(this)
89+
super.onDestroy()
90+
}
91+
8692
public override fun onPostCreate(savedInstanceState: Bundle?) {
8793
super.onPostCreate(savedInstanceState)
8894
drawerNavigation.syncState()

app/src/main/kotlin/com/vrem/wifianalyzer/settings/Repository.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ class Repository(
3333
onSharedPreferenceChangeListener: OnSharedPreferenceChangeListener,
3434
): Unit = sharedPreferences().registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener)
3535

36+
fun unregisterOnSharedPreferenceChangeListener(
37+
onSharedPreferenceChangeListener: OnSharedPreferenceChangeListener,
38+
): Unit = sharedPreferences().unregisterOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener)
39+
3640
fun save(
3741
key: Int,
3842
value: Int,

app/src/main/kotlin/com/vrem/wifianalyzer/settings/Settings.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ class Settings(
5151
onSharedPreferenceChangeListener: OnSharedPreferenceChangeListener,
5252
): Unit = repository.registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener)
5353

54+
fun unregisterOnSharedPreferenceChangeListener(
55+
onSharedPreferenceChangeListener: OnSharedPreferenceChangeListener,
56+
): Unit = repository.unregisterOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener)
57+
5458
fun scanSpeed(): Int =
5559
repository.stringAsInteger(
5660
R.string.scan_speed_key,

0 commit comments

Comments
 (0)