From 8cebb0c603656ecbc5781ccae48d314dff6ed5e2 Mon Sep 17 00:00:00 2001 From: Hemanth S Date: Mon, 7 Sep 2020 13:34:51 +0530 Subject: [PATCH] Code refactor --- .../adapter/playlist/LegacyPlaylistAdapter.kt | 52 +++++++++++++++++ .../playlists/ImportPlaylistFragment.kt | 56 ++----------------- 2 files changed, 58 insertions(+), 50 deletions(-) create mode 100644 app/src/main/java/code/name/monkey/retromusic/adapter/playlist/LegacyPlaylistAdapter.kt diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/playlist/LegacyPlaylistAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/playlist/LegacyPlaylistAdapter.kt new file mode 100644 index 00000000..c74c8a5f --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/playlist/LegacyPlaylistAdapter.kt @@ -0,0 +1,52 @@ +package code.name.monkey.retromusic.adapter.playlist + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.FragmentActivity +import androidx.recyclerview.widget.RecyclerView +import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder +import code.name.monkey.retromusic.model.Playlist +import code.name.monkey.retromusic.util.MusicUtil + +class LegacyPlaylistAdapter( + private val activity: FragmentActivity, + private var list: List, + private val layoutRes: Int, + private val playlistClickListener: PlaylistClickListener +) : + RecyclerView.Adapter() { + + fun swapData(list: List) { + this.list = list + notifyDataSetChanged() + } + + class ViewHolder(itemView: View) : MediaEntryViewHolder(itemView) + + override fun onCreateViewHolder( + parent: ViewGroup, + viewType: Int + ): ViewHolder { + return ViewHolder( + LayoutInflater.from(parent.context).inflate(layoutRes, parent, false) + ) + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val playlist: Playlist = list[position] + holder.title?.text = playlist.name + holder.text?.text = MusicUtil.getPlaylistInfoString(activity, playlist.getSongs()) + holder.itemView.setOnClickListener { + playlistClickListener.onPlaylistClick(playlist) + } + } + + override fun getItemCount(): Int { + return list.size + } + + interface PlaylistClickListener { + fun onPlaylistClick(playlist: Playlist) + } +} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/ImportPlaylistFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/ImportPlaylistFragment.kt index ad9e17c3..efe3c4e4 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/ImportPlaylistFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/ImportPlaylistFragment.kt @@ -1,25 +1,25 @@ package code.name.monkey.retromusic.fragments.playlists import android.os.Bundle -import android.view.* +import android.view.Menu +import android.view.MenuInflater +import android.view.View import android.widget.Toast -import androidx.fragment.app.FragmentActivity import androidx.lifecycle.Observer import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView import code.name.monkey.retromusic.R -import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder +import code.name.monkey.retromusic.adapter.playlist.LegacyPlaylistAdapter import code.name.monkey.retromusic.db.PlaylistEntity import code.name.monkey.retromusic.fragments.ReloadType.Playlists import code.name.monkey.retromusic.fragments.base.AbsRecyclerViewFragment import code.name.monkey.retromusic.model.Playlist -import code.name.monkey.retromusic.util.MusicUtil import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.launch class ImportPlaylistFragment : - AbsRecyclerViewFragment(), PlaylistClickListener { + AbsRecyclerViewFragment(), + LegacyPlaylistAdapter.PlaylistClickListener { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -69,48 +69,4 @@ class ImportPlaylistFragment : menu.removeItem(R.id.action_sort_order) super.onCreateOptionsMenu(menu, inflater) } -} - -class LegacyPlaylistAdapter( - private val activity: FragmentActivity, - private var list: List, - private val layoutRes: Int, - private val playlistClickListener: PlaylistClickListener -) : - RecyclerView.Adapter() { - - fun swapData(list: List) { - this.list = list - notifyDataSetChanged() - } - - class ViewHolder(itemView: View) : MediaEntryViewHolder(itemView) { - - } - - override fun onCreateViewHolder( - parent: ViewGroup, - viewType: Int - ): ViewHolder { - return ViewHolder( - LayoutInflater.from(parent.context).inflate(layoutRes, parent, false) - ) - } - - override fun onBindViewHolder(holder: ViewHolder, position: Int) { - val playlist: Playlist = list[position] - holder.title?.text = playlist.name - holder.text?.text = MusicUtil.getPlaylistInfoString(activity, playlist.getSongs()) - holder.itemView.setOnClickListener { - playlistClickListener.onPlaylistClick(playlist) - } - } - - override fun getItemCount(): Int { - return list.size - } -} - -interface PlaylistClickListener { - fun onPlaylistClick(playlist: Playlist) } \ No newline at end of file