diff --git a/app/src/main/java/org/y20k/trackbook/MainActivity.kt b/app/src/main/java/org/y20k/trackbook/MainActivity.kt index 5f32941..157c11e 100644 --- a/app/src/main/java/org/y20k/trackbook/MainActivity.kt +++ b/app/src/main/java/org/y20k/trackbook/MainActivity.kt @@ -89,6 +89,7 @@ class MainActivity : AppCompatActivity() { } + /* Overrides onDestroy from AppCompatActivity */ override fun onDestroy() { super.onDestroy() // unregister listener for changes in shared preferences diff --git a/app/src/main/java/org/y20k/trackbook/MapFragment.kt b/app/src/main/java/org/y20k/trackbook/MapFragment.kt index c15fa1e..bccb22a 100644 --- a/app/src/main/java/org/y20k/trackbook/MapFragment.kt +++ b/app/src/main/java/org/y20k/trackbook/MapFragment.kt @@ -60,6 +60,7 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener { private lateinit var currentBestLocation: Location private lateinit var layout: MapFragmentLayoutHolder private lateinit var trackerService: TrackerService + private lateinit var sharedPreferenceChangeListener2:SharedPreferences.OnSharedPreferenceChangeListener /* Overrides onCreate from Fragment */ @@ -249,6 +250,21 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener { */ + private fun createSharedPreferenceChangeListener(): SharedPreferences.OnSharedPreferenceChangeListener { + return SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key -> + when (key) { + Keys.PREF_TRACKING_STATE -> { + if (isAdded) { + trackingState = PreferencesHelper.loadTrackingState(activity as Context) + layout.updateRecordingButton(trackingState) + } + } + } + } + } + + + /* * Defines callbacks for service binding, passed to bindService() */ @@ -259,7 +275,8 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener { trackerService = binder.service bound = true // register listener for changes in shared preferences - PreferenceManager.getDefaultSharedPreferences(activity as Context).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) + sharedPreferenceChangeListener2 = createSharedPreferenceChangeListener() + PreferenceManager.getDefaultSharedPreferences(activity as Context).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener2) // start listening for location updates handler.removeCallbacks(periodicLocationRequestRunnable) handler.postDelayed(periodicLocationRequestRunnable, 0) @@ -267,7 +284,7 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener { override fun onServiceDisconnected(arg0: ComponentName) { bound = false // unregister listener for changes in shared preferences - PreferenceManager.getDefaultSharedPreferences(activity as Context).unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) + PreferenceManager.getDefaultSharedPreferences(activity as Context).unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener2) // stop receiving location updates handler.removeCallbacks(periodicLocationRequestRunnable) } diff --git a/app/src/main/java/org/y20k/trackbook/Trackbook.kt b/app/src/main/java/org/y20k/trackbook/Trackbook.kt index 08dd3f3..cc9615d 100644 --- a/app/src/main/java/org/y20k/trackbook/Trackbook.kt +++ b/app/src/main/java/org/y20k/trackbook/Trackbook.kt @@ -38,7 +38,7 @@ class Trackbook: Application() { override fun onCreate() { super.onCreate() LogHelper.v(TAG, "Trackbook application started.") - // set Day / Night theme state + // set Dark / Light theme state AppThemeHelper.setTheme(PreferencesHelper.loadThemeSelection(this)) } diff --git a/app/src/main/java/org/y20k/trackbook/helpers/AppThemeHelper.kt b/app/src/main/java/org/y20k/trackbook/helpers/AppThemeHelper.kt index 74a4787..9500951 100644 --- a/app/src/main/java/org/y20k/trackbook/helpers/AppThemeHelper.kt +++ b/app/src/main/java/org/y20k/trackbook/helpers/AppThemeHelper.kt @@ -1,7 +1,7 @@ /* * AppThemeHelper.kt * Implements the AppThemeHelper object - * A AppThemeHelper can set the differnt app themes: Light Mode, Dark Mode, Follow System + * A AppThemeHelper can set the different app themes: Light Mode, Dark Mode, Follow System * * This file is part of * TRACKBOOK - Movement Recorder for Android