diff --git a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt index ea2a7aa4b..a30e492d4 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt @@ -363,6 +363,11 @@ class ChannelFragment : ScreenFragment("Channel"), Logging { } } + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + private fun getModemPreset(selectedChannelOptionString: String): ConfigProtos.Config.LoRaConfig.ModemPreset { for (item in ChannelOption.values()) { if (getString(item.configRes) == selectedChannelOptionString) diff --git a/app/src/main/java/com/geeksville/mesh/ui/ContactsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/ContactsFragment.kt index 35bdd7b3c..749fc0e1f 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/ContactsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/ContactsFragment.kt @@ -222,6 +222,13 @@ class ContactsFragment : ScreenFragment("Messages"), Logging { } } + override fun onDestroyView() { + super.onDestroyView() + actionMode?.finish() + actionMode = null + _binding = null + } + private inner class ActionModeCallback : ActionMode.Callback { override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean { mode.menuInflater.inflate(R.menu.menu_messages, menu) diff --git a/app/src/main/java/com/geeksville/mesh/ui/DebugFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/DebugFragment.kt index 529e6e010..fa63b4fab 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/DebugFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/DebugFragment.kt @@ -51,4 +51,9 @@ class DebugFragment : Fragment() { logs?.let { adapter.setLogs(it) } } } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } } \ No newline at end of file diff --git a/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt index 787cd23ae..533086621 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt @@ -320,6 +320,13 @@ class MessagesFragment : Fragment(), Logging { } } + override fun onDestroyView() { + super.onDestroyView() + actionMode?.finish() + actionMode = null + _binding = null + } + private inner class ActionModeCallback : ActionMode.Callback { override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean { mode.menuInflater.inflate(R.menu.menu_messages, menu) diff --git a/app/src/main/java/com/geeksville/mesh/ui/QuickChatSettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/QuickChatSettingsFragment.kt index 364d400c4..a2f43a556 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/QuickChatSettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/QuickChatSettingsFragment.kt @@ -109,6 +109,11 @@ class QuickChatSettingsFragment : ScreenFragment("Quick Chat Settings"), Logging } } + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + data class DialogBuilder( val builder: MaterialAlertDialogBuilder, val nameInput: EditText, diff --git a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt index 32d6731b8..df9ad5e9f 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt @@ -618,6 +618,12 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { if (binding.provideLocationCheckbox.isChecked) checkLocationEnabled(getString(R.string.location_disabled)) } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + companion object { const val SCAN_PERIOD: Long = 10000 // Stops scanning after 10 seconds } diff --git a/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt index dbe3af559..a7a255aab 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt @@ -318,4 +318,9 @@ class UsersFragment : ScreenFragment("Users"), Logging { nodesAdapter.onNodesChanged(it.values.toTypedArray()) } } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } }