@@ -36,6 +36,7 @@ import org.wikipedia.databinding.FragmentMainBinding
3636import org.wikipedia.dataclient.WikiSite
3737import org.wikipedia.events.ImportReadingListsEvent
3838import org.wikipedia.events.LoggedOutInBackgroundEvent
39+ import org.wikipedia.extensions.serializableExtra
3940import org.wikipedia.feed.FeedFragment
4041import org.wikipedia.feed.image.FeaturedImage
4142import org.wikipedia.feed.image.FeaturedImageCard
@@ -296,16 +297,14 @@ class MainFragment : Fragment(), BackPressedHandler, MenuProvider, FeedFragment.
296297 startActivity(PageActivity .newIntent(requireActivity()))
297298 } else if (intent.hasExtra(Constants .INTENT_EXTRA_DELETE_READING_LIST )) {
298299 goToTab(NavTab .READING_LISTS )
299- } else if (intent.hasExtra(Constants .INTENT_EXTRA_GO_TO_MAIN_TAB ) &&
300- ! (binding.mainNavTabLayout.selectedItemId == NavTab .EXPLORE .code() &&
301- intent.getIntExtra(Constants .INTENT_EXTRA_GO_TO_MAIN_TAB , NavTab .EXPLORE .code()) == NavTab .EXPLORE .code())) {
302- goToTab(NavTab .of(intent.getIntExtra(Constants .INTENT_EXTRA_GO_TO_MAIN_TAB , NavTab .EXPLORE .code())))
303- } else if (intent.hasExtra(Constants .INTENT_EXTRA_GO_TO_SE_TAB )) {
304- goToTab(NavTab .of(intent.getIntExtra(Constants .INTENT_EXTRA_GO_TO_SE_TAB , NavTab .EDITS .code())))
305- } else if (intent.hasExtra(Constants .INTENT_EXTRA_PREVIEW_SAVED_READING_LISTS )) {
306- goToTab(NavTab .READING_LISTS )
307- } else if (lastPageViewedWithin(1 ) && ! intent.hasExtra(Constants .INTENT_RETURN_TO_MAIN ) && WikipediaApp .instance.tabCount > 0 ) {
308- startActivity(PageActivity .newIntent(requireContext()))
300+ } else {
301+ val tab = intent.serializableExtra<NavTab >(Constants .INTENT_EXTRA_GO_TO_MAIN_TAB )
302+ if (tab != null && (binding.mainNavTabLayout.selectedItemId != NavTab .EXPLORE .code()
303+ || tab != NavTab .EXPLORE )) {
304+ goToTab(tab)
305+ } else if (lastPageViewedWithin(1 ) && ! intent.hasExtra(Constants .INTENT_RETURN_TO_MAIN ) && WikipediaApp .instance.tabCount > 0 ) {
306+ startActivity(PageActivity .newIntent(requireContext()))
307+ }
309308 }
310309 }
311310
0 commit comments