move showFragment to ActivityUtils
This commit is contained in:
parent
a740ccfee1
commit
c6874d0e54
|
@ -189,19 +189,6 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Show a fragment on top of the current fragment.
|
|
||||||
* The current fragment is replaced and the new one is added
|
|
||||||
* to the back stack.
|
|
||||||
*/
|
|
||||||
fun showFragment(fragment: Fragment) {
|
|
||||||
supportFragmentManager.commit {
|
|
||||||
replace(R.id.nav_host_fragment, fragment, fragment.javaClass.simpleName)
|
|
||||||
addToBackStack(fragment.javaClass.name)
|
|
||||||
show(fragment)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* start the player as new activity
|
* start the player as new activity
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -17,6 +17,7 @@ import org.mosad.teapod.preferences.EncryptedPreferences
|
||||||
import org.mosad.teapod.preferences.Preferences
|
import org.mosad.teapod.preferences.Preferences
|
||||||
import org.mosad.teapod.ui.components.LoginDialog
|
import org.mosad.teapod.ui.components.LoginDialog
|
||||||
import org.mosad.teapod.util.DataTypes.Theme
|
import org.mosad.teapod.util.DataTypes.Theme
|
||||||
|
import org.mosad.teapod.util.showFragment
|
||||||
|
|
||||||
class AccountFragment : Fragment() {
|
class AccountFragment : Fragment() {
|
||||||
|
|
||||||
|
@ -53,7 +54,7 @@ class AccountFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.linearInfo.setOnClickListener {
|
binding.linearInfo.setOnClickListener {
|
||||||
(activity as MainActivity).showFragment(AboutFragment())
|
activity?.showFragment(AboutFragment())
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.switchSecondary.setOnClickListener {
|
binding.switchSecondary.setOnClickListener {
|
||||||
|
|
|
@ -22,6 +22,7 @@ import org.mosad.teapod.util.ItemMedia
|
||||||
import org.mosad.teapod.util.StorageController
|
import org.mosad.teapod.util.StorageController
|
||||||
import org.mosad.teapod.util.adapter.MediaItemAdapter
|
import org.mosad.teapod.util.adapter.MediaItemAdapter
|
||||||
import org.mosad.teapod.util.decoration.MediaItemDecoration
|
import org.mosad.teapod.util.decoration.MediaItemDecoration
|
||||||
|
import org.mosad.teapod.util.showFragment
|
||||||
|
|
||||||
class HomeFragment : Fragment() {
|
class HomeFragment : Fragment() {
|
||||||
|
|
||||||
|
@ -79,9 +80,6 @@ class HomeFragment : Fragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
adapterMyList = MediaItemAdapter(myListMedia)
|
adapterMyList = MediaItemAdapter(myListMedia)
|
||||||
adapterMyList.onItemClick = { mediaId, _ ->
|
|
||||||
(activity as MainActivity).showFragment(MediaFragment(mediaId))
|
|
||||||
}
|
|
||||||
binding.recyclerMyList.adapter = adapterMyList
|
binding.recyclerMyList.adapter = adapterMyList
|
||||||
|
|
||||||
// new episodes
|
// new episodes
|
||||||
|
@ -122,19 +120,23 @@ class HomeFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.textHighlightInfo.setOnClickListener {
|
binding.textHighlightInfo.setOnClickListener {
|
||||||
(activity as MainActivity).showFragment(MediaFragment(highlightMedia.id))
|
activity?.showFragment(MediaFragment(highlightMedia.id))
|
||||||
|
}
|
||||||
|
|
||||||
|
adapterMyList.onItemClick = { mediaId, _ ->
|
||||||
|
activity?.showFragment(MediaFragment(mediaId))
|
||||||
}
|
}
|
||||||
|
|
||||||
adapterNewEpisodes.onItemClick = { mediaId, _ ->
|
adapterNewEpisodes.onItemClick = { mediaId, _ ->
|
||||||
(activity as MainActivity).showFragment(MediaFragment(mediaId))
|
activity?.showFragment(MediaFragment(mediaId))
|
||||||
}
|
}
|
||||||
|
|
||||||
adapterNewSimulcasts.onItemClick = { mediaId, _ ->
|
adapterNewSimulcasts.onItemClick = { mediaId, _ ->
|
||||||
(activity as MainActivity).showFragment(MediaFragment(mediaId))
|
activity?.showFragment(MediaFragment(mediaId))
|
||||||
}
|
}
|
||||||
|
|
||||||
adapterNewTitles.onItemClick = { mediaId, _ ->
|
adapterNewTitles.onItemClick = { mediaId, _ ->
|
||||||
(activity as MainActivity).showFragment(MediaFragment(mediaId))
|
activity?.showFragment(MediaFragment(mediaId))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ import org.mosad.teapod.databinding.FragmentLibraryBinding
|
||||||
import org.mosad.teapod.parser.AoDParser
|
import org.mosad.teapod.parser.AoDParser
|
||||||
import org.mosad.teapod.util.adapter.MediaItemAdapter
|
import org.mosad.teapod.util.adapter.MediaItemAdapter
|
||||||
import org.mosad.teapod.util.decoration.MediaItemDecoration
|
import org.mosad.teapod.util.decoration.MediaItemDecoration
|
||||||
|
import org.mosad.teapod.util.showFragment
|
||||||
|
|
||||||
class LibraryFragment : Fragment() {
|
class LibraryFragment : Fragment() {
|
||||||
|
|
||||||
|
@ -35,7 +36,7 @@ class LibraryFragment : Fragment() {
|
||||||
context?.let {
|
context?.let {
|
||||||
adapter = MediaItemAdapter(AoDParser.itemMediaList)
|
adapter = MediaItemAdapter(AoDParser.itemMediaList)
|
||||||
adapter.onItemClick = { mediaId, _ ->
|
adapter.onItemClick = { mediaId, _ ->
|
||||||
(activity as MainActivity).showFragment(MediaFragment(mediaId))
|
activity?.showFragment(MediaFragment(mediaId))
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.recyclerMediaLibrary.adapter = adapter
|
binding.recyclerMediaLibrary.adapter = adapter
|
||||||
|
|
|
@ -12,6 +12,7 @@ import org.mosad.teapod.databinding.FragmentSearchBinding
|
||||||
import org.mosad.teapod.parser.AoDParser
|
import org.mosad.teapod.parser.AoDParser
|
||||||
import org.mosad.teapod.util.decoration.MediaItemDecoration
|
import org.mosad.teapod.util.decoration.MediaItemDecoration
|
||||||
import org.mosad.teapod.util.adapter.MediaItemAdapter
|
import org.mosad.teapod.util.adapter.MediaItemAdapter
|
||||||
|
import org.mosad.teapod.util.showFragment
|
||||||
|
|
||||||
class SearchFragment : Fragment() {
|
class SearchFragment : Fragment() {
|
||||||
|
|
||||||
|
@ -33,7 +34,7 @@ class SearchFragment : Fragment() {
|
||||||
adapter = MediaItemAdapter(AoDParser.itemMediaList)
|
adapter = MediaItemAdapter(AoDParser.itemMediaList)
|
||||||
adapter!!.onItemClick = { mediaId, _ ->
|
adapter!!.onItemClick = { mediaId, _ ->
|
||||||
binding.searchText.clearFocus()
|
binding.searchText.clearFocus()
|
||||||
(activity as MainActivity).showFragment(MediaFragment(mediaId))
|
activity?.showFragment(MediaFragment(mediaId))
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.recyclerMediaSearch.adapter = adapter
|
binding.recyclerMediaSearch.adapter = adapter
|
||||||
|
|
|
@ -26,9 +26,7 @@ class OnboardingActivity : AppCompatActivity() {
|
||||||
|
|
||||||
pagerAdapter = ScreenSlidePagerAdapter(this)
|
pagerAdapter = ScreenSlidePagerAdapter(this)
|
||||||
binding.viewPager.adapter = pagerAdapter
|
binding.viewPager.adapter = pagerAdapter
|
||||||
TabLayoutMediator(binding.tabLayout, binding.viewPager) { tab, position ->
|
TabLayoutMediator(binding.tabLayout, binding.viewPager) { _, _ -> }.attach()
|
||||||
|
|
||||||
}.attach()
|
|
||||||
|
|
||||||
// we don't use the skip button, instead we use the start button to skip the last fragment
|
// we don't use the skip button, instead we use the start button to skip the last fragment
|
||||||
binding.buttonSkip.visibility = View.GONE
|
binding.buttonSkip.visibility = View.GONE
|
||||||
|
|
|
@ -8,6 +8,25 @@ import android.os.Build
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.WindowInsets
|
import android.view.WindowInsets
|
||||||
import android.view.WindowInsetsController
|
import android.view.WindowInsetsController
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.core.app.ActivityCompat
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.fragment.app.FragmentActivity
|
||||||
|
import androidx.fragment.app.commit
|
||||||
|
import org.mosad.teapod.R
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show a fragment on top of the current fragment.
|
||||||
|
* The current fragment is replaced and the new one is added
|
||||||
|
* to the back stack.
|
||||||
|
*/
|
||||||
|
fun FragmentActivity.showFragment(fragment: Fragment) {
|
||||||
|
supportFragmentManager.commit {
|
||||||
|
replace(R.id.nav_host_fragment, fragment, fragment.javaClass.simpleName)
|
||||||
|
addToBackStack(fragment.javaClass.name)
|
||||||
|
show(fragment)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hide the status and navigation bar
|
* hide the status and navigation bar
|
||||||
|
|
Loading…
Reference in New Issue