From 56b1d6d9656f520b18bac62d2adc55b6a7c04ff2 Mon Sep 17 00:00:00 2001 From: andrekir Date: Thu, 23 Mar 2023 12:28:44 -0300 Subject: [PATCH] fix: revert TabInfo refactor reverts https://github.com/meshtastic/Meshtastic-Android/commit/b765ac4453715755400587a527d6054b6c8ee1e7 (causing: Fatal Exception: java.lang.IllegalStateException: onAttach called multiple times with different Context! Hilt Fragments should not be retained). --- .../java/com/geeksville/mesh/MainActivity.kt | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/MainActivity.kt b/app/src/main/java/com/geeksville/mesh/MainActivity.kt index 131d6a6f..b890ab23 100644 --- a/app/src/main/java/com/geeksville/mesh/MainActivity.kt +++ b/app/src/main/java/com/geeksville/mesh/MainActivity.kt @@ -131,15 +131,35 @@ class MainActivity : AppCompatActivity(), Logging { bluetoothViewModel.permissionsUpdated() } - enum class TabInfo(val icon: Int, val content: Fragment) { - Messages(R.drawable.ic_twotone_message_24, ContactsFragment()), - Users(R.drawable.ic_twotone_people_24, UsersFragment()), - Map(R.drawable.ic_twotone_map_24, MapFragment()), - Channels(R.drawable.ic_twotone_contactless_24, ChannelFragment()), - Settings(R.drawable.ic_twotone_settings_applications_24, SettingsFragment()) - } + data class TabInfo(val text: String, val icon: Int, val content: Fragment) - private val tabInfos = TabInfo.values() + private val tabInfos = arrayOf( + TabInfo( + "Messages", + R.drawable.ic_twotone_message_24, + ContactsFragment() + ), + TabInfo( + "Users", + R.drawable.ic_twotone_people_24, + UsersFragment() + ), + TabInfo( + "Map", + R.drawable.ic_twotone_map_24, + MapFragment() + ), + TabInfo( + "Channel", + R.drawable.ic_twotone_contactless_24, + ChannelFragment() + ), + TabInfo( + "Settings", + R.drawable.ic_twotone_settings_applications_24, + SettingsFragment() + ) + ) private val tabsAdapter = object : FragmentStateAdapter(supportFragmentManager, lifecycle) {