diff --git a/app/src/main/java/com/github/apognu/otter/adapters/home/DummyAdapter.kt b/app/src/main/java/com/github/apognu/otter/adapters/home/HomeMediaAdapter.kt similarity index 79% rename from app/src/main/java/com/github/apognu/otter/adapters/home/DummyAdapter.kt rename to app/src/main/java/com/github/apognu/otter/adapters/home/HomeMediaAdapter.kt index e6461d3..d2081c2 100644 --- a/app/src/main/java/com/github/apognu/otter/adapters/home/DummyAdapter.kt +++ b/app/src/main/java/com/github/apognu/otter/adapters/home/HomeMediaAdapter.kt @@ -9,12 +9,12 @@ import com.github.apognu.otter.R import com.github.apognu.otter.utils.mustNormalizeUrl import com.squareup.picasso.Picasso import jp.wasabeef.picasso.transformations.RoundedCornersTransformation -import kotlinx.android.synthetic.main.row_dummy.view.* +import kotlinx.android.synthetic.main.row_home_media.view.* -class DummyAdapter(val context: Context?, val viewRes: Int = R.layout.row_dummy) : RecyclerView.Adapter() { - data class DummyItem(val label: String, val cover: String?) +class HomeMediaAdapter(val context: Context?, val viewRes: Int = R.layout.row_home_media) : RecyclerView.Adapter() { + data class HomeMediaItem(val label: String, val cover: String?) - var data: List = listOf() + var data: List = listOf() override fun getItemCount() = data.size diff --git a/app/src/main/java/com/github/apognu/otter/fragments/HomeFragment.kt b/app/src/main/java/com/github/apognu/otter/fragments/HomeFragment.kt index 2a8adaf..6da9aec 100644 --- a/app/src/main/java/com/github/apognu/otter/fragments/HomeFragment.kt +++ b/app/src/main/java/com/github/apognu/otter/fragments/HomeFragment.kt @@ -7,7 +7,7 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.github.apognu.otter.R -import com.github.apognu.otter.adapters.home.DummyAdapter +import com.github.apognu.otter.adapters.home.HomeMediaAdapter import com.github.apognu.otter.repositories.Repository import com.github.apognu.otter.repositories.home.RecentlyAddedRepository import com.github.apognu.otter.repositories.home.RecentlyListenedRepository @@ -25,10 +25,10 @@ class HomeFragment : Fragment() { private lateinit var recentlyAddedRepository: RecentlyAddedRepository private lateinit var recentlyListenedRepository: RecentlyListenedRepository - private lateinit var tagsAdapter: DummyAdapter - private lateinit var recentlyAddedAdapter: DummyAdapter - private lateinit var recentlyListenedAdapter: DummyAdapter - private lateinit var dummyAdapter: DummyAdapter + private lateinit var tagsAdapter: HomeMediaAdapter + private lateinit var recentlyAddedAdapter: HomeMediaAdapter + private lateinit var recentlyListenedAdapter: HomeMediaAdapter + private lateinit var randomAdapter: HomeMediaAdapter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -37,10 +37,10 @@ class HomeFragment : Fragment() { recentlyAddedRepository = RecentlyAddedRepository(context) recentlyListenedRepository = RecentlyListenedRepository(context) - tagsAdapter = DummyAdapter(context, R.layout.row_tag) - recentlyAddedAdapter = DummyAdapter(context) - recentlyListenedAdapter = DummyAdapter(context) - dummyAdapter = DummyAdapter(context) + tagsAdapter = HomeMediaAdapter(context, R.layout.row_tag) + recentlyAddedAdapter = HomeMediaAdapter(context) + recentlyListenedAdapter = HomeMediaAdapter(context) + randomAdapter = HomeMediaAdapter(context) } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { @@ -58,7 +58,7 @@ class HomeFragment : Fragment() { } random.apply { - adapter = dummyAdapter + adapter = randomAdapter layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) } @@ -72,33 +72,37 @@ class HomeFragment : Fragment() { layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) } - playlists.apply { - adapter = dummyAdapter - layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) - } - refresh() } private fun refresh() { tagsRepository.fetch(Repository.Origin.Network.origin).untilNetwork(IO) {data, _, _ -> GlobalScope.launch(Main) { - tagsAdapter.data = data.map { DummyAdapter.DummyItem(it.name, null) } + tagsAdapter.data = data.map { HomeMediaAdapter.HomeMediaItem(it.name, null) } tagsAdapter.notifyDataSetChanged() + + tags_loader.visibility = View.GONE + tags.visibility = View.VISIBLE } } recentlyListenedRepository.fetch(Repository.Origin.Network.origin).untilNetwork(IO) { data, _, _ -> GlobalScope.launch(Main) { - recentlyListenedAdapter.data = data.map { DummyAdapter.DummyItem(it.track.title, it.track.album.cover.original) } + recentlyListenedAdapter.data = data.map { HomeMediaAdapter.HomeMediaItem(it.track.title, it.track.album.cover.original) } recentlyListenedAdapter.notifyDataSetChanged() + + recently_listened_loader.visibility = View.GONE + recently_listened.visibility = View.VISIBLE } } recentlyAddedRepository.fetch(Repository.Origin.Network.origin).untilNetwork(IO) { data, _, _ -> GlobalScope.launch(Main) { - recentlyAddedAdapter.data = data.map { DummyAdapter.DummyItem(it.title, it.album.cover.original) } + recentlyAddedAdapter.data = data.map { HomeMediaAdapter.HomeMediaItem(it.title, it.album.cover.original) } recentlyAddedAdapter.notifyDataSetChanged() + + recently_added_loader.visibility = View.GONE + recently_added.visibility = View.VISIBLE } } } diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 0ea94e1..0449601 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -19,12 +19,19 @@ android:layout_marginBottom="16dp" android:text="Tags" /> + + + android:orientation="horizontal" + android:visibility="gone" /> + + + android:orientation="horizontal" + android:visibility="gone" /> + + + android:orientation="horizontal" + android:visibility="gone" /> + + - - - - diff --git a/app/src/main/res/layout/row_dummy.xml b/app/src/main/res/layout/row_home_media.xml similarity index 100% rename from app/src/main/res/layout/row_dummy.xml rename to app/src/main/res/layout/row_home_media.xml