Ребят, нужен совет.
Имеется ViewPager с 2 экранами:
список заказов и карты
Если кликнуть по TabLayout на вторую вкладку, то должны открываться все заказы на карте.
Если кликнуть по заказу в списке заказов, то должен открываться этот заказ на карте. Это я сделал через ViewModel и переключением вкладки ViewPager
Так как у нас карта прогружается асинхронно, поэтому именно в нем осуществляется получение bundle, а затем подписка на ViewModel.
Если bundle не пустой, то прокидывается в viewModel этот заказ. Если bundle пуст, то прокидывается во viewModel, чтобы установить загрузку всех заказов
Проблемы:
1. Через раз вместо открытия одного заказа на карте, происходит прогруз всех заказов.
Почему это происходит:
mapNewTwoViewModel.setBundle(bundle)
viewPagerPageChangeListener?.changePage(1)
Я прокидывать в ViewModel, и переключаю вкладку.
Фрагмент картами грузится, срабатывает onMapReady в котором идет получение bundle (который пуст, так как фрагмент добавлен в adapter ViewPager), а следовательно он прокидывает во viewModel, что нужно загрузить все, что перебивает первую команду.
Можно решить, убрав загрузку всех заказов при bundle == null.
Но это приводит к следующей ошибке:
2. Так как мы убрали обработку bundle == null, чтобы загрузить все заказы на карте, то при клике на TabLayout на вкладку, то не отображается ни один заказ
Посоветуйте что - нибудь, чтобы устранить взаимозависящие ошибки