@@ -12,14 +12,15 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners
12
12
import com.bumptech.glide.request.RequestOptions
13
13
import com.dicoding.moviecatalog.R
14
14
import com.dicoding.moviecatalog.adapter.DetailMovieAdapter
15
- import com.dicoding.moviecatalog.callback.TvShowCallback
15
+ import com.dicoding.moviecatalog.adapter.DetailTvShowAdapter
16
+ import com.dicoding.moviecatalog.callback.ShareCallback
16
17
import com.dicoding.moviecatalog.data.movie.MovieEntity
17
18
import com.dicoding.moviecatalog.data.tvshow.TvShowEntity
18
19
import com.dicoding.moviecatalog.databinding.ActivityDetailShowBinding
19
20
import com.dicoding.moviecatalog.databinding.ContentDetailShowBinding
20
21
import com.dicoding.moviecatalog.viewmodel.DetailMovieViewModel
21
22
22
- class DetailShowActivity : AppCompatActivity (), TvShowCallback {
23
+ class DetailShowActivity : AppCompatActivity (), ShareCallback {
23
24
24
25
companion object {
25
26
const val SHOW_ID = " show_id"
@@ -42,6 +43,7 @@ class DetailShowActivity : AppCompatActivity(), TvShowCallback {
42
43
supportActionBar?.setDisplayHomeAsUpEnabled(true )
43
44
44
45
val adapter = DetailMovieAdapter ()
46
+ val adapter2 = DetailTvShowAdapter ()
45
47
val viewModel = ViewModelProvider (
46
48
this ,
47
49
ViewModelProvider .NewInstanceFactory ()
@@ -92,6 +94,40 @@ class DetailShowActivity : AppCompatActivity(), TvShowCallback {
92
94
} else if (showId.equals(" TvShow" )) {
93
95
val tvShowId = extras.getString(EXTRA_TV_SHOW )
94
96
if (tvShowId != null ) {
97
+ if (tvShowId == " 1" ) {
98
+ val cast = viewModel.getCastTvShow1()
99
+ adapter2.setTvShowCastList(cast)
100
+ } else if (tvShowId == " 2" ) {
101
+ val cast = viewModel.getCastTvShow2()
102
+ adapter2.setTvShowCastList(cast)
103
+ } else if (tvShowId == " 3" ) {
104
+ val cast = viewModel.getCastTvShow3()
105
+ adapter2.setTvShowCastList(cast)
106
+ } else if (tvShowId == " 4" ) {
107
+ val cast = viewModel.getCastTvShow4()
108
+ adapter2.setTvShowCastList(cast)
109
+ } else if (tvShowId == " 5" ) {
110
+ val cast = viewModel.getCastTvShow5()
111
+ adapter2.setTvShowCastList(cast)
112
+ } else if (tvShowId == " 5" ) {
113
+ val cast = viewModel.getCastTvShow5()
114
+ adapter2.setTvShowCastList(cast)
115
+ } else if (tvShowId == " 6" ) {
116
+ val cast = viewModel.getCastTvShow6()
117
+ adapter2.setTvShowCastList(cast)
118
+ } else if (tvShowId == " 7" ) {
119
+ val cast = viewModel.getCastTvShow7()
120
+ adapter2.setTvShowCastList(cast)
121
+ } else if (tvShowId == " 8" ) {
122
+ val cast = viewModel.getCastTvShow8()
123
+ adapter2.setTvShowCastList(cast)
124
+ } else if (tvShowId == " 9" ) {
125
+ val cast = viewModel.getCastTvShow9()
126
+ adapter2.setTvShowCastList(cast)
127
+ } else if (tvShowId == " 10" ) {
128
+ val cast = viewModel.getCastTvShow10()
129
+ adapter2.setTvShowCastList(cast)
130
+ }
95
131
viewModel.setSelectedTvShow(tvShowId)
96
132
populateTvShow(viewModel.getTvShow())
97
133
}
@@ -101,7 +137,14 @@ class DetailShowActivity : AppCompatActivity(), TvShowCallback {
101
137
movieDetailBinding.rvCast.isNestedScrollingEnabled = false
102
138
movieDetailBinding.rvCast.layoutManager = LinearLayoutManager (this )
103
139
movieDetailBinding.rvCast.setHasFixedSize(true )
104
- movieDetailBinding.rvCast.adapter = adapter
140
+ if (extras != null ) {
141
+ val showId = extras.getString(SHOW_ID )
142
+ if (showId.equals(" Movie" )) {
143
+ movieDetailBinding.rvCast.adapter = adapter
144
+ } else if (showId.equals(" TvShow" )) {
145
+ movieDetailBinding.rvCast.adapter = adapter2
146
+ }
147
+ }
105
148
val dividerItemDecoration =
106
149
DividerItemDecoration (movieDetailBinding.rvCast.context, DividerItemDecoration .VERTICAL )
107
150
movieDetailBinding.rvCast.addItemDecoration(dividerItemDecoration)
@@ -135,7 +178,7 @@ class DetailShowActivity : AppCompatActivity(), TvShowCallback {
135
178
)
136
179
.into(movieDetailBinding.imagePoster)
137
180
138
- movieDetailBinding.imgShare.setOnClickListener{
181
+ movieDetailBinding.imgShare.setOnClickListener {
139
182
onShareClick(movieEntity)
140
183
}
141
184
}
@@ -146,6 +189,18 @@ class DetailShowActivity : AppCompatActivity(), TvShowCallback {
146
189
movieDetailBinding.movieDurationText.text = tvShowEntity.duration
147
190
movieDetailBinding.movieRatingText.text = tvShowEntity.rating
148
191
movieDetailBinding.descText.text = tvShowEntity.description
192
+ movieDetailBinding.movieEpisodeText.text = tvShowEntity.episode + " " + tvShowEntity.season
193
+
194
+ if (tvShowEntity.genre1.equals(" Null" )) {
195
+ movieDetailBinding.cvGenre1.visibility = View .INVISIBLE
196
+ } else {
197
+ movieDetailBinding.movieGenre1Text.text = tvShowEntity.genre1
198
+ }
199
+ if (tvShowEntity.genre2.equals(" Null" )) {
200
+ movieDetailBinding.cvGenre2.visibility = View .INVISIBLE
201
+ } else {
202
+ movieDetailBinding.movieGenre2Text.text = tvShowEntity.genre2
203
+ }
149
204
150
205
Glide .with (this )
151
206
.load(tvShowEntity.imagePath)
0 commit comments