Fix header showing in the wrong places

This commit is contained in:
Phillip Thelen 2019-01-08 18:07:55 +01:00
parent 7e43b261b1
commit 873f6ab49d
12 changed files with 35 additions and 65 deletions

View file

@ -148,7 +148,7 @@ android {
buildConfigField "String", "STORE", "\"google\"" buildConfigField "String", "STORE", "\"google\""
multiDexEnabled true multiDexEnabled true
versionCode 2057 versionCode 2058
versionName "1.7" versionName "1.7"
} }

View file

@ -47,6 +47,7 @@ class AboutFragment : BaseMainFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
this.hidesToolbar = true
return inflater.inflate(R.layout.fragment_about, container, false) return inflater.inflate(R.layout.fragment_about, container, false)
} }

View file

@ -37,8 +37,8 @@ abstract class BaseMainFragment : BaseFragment() {
var bottomNavigation: BottomBar? = null var bottomNavigation: BottomBar? = null
var floatingMenuWrapper: ViewGroup? = null var floatingMenuWrapper: ViewGroup? = null
var usesTabLayout: Boolean = false var usesTabLayout: Boolean = false
var hidesToolbar: Boolean = false
var usesBottomNavigation = false var usesBottomNavigation = false
var fragmentSidebarIdentifier: String? = null
open var user: User? = null open var user: User? = null
open fun updateUserData(user: User?) { open fun updateUserData(user: User?) {
@ -79,6 +79,14 @@ abstract class BaseMainFragment : BaseFragment() {
updateTabLayoutVisibility() updateTabLayoutVisibility()
if (hidesToolbar) {
hideToolbar()
disableToolbarScrolling()
} else {
showToolbar()
enableToolbarScrolling()
}
return null return null
} }
@ -105,20 +113,20 @@ abstract class BaseMainFragment : BaseFragment() {
super.onSaveInstanceState(outState) super.onSaveInstanceState(outState)
} }
fun hideToolbar() { private fun hideToolbar() {
activity?.avatarWithBars?.visibility = View.GONE activity?.avatarWithBars?.visibility = View.GONE
} }
fun showToolbar() { private fun showToolbar() {
activity?.avatarWithBars?.visibility = View.VISIBLE activity?.avatarWithBars?.visibility = View.VISIBLE
} }
fun disableToolbarScrolling() { private fun disableToolbarScrolling() {
val params = collapsingToolbar?.layoutParams as? AppBarLayout.LayoutParams val params = collapsingToolbar?.layoutParams as? AppBarLayout.LayoutParams
params?.scrollFlags = 0 params?.scrollFlags = 0
} }
fun enableToolbarScrolling() { private fun enableToolbarScrolling() {
val params = collapsingToolbar?.layoutParams as? AppBarLayout.LayoutParams val params = collapsingToolbar?.layoutParams as? AppBarLayout.LayoutParams
params?.scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL or AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED params?.scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL or AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED
} }

View file

@ -16,10 +16,9 @@ import kotlinx.android.synthetic.main.fragment_news.*
class NewsFragment : BaseMainFragment() { class NewsFragment : BaseMainFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
this.hidesToolbar = true
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
val view = container?.inflate(R.layout.fragment_news) return container?.inflate(R.layout.fragment_news)
hideToolbar()
return view
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -36,11 +35,6 @@ class NewsFragment : BaseMainFragment() {
newsWebview.loadUrl("$address/static/new-stuff") newsWebview.loadUrl("$address/static/new-stuff")
} }
override fun onDestroyView() {
showToolbar()
super.onDestroyView()
}
override fun injectFragment(component: AppComponent) { override fun injectFragment(component: AppComponent) {
component.inject(this) component.inject(this)
} }

View file

@ -60,18 +60,12 @@ class StatsFragment: BaseMainFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
tutorialStepIdentifier = "stats" tutorialStepIdentifier = "stats"
tutorialText = getString(R.string.tutorial_stats) tutorialText = getString(R.string.tutorial_stats)
this.hidesToolbar = true
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
hideToolbar()
return container?.inflate(R.layout.fragment_stats) return container?.inflate(R.layout.fragment_stats)
} }
override fun onDestroyView() {
showToolbar()
super.onDestroyView()
}
override fun onDestroy() { override fun onDestroy() {
inventoryRepository.close() inventoryRepository.close()
super.onDestroy() super.onDestroy()

View file

@ -26,9 +26,8 @@ class ShopsFragment : BaseMainFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
this.usesTabLayout = true this.usesTabLayout = true
this.hidesToolbar = true
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
hideToolbar()
disableToolbarScrolling()
return inflater.inflate(R.layout.fragment_viewpager, container, false) return inflater.inflate(R.layout.fragment_viewpager, container, false)
} }
@ -42,12 +41,14 @@ class ShopsFragment : BaseMainFragment() {
override fun onDestroyView() { override fun onDestroyView() {
toolbarAccessoryContainer?.removeView(currencyView) toolbarAccessoryContainer?.removeView(currencyView)
showToolbar()
enableToolbarScrolling()
inventoryRepository.close()
super.onDestroyView() super.onDestroyView()
} }
override fun onDestroy() {
inventoryRepository.close()
super.onDestroy()
}
override fun injectFragment(component: AppComponent) { override fun injectFragment(component: AppComponent) {
component.inject(this) component.inject(this)
} }
@ -55,7 +56,7 @@ class ShopsFragment : BaseMainFragment() {
private fun setViewPagerAdapter() { private fun setViewPagerAdapter() {
val fragmentManager = childFragmentManager val fragmentManager = childFragmentManager
viewPager!!.adapter = object : FragmentPagerAdapter(fragmentManager) { viewPager?.adapter = object : FragmentPagerAdapter(fragmentManager) {
override fun getItem(position: Int): androidx.fragment.app.Fragment { override fun getItem(position: Int): androidx.fragment.app.Fragment {
@ -77,10 +78,10 @@ class ShopsFragment : BaseMainFragment() {
override fun getPageTitle(position: Int): CharSequence? { override fun getPageTitle(position: Int): CharSequence? {
return when (position) { return when (position) {
0 -> return context?.getString(R.string.market) 0 -> context?.getString(R.string.market)
1 -> return context?.getString(R.string.quests) 1 -> context?.getString(R.string.quests)
2 -> return context?.getString(R.string.seasonalShop) 2 -> context?.getString(R.string.seasonalShop)
3 -> return context?.getString(R.string.timeTravelers) 3 -> context?.getString(R.string.timeTravelers)
else -> "" else -> ""
} }
} }

View file

@ -44,18 +44,11 @@ class GuildFragment : BaseMainFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? { savedInstanceState: Bundle?): View? {
this.usesTabLayout = true this.usesTabLayout = true
this.hidesToolbar = true
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
hideToolbar()
disableToolbarScrolling()
return inflater.inflate(R.layout.fragment_viewpager, container, false) return inflater.inflate(R.layout.fragment_viewpager, container, false)
} }
override fun onDestroyView() {
showToolbar()
enableToolbarScrolling()
super.onDestroyView()
}
override fun onDestroy() { override fun onDestroy() {
socialRepository.close() socialRepository.close()
super.onDestroy() super.onDestroy()

View file

@ -38,9 +38,8 @@ class InboxFragment : BaseMainFragment(), androidx.swiperefreshlayout.widget.Swi
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? { savedInstanceState: Bundle?): View? {
this.hidesToolbar = true
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
hideToolbar()
disableToolbarScrolling()
compositeSubscription.add(this.socialRepository.markPrivateMessagesRead(user).subscribe(Consumer { }, RxErrorHandler.handleEmptyError())) compositeSubscription.add(this.socialRepository.markPrivateMessagesRead(user).subscribe(Consumer { }, RxErrorHandler.handleEmptyError()))

View file

@ -44,9 +44,8 @@ class InboxMessageListFragment : BaseMainFragment(), androidx.swiperefreshlayout
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? { savedInstanceState: Bundle?): View? {
this.hidesToolbar = true
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
hideToolbar()
disableToolbarScrolling()
return inflater.inflate(R.layout.fragment_inbox_message_list, container, false) return inflater.inflate(R.layout.fragment_inbox_message_list, container, false)
} }
@ -98,12 +97,6 @@ class InboxMessageListFragment : BaseMainFragment(), androidx.swiperefreshlayout
} }
} }
override fun onDestroyView() {
showToolbar()
enableToolbarScrolling()
super.onDestroyView()
}
override fun onDestroy() { override fun onDestroy() {
socialRepository.close() socialRepository.close()
super.onDestroy() super.onDestroy()

View file

@ -64,6 +64,7 @@ class QuestDetailFragment : BaseMainFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
this.hidesToolbar = true
return inflater.inflate(R.layout.fragment_quest_detail, container, false) return inflater.inflate(R.layout.fragment_quest_detail, container, false)
} }

View file

@ -27,9 +27,8 @@ class TavernFragment : BaseMainFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? { savedInstanceState: Bundle?): View? {
this.usesTabLayout = true this.usesTabLayout = true
this.hidesToolbar = true
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
hideToolbar()
disableToolbarScrolling()
val v = inflater.inflate(R.layout.fragment_viewpager, container, false) val v = inflater.inflate(R.layout.fragment_viewpager, container, false)
this.tutorialStepIdentifier = "tavern" this.tutorialStepIdentifier = "tavern"
this.tutorialText = getString(R.string.tutorial_tavern) this.tutorialText = getString(R.string.tutorial_tavern)
@ -43,12 +42,6 @@ class TavernFragment : BaseMainFragment() {
viewPager.currentItem = 0 viewPager.currentItem = 0
} }
override fun onDestroyView() {
showToolbar()
enableToolbarScrolling()
super.onDestroyView()
}
override fun onDestroy() { override fun onDestroy() {
socialRepository.close() socialRepository.close()
super.onDestroy() super.onDestroy()

View file

@ -42,9 +42,8 @@ class PartyFragment : BaseMainFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? { savedInstanceState: Bundle?): View? {
this.usesTabLayout = true this.usesTabLayout = true
this.hidesToolbar = true
super.onCreateView(inflater, container, savedInstanceState) super.onCreateView(inflater, container, savedInstanceState)
hideToolbar()
disableToolbarScrolling()
return inflater.inflate(R.layout.fragment_viewpager, container, false) return inflater.inflate(R.layout.fragment_viewpager, container, false)
} }
@ -79,12 +78,6 @@ class PartyFragment : BaseMainFragment() {
return user?.party?.id?.isNotEmpty() == true return user?.party?.id?.isNotEmpty() == true
} }
override fun onDestroyView() {
showToolbar()
enableToolbarScrolling()
super.onDestroyView()
}
override fun injectFragment(component: AppComponent) { override fun injectFragment(component: AppComponent) {
component.inject(this) component.inject(this)
} }