From 7666ba271b94533d2d9082669cdb8319f79fca62 Mon Sep 17 00:00:00 2001 From: casey langen Date: Sun, 10 Feb 2019 12:56:54 -0800 Subject: [PATCH] Use BrowseActivity by default from MainActivity --- .../service/playback/impl/remote/Metadata.kt | 1 + .../ui/browse/activity/BrowseActivity.kt | 2 ++ .../browse/adapter/BrowseFragmentAdapter.kt | 17 +++++++++---- .../remote/ui/home/activity/MainActivity.kt | 24 +++++++------------ 4 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/service/playback/impl/remote/Metadata.kt b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/service/playback/impl/remote/Metadata.kt index ec503c12b..441956a9d 100644 --- a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/service/playback/impl/remote/Metadata.kt +++ b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/service/playback/impl/remote/Metadata.kt @@ -34,6 +34,7 @@ object Metadata { const val ARTIST = "artist" const val ALBUM_ARTIST = "album_artist" const val GENRE = "genre" + const val TRACKS = "track" const val PLAYLISTS = "playlists" } diff --git a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/browse/activity/BrowseActivity.kt b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/browse/activity/BrowseActivity.kt index 25e1ac436..80b773250 100644 --- a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/browse/activity/BrowseActivity.kt +++ b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/browse/activity/BrowseActivity.kt @@ -32,6 +32,8 @@ class BrowseActivity: BaseActivity(), IFilterable { tabs.setupWithViewPager(pager) pager.adapter = adapter + pager.currentItem = adapter.indexOf(extras.getString(EXTRA_INITIAL_CATEGORY_TYPE)) + when (savedInstanceState == null) { true -> createFragments() else -> restoreFragments() diff --git a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/browse/adapter/BrowseFragmentAdapter.kt b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/browse/adapter/BrowseFragmentAdapter.kt index eb8947a6c..84e501548 100644 --- a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/browse/adapter/BrowseFragmentAdapter.kt +++ b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/browse/adapter/BrowseFragmentAdapter.kt @@ -30,11 +30,20 @@ class BrowseFragmentAdapter(private val context: Context, fm: FragmentManager): (it.value as? ITransportObserver)?.onTransportChanged() } + fun indexOf(category: String?): Int = + when (category) { + Metadata.Category.ALBUM_ARTIST -> 0 + Metadata.Category.ALBUM -> 1 + Metadata.Category.TRACKS -> 2 + Metadata.Category.PLAYLISTS -> 3 + else -> 0 + } + override fun getItem(index: Int): Fragment = when (index) { - 0 -> AlbumBrowseFragment.create() - 1 -> CategoryBrowseFragment.create( + 0 -> CategoryBrowseFragment.create( CategoryBrowseFragment.arguments(context, Metadata.Category.ALBUM_ARTIST)) + 1 -> AlbumBrowseFragment.create() 2 -> TrackListFragment.create() else -> CategoryBrowseFragment.create( CategoryBrowseFragment.arguments(Metadata.Category.PLAYLISTS, NavigationType.Tracks)) @@ -42,8 +51,8 @@ class BrowseFragmentAdapter(private val context: Context, fm: FragmentManager): override fun getPageTitle(position: Int): CharSequence? = context.getString(when (position) { - 0 -> R.string.button_albums - 1 -> R.string.button_artists + 0 -> R.string.button_artists + 1 -> R.string.button_albums 2 -> R.string.button_tracks else -> R.string.button_playlists }) diff --git a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/home/activity/MainActivity.kt b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/home/activity/MainActivity.kt index 6850cc14b..6296f5b71 100644 --- a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/home/activity/MainActivity.kt +++ b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/home/activity/MainActivity.kt @@ -21,6 +21,7 @@ import io.casey.musikcube.remote.service.websocket.WebSocketService import io.casey.musikcube.remote.service.websocket.model.IDataProvider import io.casey.musikcube.remote.ui.albums.activity.AlbumBrowseActivity import io.casey.musikcube.remote.ui.browse.activity.BrowseActivity +import io.casey.musikcube.remote.ui.category.activity.AllCategoriesActivity import io.casey.musikcube.remote.ui.category.activity.CategoryBrowseActivity import io.casey.musikcube.remote.ui.category.constant.NavigationType import io.casey.musikcube.remote.ui.home.fragment.InvalidPasswordDialogFragment @@ -171,8 +172,7 @@ class MainActivity : BaseActivity() { } R.id.action_categories -> { -// startActivity(AllCategoriesActivity.getStartIntent(this)) - startActivity(BrowseActivity.getStartIntent(this)) + startActivity(AllCategoriesActivity.getStartIntent(this)) return true } @@ -325,26 +325,20 @@ class MainActivity : BaseActivity() { } }) + findViewById(R.id.button_albums).setOnClickListener { + startActivity(BrowseActivity.getStartIntent(this, Metadata.Category.ALBUM)) + } + findViewById(R.id.button_artists).setOnClickListener { - startActivity(CategoryBrowseActivity - .getStartIntent(this, Metadata.Category.ALBUM_ARTIST)) + startActivity(BrowseActivity.getStartIntent(this, Metadata.Category.ALBUM_ARTIST)) } findViewById(R.id.button_tracks).setOnClickListener { - startActivity(TrackListActivity.getStartIntent(this@MainActivity)) - } - - findViewById(R.id.button_albums).setOnClickListener { - startActivity(AlbumBrowseActivity.getStartIntent(this@MainActivity)) - } - - findViewById(R.id.button_albums).setOnClickListener { - startActivity(AlbumBrowseActivity.getStartIntent(this@MainActivity)) + startActivity(BrowseActivity.getStartIntent(this, Metadata.Category.TRACKS)) } findViewById(R.id.button_playlists).setOnClickListener { - startActivity(CategoryBrowseActivity.getStartIntent( - this, Metadata.Category.PLAYLISTS, NavigationType.Tracks)) + startActivity(BrowseActivity.getStartIntent(this, Metadata.Category.PLAYLISTS)) } findViewById(R.id.button_play_queue).setOnClickListener {