Skip to content

Commit

Permalink
Remove kotlin-extensions for module :details
Browse files Browse the repository at this point in the history
  • Loading branch information
majorkik committed Dec 6, 2020
1 parent 1d177e5 commit 572c065
Show file tree
Hide file tree
Showing 23 changed files with 245 additions and 280 deletions.
1 change: 0 additions & 1 deletion feature_details/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
plugins {
id(Plugins.androidDynamicFeature)
kotlin(Plugins.android)
id("kotlin-android-extensions")
id(Plugins.navSafeArgs)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@ package com.majorik.moviebox.feature.details.presentation.adapters
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.majorik.moviebox.feature.details.domain.tmdbModels.cast.Cast
import com.majorik.moviebox.feature.details.presentation.adapters.CastAdapter.CastViewHolder
import com.majorik.library.base.constants.UrlConstants
import com.majorik.library.base.extensions.displayImageWithCenterInside
import com.majorik.library.base.extensions.setSafeOnClickListener
import com.majorik.moviebox.feature.details.databinding.ItemCastProfileCardDetailsBinding
import kotlinx.android.synthetic.main.item_cast_profile_card_details.view.*
import com.majorik.moviebox.feature.details.domain.tmdbModels.cast.Cast
import com.majorik.moviebox.feature.details.presentation.adapters.CastAdapter.CastViewHolder

class CastAdapter(private val actionClick: (id: Int) -> Unit, private val people: List<Cast>) :
RecyclerView.Adapter<CastViewHolder>() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
package com.majorik.moviebox.feature.details.presentation.adapters

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.majorik.moviebox.feature.details.R
import androidx.recyclerview.widget.RecyclerView
import com.majorik.moviebox.feature.details.databinding.ItemCompanyDetailsBinding
import com.majorik.moviebox.feature.details.domain.tmdbModels.production.ProductionCompany
import com.majorik.moviebox.feature.details.presentation.adapters.CompaniesAdapter.*
import kotlinx.android.synthetic.main.item_company_details.view.*

class CompaniesAdapter(private val companies: List<ProductionCompany>) :
RecyclerView.Adapter<CompanyViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CompanyViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_company_details, parent, false)
val layoutInflater = LayoutInflater.from(parent.context)
val viewBinding = ItemCompanyDetailsBinding.inflate(layoutInflater, parent, false)

return CompanyViewHolder(view)
return CompanyViewHolder(viewBinding)
}

override fun getItemCount() = companies.size
Expand All @@ -24,9 +22,9 @@ class CompaniesAdapter(private val companies: List<ProductionCompany>) :
holder.bindTo(companies[position])
}

class CompanyViewHolder(parent: View) : RecyclerView.ViewHolder(parent) {
class CompanyViewHolder(val viewBinding: ItemCompanyDetailsBinding) : RecyclerView.ViewHolder(viewBinding.root) {
fun bindTo(company: ProductionCompany) {
itemView.company_name.text = company.name
viewBinding.companyName.text = company.name
}
}
}
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
package com.majorik.moviebox.feature.details.presentation.adapters

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.majorik.moviebox.feature.details.R
import com.majorik.moviebox.feature.details.domain.tmdbModels.tv.Episode
import com.majorik.moviebox.feature.details.presentation.adapters.EpisodeAdapter.EpisodeViewHolder
import com.majorik.library.base.constants.UrlConstants
import com.majorik.library.base.extensions.displayImageWithCenterCrop
import kotlinx.android.synthetic.main.item_episode_card_details.view.*
import com.majorik.moviebox.feature.details.databinding.ItemEpisodeCardDetailsBinding

class EpisodeAdapter(private val episodes: List<Episode>) :
RecyclerView.Adapter<EpisodeViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EpisodeViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_episode_card_details, parent, false)
val layoutInflater = LayoutInflater.from(parent.context)
val viewBinding = ItemEpisodeCardDetailsBinding.inflate(layoutInflater, parent, false)

return EpisodeViewHolder(view)
return EpisodeViewHolder(viewBinding)
}

override fun getItemCount() = episodes.size
Expand All @@ -26,14 +24,15 @@ class EpisodeAdapter(private val episodes: List<Episode>) :
holder.bindTo(episodes[position])
}

class EpisodeViewHolder(parent: View) : RecyclerView.ViewHolder(parent) {
class EpisodeViewHolder(val viewBinding: ItemEpisodeCardDetailsBinding) :
RecyclerView.ViewHolder(viewBinding.root) {
fun bindTo(episode: Episode) {
itemView.episode_air_date.text = episode.airDate
itemView.episode_overview.text = episode.overview
itemView.episode_vote_average.text = ("${episode.voteAverage}/10")
itemView.episode_number.text = ("Сезон ${episode.seasonNumber} | Серия ${episode.episodeNumber}")
itemView.episode_name.text = episode.name
itemView.episode_backdrop.displayImageWithCenterCrop(UrlConstants.TMDB_STILL_SIZE_300 + episode.stillPath)
viewBinding.episodeAirDate.text = episode.airDate
viewBinding.episodeOverview.text = episode.overview
viewBinding.episodeVoteAverage.text = ("${episode.voteAverage}/10")
viewBinding.episodeNumber.text = ("Сезон ${episode.seasonNumber} | Серия ${episode.episodeNumber}")
viewBinding.episodeName.text = episode.name
viewBinding.episodeBackdrop.displayImageWithCenterCrop(UrlConstants.TMDB_STILL_SIZE_300 + episode.stillPath)
}
}
}
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
package com.majorik.moviebox.feature.details.presentation.adapters

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.majorik.moviebox.feature.details.R
import com.majorik.moviebox.feature.details.databinding.ItemGenreInlineDetailsBinding
import com.majorik.moviebox.feature.details.domain.tmdbModels.genre.Genre
import com.majorik.moviebox.feature.details.presentation.adapters.GenresInlineAdapter.*
import kotlinx.android.synthetic.main.item_genre_details.view.*

class GenresInlineAdapter(private val genres: List<Genre>) :
RecyclerView.Adapter<GenreViewHolder>() {
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): GenreViewHolder {
val view =
LayoutInflater.from(parent.context).inflate(R.layout.item_genre_inline_details, parent, false)
val layoutInflater = LayoutInflater.from(parent.context)
val viewBinding = ItemGenreInlineDetailsBinding.inflate(layoutInflater, parent, false)

return GenreViewHolder(view)
return GenreViewHolder(viewBinding)
}

override fun getItemCount(): Int = genres.size
Expand All @@ -27,9 +25,9 @@ class GenresInlineAdapter(private val genres: List<Genre>) :
holder.bindTo(genres[position])
}

class GenreViewHolder(private val view: View) : RecyclerView.ViewHolder(view) {
class GenreViewHolder(val viewBinding: ItemGenreInlineDetailsBinding) : RecyclerView.ViewHolder(viewBinding.root) {
fun bindTo(genre: Genre) {
itemView.genre_name.text = genre.name
viewBinding.genreName.text = genre.name
}
}
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
package com.majorik.moviebox.feature.details.presentation.adapters

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.majorik.moviebox.feature.details.domain.tmdbModels.cast.MovieCast
import com.majorik.moviebox.feature.details.R
import com.majorik.moviebox.feature.details.domain.tmdbModels.cast.TVCast
import com.majorik.moviebox.feature.details.presentation.adapters.PersonFilmographyPagerAdapter.PageViewHolder
import com.majorik.moviebox.feature.details.presentation.adapters.movie.MovieCreditsAdapter
import com.majorik.moviebox.feature.details.presentation.adapters.tv.TVCreditsAdapter
import com.majorik.library.base.extensions.px
import com.majorik.library.base.utils.SpacingDecoration
import kotlinx.android.synthetic.main.item_filmography_details.view.*
import com.majorik.moviebox.feature.details.databinding.ItemFilmographyDetailsBinding

class PersonFilmographyPagerAdapter(
private val actionMovieClick: (id: Int) -> Unit,
Expand All @@ -24,10 +22,10 @@ class PersonFilmographyPagerAdapter(
private var spanCount = 1

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PageViewHolder {
val view =
LayoutInflater.from(parent.context).inflate(R.layout.item_filmography_details, parent, false)
val layoutInflater = LayoutInflater.from(parent.context)
val viewBinding = ItemFilmographyDetailsBinding.inflate(layoutInflater, parent, false)

return PageViewHolder(view)
return PageViewHolder(viewBinding)
}

override fun getItemCount() = 2
Expand All @@ -54,24 +52,24 @@ class PersonFilmographyPagerAdapter(
notifyDataSetChanged()
}

inner class PageViewHolder(view: View) : RecyclerView.ViewHolder(view) {
inner class PageViewHolder(val viewBinding: ItemFilmographyDetailsBinding) : RecyclerView.ViewHolder(viewBinding.root) {
private val itemDecoration = SpacingDecoration(16.px(), 16.px(), true)

fun bindMovies(
spanCount: Int,
movieCasts: List<MovieCast>
) {
val layoutManager = (itemView.filmographylist.layoutManager as? GridLayoutManager)
val layoutManager = (viewBinding.filmographylist.layoutManager as? GridLayoutManager)
layoutManager?.spanCount = spanCount

if (layoutManager?.spanCount == 3) {
itemView.filmographylist.removeItemDecoration(itemDecoration)
itemView.filmographylist.addItemDecoration(itemDecoration)
viewBinding.filmographylist.removeItemDecoration(itemDecoration)
viewBinding.filmographylist.addItemDecoration(itemDecoration)
} else {
itemView.filmographylist.removeItemDecoration(itemDecoration)
viewBinding.filmographylist.removeItemDecoration(itemDecoration)
}

itemView.filmographylist.adapter = MovieCreditsAdapter(
viewBinding.filmographylist.adapter = MovieCreditsAdapter(
{ id ->
actionMovieClick(id)
},
Expand All @@ -83,17 +81,17 @@ class PersonFilmographyPagerAdapter(
spanCount: Int,
tvCasts: List<TVCast>
) {
val layoutManager = (itemView.filmographylist.layoutManager as? GridLayoutManager)
val layoutManager = (viewBinding.filmographylist.layoutManager as? GridLayoutManager)
layoutManager?.spanCount = spanCount

if (layoutManager?.spanCount == 3) {
itemView.filmographylist.removeItemDecoration(itemDecoration)
itemView.filmographylist.addItemDecoration(itemDecoration)
viewBinding.filmographylist.removeItemDecoration(itemDecoration)
viewBinding.filmographylist.addItemDecoration(itemDecoration)
} else {
itemView.filmographylist.removeItemDecoration(itemDecoration)
viewBinding.filmographylist.removeItemDecoration(itemDecoration)
}

itemView.filmographylist.adapter = TVCreditsAdapter(
viewBinding.filmographylist.adapter = TVCreditsAdapter(
{ id ->
actionTVClick(id)
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@ import androidx.recyclerview.widget.RecyclerView
import com.majorik.library.base.constants.BaseIntentKeys.ITEM_ID
import com.majorik.moviebox.feature.details.domain.tmdbModels.movie.Movie
import com.majorik.moviebox.feature.details.presentation.adapters.movie.MovieCardAdapter.*
import com.majorik.library.base.extensions.setSafeOnClickListener
import com.majorik.library.base.extensions.startActivityWithAnim
import com.majorik.moviebox.feature.details.presentation.movieDetails.MovieDetailsDialogFragment
import com.majorik.library.base.constants.UrlConstants
import com.majorik.library.base.extensions.displayImageWithCenterCrop
import com.majorik.library.base.extensions.setSafeOnClickListener
import com.majorik.moviebox.feature.details.databinding.ItemDetailsBigImageWithCornersBinding
import kotlinx.android.synthetic.main.item_big_image_with_corners_details.view.*

class MovieCardAdapter : RecyclerView.Adapter<MovieCardViewHolder>() {

Expand All @@ -31,7 +30,7 @@ class MovieCardAdapter : RecyclerView.Adapter<MovieCardViewHolder>() {
override fun onBindViewHolder(holder: MovieCardViewHolder, position: Int) {
holder.bindTo(movies[position])

holder.itemView.slider_layout.setSafeOnClickListener {
holder.viewBinding.sliderLayout.setSafeOnClickListener {
holder.itemView.context.startActivityWithAnim(
MovieDetailsDialogFragment::class.java,
Intent().apply {
Expand All @@ -51,12 +50,12 @@ class MovieCardAdapter : RecyclerView.Adapter<MovieCardViewHolder>() {
return movies[position].id.toLong()
}

class MovieCardViewHolder(private val parent: ItemDetailsBigImageWithCornersBinding) :
RecyclerView.ViewHolder(parent.root) {
class MovieCardViewHolder(val viewBinding: ItemDetailsBigImageWithCornersBinding) :
RecyclerView.ViewHolder(viewBinding.root) {
fun bindTo(movie: Movie) {
parent.placeholderText.text = movie.title
viewBinding.placeholderText.text = movie.title

parent.sliderImage.displayImageWithCenterCrop(
viewBinding.sliderImage.displayImageWithCenterCrop(
UrlConstants.TMDB_BACKDROP_SIZE_1280 + movie.backdropPath
)
}
Expand Down
Loading

0 comments on commit 572c065

Please sign in to comment.