2021-07-12 10:14:26 +02:00
|
|
|
package audio.funkwhale.ffa.adapters
|
2019-08-19 16:50:33 +02:00
|
|
|
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
import androidx.fragment.app.FragmentManager
|
|
|
|
import androidx.fragment.app.FragmentPagerAdapter
|
2021-07-12 10:14:26 +02:00
|
|
|
import audio.funkwhale.ffa.R
|
2021-09-09 09:56:15 +02:00
|
|
|
import audio.funkwhale.ffa.fragments.AlbumsGridFragment
|
|
|
|
import audio.funkwhale.ffa.fragments.ArtistsFragment
|
|
|
|
import audio.funkwhale.ffa.fragments.FavoritesFragment
|
|
|
|
import audio.funkwhale.ffa.fragments.PlaylistsFragment
|
|
|
|
import audio.funkwhale.ffa.fragments.RadiosFragment
|
|
|
|
|
|
|
|
class BrowseTabsAdapter(val context: Fragment, manager: FragmentManager) :
|
|
|
|
FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
|
2019-08-19 16:50:33 +02:00
|
|
|
var tabs = mutableListOf<Fragment>()
|
|
|
|
|
2020-06-11 10:56:31 +02:00
|
|
|
override fun getCount() = 5
|
2019-08-19 16:50:33 +02:00
|
|
|
|
|
|
|
override fun getItem(position: Int): Fragment {
|
|
|
|
tabs.getOrNull(position)?.let {
|
|
|
|
return it
|
|
|
|
}
|
|
|
|
|
2020-06-11 10:56:31 +02:00
|
|
|
val fragment = when (position) {
|
|
|
|
0 -> ArtistsFragment()
|
|
|
|
1 -> AlbumsGridFragment()
|
|
|
|
2 -> PlaylistsFragment()
|
|
|
|
3 -> RadiosFragment()
|
|
|
|
4 -> FavoritesFragment()
|
|
|
|
else -> ArtistsFragment()
|
|
|
|
}
|
2019-08-19 16:50:33 +02:00
|
|
|
|
|
|
|
tabs.add(position, fragment)
|
|
|
|
|
|
|
|
return fragment
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun getPageTitle(position: Int): String {
|
2020-06-11 10:56:31 +02:00
|
|
|
return when (position) {
|
|
|
|
0 -> context.getString(R.string.artists)
|
|
|
|
1 -> context.getString(R.string.albums)
|
|
|
|
2 -> context.getString(R.string.playlists)
|
|
|
|
3 -> context.getString(R.string.radios)
|
|
|
|
4 -> context.getString(R.string.favorites)
|
|
|
|
else -> ""
|
2019-08-19 16:50:33 +02:00
|
|
|
}
|
|
|
|
}
|
2021-07-02 13:55:49 +02:00
|
|
|
}
|