diff --git a/app/src/main/java/com/futo/platformplayer/activities/MainActivity.kt b/app/src/main/java/com/futo/platformplayer/activities/MainActivity.kt index de0519a7..ddebf5d8 100644 --- a/app/src/main/java/com/futo/platformplayer/activities/MainActivity.kt +++ b/app/src/main/java/com/futo/platformplayer/activities/MainActivity.kt @@ -211,7 +211,7 @@ class MainActivity : AppCompatActivity, IWithResultLauncher { //State private val _queue: LinkedList> = LinkedList(); - lateinit var fragCurrent: MainFragment private set; + var fragCurrent: MainFragment? = null; private set; private var _parameterCurrent: Any? = null; var fragBeforeOverlay: MainFragment? = null; private set; @@ -566,7 +566,7 @@ class MainActivity : AppCompatActivity, IWithResultLauncher { defaultTab.action(_fragBotBarMenu); StateSubscriptions.instance; - fragCurrent.onShown(null, false); + fragCurrent?.onShown(null, false); //Other stuff rootView.progress = 0f; @@ -1153,7 +1153,7 @@ class MainActivity : AppCompatActivity, IWithResultLauncher { if (_fragVideoDetail.state == VideoDetailFragment.State.MAXIMIZED && _fragVideoDetail.onBackPressed()) return; - if (!fragCurrent.onBackPressed()) + if (!(fragCurrent?.onBackPressed() ?: true)) closeSegment(); } @@ -1231,27 +1231,27 @@ class MainActivity : AppCompatActivity, IWithResultLauncher { return; } - fragCurrent.onHide(); + fragCurrent?.onHide(); if (segment.isMainView) { var transaction = supportFragmentManager.beginTransaction(); if (segment.topBar != null) { - if (segment.topBar != fragCurrent.topBar) { + if (segment.topBar != fragCurrent?.topBar) { transaction = transaction .show(segment.topBar as Fragment) .replace(R.id.fragment_top_bar, segment.topBar as Fragment); - fragCurrent.topBar?.onHide(); + fragCurrent?.topBar?.onHide(); } - } else if (fragCurrent.topBar != null) - transaction.hide(fragCurrent.topBar as Fragment); + } else if (fragCurrent?.topBar != null) + transaction.hide(fragCurrent?.topBar as Fragment); transaction = transaction.replace(R.id.fragment_main, segment); if (segment.hasBottomBar) { - if (!fragCurrent.hasBottomBar) + if (!(fragCurrent?.hasBottomBar ?: false)) transaction = transaction.show(_fragBotBarMenu); } else { - if (fragCurrent.hasBottomBar) + if (fragCurrent?.hasBottomBar ?: false) transaction = transaction.hide(_fragBotBarMenu); } transaction.commitNow(); @@ -1264,10 +1264,10 @@ class MainActivity : AppCompatActivity, IWithResultLauncher { } } - if (fragCurrent.isHistory && withHistory && _queue.lastOrNull() != fragCurrent) - _queue.add(Pair(fragCurrent, _parameterCurrent)); + if (fragCurrent?.isHistory ?: false && withHistory && _queue.lastOrNull() != fragCurrent) + _queue.add(Pair(fragCurrent!!, _parameterCurrent)); - if (segment.isOverlay && !fragCurrent.isOverlay && withHistory)// && fragCurrent.isHistory) + if (segment.isOverlay && !(fragCurrent?.isOverlay ?: false) && withHistory)// && fragCurrent.isHistory) fragBeforeOverlay = fragCurrent; fragCurrent = segment; @@ -1364,7 +1364,7 @@ class MainActivity : AppCompatActivity, IWithResultLauncher { private fun updateSegmentPaddings() { var paddingBottom = 0f; - if (fragCurrent.hasBottomBar) + if (fragCurrent?.hasBottomBar ?: false) paddingBottom += HEIGHT_MENU_DP; _fragContainerOverlay.setPadding( diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/MainActivityFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/MainActivityFragment.kt index c9b89d82..cb69978d 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/MainActivityFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/MainActivityFragment.kt @@ -6,7 +6,7 @@ import com.futo.platformplayer.activities.MainActivity import com.futo.platformplayer.fragment.mainactivity.main.MainFragment open class MainActivityFragment : Fragment() { - protected val currentMain : MainFragment + protected val currentMain : MainFragment? get() { isValidMainActivity(); return (activity as MainActivity).fragCurrent; diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/FeedView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/FeedView.kt index abf4ec7d..a85e5951 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/FeedView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/FeedView.kt @@ -484,7 +484,8 @@ abstract class FeedView : L recyclerData.resultsUnfiltered.addAll(toAdd); recyclerData.adapter.notifyDataSetChanged(); recyclerData.loadedFeedStyle = feedStyle; - ensureEnoughContentVisible(filteredResults) + if(pager.hasMorePages()) + ensureEnoughContentVisible(filteredResults) } private fun detachPagerEvents() { diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/HomeFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/HomeFragment.kt index 0b393a08..43d0dad3 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/HomeFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/HomeFragment.kt @@ -365,8 +365,10 @@ class HomeFragment : MainFragment() { finishRefreshLayoutLoader(); setLoading(false); setPager(pager); - if(pager.getResults().isEmpty() && !pager.hasMorePages()) + if(pager.getResults().isEmpty() && !pager.hasMorePages()) { + setLoading(false); setEmptyPager(true); + } } }