fix fragments cleanup on recreation
after back press if other MediaFragments where created via similar tab
This commit is contained in:
		| @ -129,8 +129,12 @@ class MediaFragment(private val mediaIdStr: String) : Fragment() { | ||||
|         val watchlistIcon = if (isWatchlist) R.drawable.ic_baseline_check_24 else R.drawable.ic_baseline_add_24 | ||||
|         Glide.with(requireContext()).load(watchlistIcon).into(binding.imageMyListAction) | ||||
|  | ||||
|         // clear fragments, since it lives in onCreate scope (don't do this in onPause/onStop -> FragmentManager transaction) | ||||
|         val fragmentsSize = if (fragments.lastIndex < 0) 0 else fragments.lastIndex | ||||
|         /** | ||||
|          * clear fragments, since it lives in onCreate scope, | ||||
|          * don't do this in onPause/onStop -> FragmentManager transaction | ||||
|          * (will be called on similar -> new MediaFragment -> onBackPressed) | ||||
|          */ | ||||
|         val fragmentsSize = fragments.size | ||||
|         fragments.clear() | ||||
|         pagerAdapter.notifyItemRangeRemoved(0, fragmentsSize) | ||||
|  | ||||
| @ -168,12 +172,12 @@ class MediaFragment(private val mediaIdStr: String) : Fragment() { | ||||
|         } | ||||
|  | ||||
|         // if has similar titles | ||||
| //        if (model.similarTo.total > 0) { | ||||
| //            MediaFragmentSimilar().also { | ||||
| //                fragments.add(it) | ||||
| //                pagerAdapter.notifyItemInserted(fragments.indexOf(it)) | ||||
| //            } | ||||
| //        } | ||||
|         if (model.similarTo.total > 0) { | ||||
|             MediaFragmentSimilar().also { | ||||
|                 fragments.add(it) | ||||
|                 pagerAdapter.notifyItemInserted(fragments.indexOf(it)) | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         // disable scrolling on appbar, if no tabs where added | ||||
|         if(fragments.isEmpty()) { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user