diff options
Diffstat (limited to 'app/src/main/java/xyz/adjutor/aniki/topanime/TopAnimeAdapter.kt')
-rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/topanime/TopAnimeAdapter.kt | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/app/src/main/java/xyz/adjutor/aniki/topanime/TopAnimeAdapter.kt b/app/src/main/java/xyz/adjutor/aniki/topanime/TopAnimeAdapter.kt index 68a2c7b..e5a2bb5 100644 --- a/app/src/main/java/xyz/adjutor/aniki/topanime/TopAnimeAdapter.kt +++ b/app/src/main/java/xyz/adjutor/aniki/topanime/TopAnimeAdapter.kt @@ -1,23 +1,18 @@ -@file:Suppress("DEPRECATION") - package xyz.adjutor.aniki.topanime -import android.annotation.SuppressLint -import android.graphics.Bitmap -import android.graphics.BitmapFactory -import android.os.AsyncTask -import android.util.Log +import android.content.Intent import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView +import androidx.cardview.widget.CardView import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions import xyz.adjutor.aniki.R -import xyz.adjutor.aniki.topanime.TopAnime -import xyz.adjutor.aniki.topanime.TopAnimeAdapter -class TopAnimeAdapter(val animeList: List<TopAnime>) : +class TopAnimeAdapter(private val animeList: List<TopAnime>) : RecyclerView.Adapter<TopAnimeAdapter.AnimeViewHolder>() { // Describes an item view and its place within the RecyclerView @@ -26,7 +21,7 @@ class TopAnimeAdapter(val animeList: List<TopAnime>) : val animeRank: TextView = itemView.findViewById(R.id.tv_rank) val animeScore: TextView = itemView.findViewById(R.id.tv_score) val animeImage: ImageView = itemView.findViewById(R.id.iv_image) - + val cardview: CardView = itemView.findViewById(R.id.cv_cardView) } // Returns a new ViewHolder @@ -48,27 +43,37 @@ class TopAnimeAdapter(val animeList: List<TopAnime>) : holder.animeTitle.text = currentAnime.title holder.animeRank.text = currentAnime.rank.toString() holder.animeScore.text = currentAnime.score.toString() - DownloadImageFromInternet(holder.animeImage).execute(currentAnime.image_url) - } + val image: String = currentAnime.image_url.toString() + Glide + .with(holder.itemView.context) + .load(image) + .apply(RequestOptions().override(400)) + .into(holder.animeImage) - @SuppressLint("StaticFieldLeak") - private inner class DownloadImageFromInternet(var imageView: ImageView) : AsyncTask<String, Void, Bitmap?>() { - override fun doInBackground(vararg urls: String): Bitmap? { - val imageURL = urls[0] - var image: Bitmap? = null - try { - val `in` = java.net.URL(imageURL).openStream() - image = BitmapFactory.decodeStream(`in`) - } - catch (e: Exception) { - Log.e("Error Message", e.message.toString()) - e.printStackTrace() + //when you click on a selected cardview, some datas are sent to the other activity + holder.cardview.setOnClickListener { + val currentAnimeId = "theanimeid" + val currentAnimeTitle = "theanimetitle" + val currentAnimeRank = "theanimerank" + val currentAnimeScore = "theanimescore" + val currentAnimeImageUrl = "theanimeimageurl" + val currentAnimeEpisodes = "theanimeepisodes" + val currentAnimeStartDate = "theanimestartdate" + val currentAnimeEndDate = "theanimeenddate" + val currentAnimeUrl = "theanimeurl" + + val intent: Intent = Intent(holder.itemView.context, DetailTopAnimeActivity::class.java).apply { + putExtra(currentAnimeId, currentAnime.mal_id.toString()) + putExtra(currentAnimeTitle, currentAnime.title) + putExtra(currentAnimeRank, currentAnime.rank.toString()) + putExtra(currentAnimeScore, currentAnime.score.toString()) + putExtra(currentAnimeImageUrl, currentAnime.image_url.toString()) + putExtra(currentAnimeEpisodes, currentAnime.episodes.toString()) + putExtra(currentAnimeStartDate, currentAnime.start_date) + putExtra(currentAnimeEndDate, currentAnime.end_date.toString()) + putExtra(currentAnimeUrl, currentAnime.url.toString()) } - return image - } - override fun onPostExecute(result: Bitmap?) { - imageView.setImageBitmap(result) + holder.itemView.context.startActivity(intent) } } -} - +}
\ No newline at end of file |