Skip to content

Commit 4860c18

Browse files
committed
Treewide: Apply dicoding advice on submission 2
* ApiConfig Only use logging interceptor while in debug build * Adapter (Api or Local) Change variable to "_" when it's not use on adapter use declaration of "with(binding)" to avoid loop written of binding * Repository Re-order companion object into bottom line of the code * SplashScreen Re-declare constant value for timer on companion object Also include cleanup code ....
1 parent 3ec4cf9 commit 4860c18

10 files changed

+41
-33
lines changed

app/src/main/java/com/dicoding/moviecatalog/activity/SplashScreenActivity.kt

+5-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ class SplashScreenActivity : AppCompatActivity() {
2323
val intent = Intent(this, MainActivity::class.java)
2424
startActivity(intent)
2525
finish()
26-
}, 3000)
26+
}, delayMill.toLong())
27+
}
28+
29+
companion object {
30+
const val delayMill = 3000
2731
}
2832
}

app/src/main/java/com/dicoding/moviecatalog/adapter/CompaniesMovieAdapter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class CompaniesMovieAdapter(private val listCompanies: ArrayList<ProductionCompa
2727

2828
override fun onBindViewHolder(holder: ListViewHolder, position: Int) {
2929
with(holder) {
30-
val (logo, name, id, origin) = listCompanies[position]
30+
val (logo, name, _, origin) = listCompanies[position]
3131
val productionImage =
3232
itemView.resources.getString(R.string.movieDb_static_image) + logo
3333
binding.nameCompaniesTxt.text = name

app/src/main/java/com/dicoding/moviecatalog/adapter/SectionPagerAdapter.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ class SectionPagerAdapter(private val mContext: Context, fm: FragmentManager) :
2424
else -> Fragment()
2525
}
2626

27-
override fun getPageTitle(position: Int): CharSequence? =
27+
override fun getPageTitle(position: Int): CharSequence =
2828
mContext.resources.getString(TAB_TITLES[position])
2929

30-
override fun getCount(): Int = 2
30+
override fun getCount(): Int = TAB_TITLES.size
3131

3232
}

app/src/main/java/com/dicoding/moviecatalog/adapter/api/MovieApiAdapter.kt

+9-7
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,17 @@ class MovieApiAdapter(private val listMovieApi: ArrayList<MovieListResponse>) :
3232

3333
override fun onBindViewHolder(holder: ListViewHolder, position: Int) {
3434
with(holder) {
35-
val (movieOverview, movieOriginalLanguage, movieRevenue, movieOriginalTitle, movieReleaseDate, moviePopularity, movieVoteAverage, movieId, movieTitle, moviePosterPath) = listMovieApi[position]
35+
val (_, _, _, movieOriginalTitle, movieDate, _, movieVoteAverage, movieId, _, moviePosterPath) = listMovieApi[position]
3636
val movieImage =
3737
itemView.context.getString(R.string.movieDb_static_image) + moviePosterPath
38-
val releaseDate = inlineVariable.setReleaseDate(movieReleaseDate)
39-
binding.movieTitle.text = movieOriginalTitle
40-
binding.movieReleaseDate.text = releaseDate
41-
binding.movieRatingText.text = movieVoteAverage.toString()
42-
binding.separateRatingText.visibility = View.GONE
43-
binding.movieDurationText.visibility = View.GONE
38+
val releaseDate = inlineVariable.setReleaseDate(movieDate)
39+
with(binding) {
40+
movieTitle.text = movieOriginalTitle
41+
movieReleaseDate.text = releaseDate
42+
movieRatingText.text = movieVoteAverage.toString()
43+
separateRatingText.visibility = View.GONE
44+
movieDurationText.visibility = View.GONE
45+
}
4446
Glide.with(itemView.context)
4547
.load(movieImage)
4648
.apply(

app/src/main/java/com/dicoding/moviecatalog/adapter/api/MovieGenreApiAdapter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class MovieGenreApiAdapter(private val listMovieApi: ArrayList<MovieGenreListRes
2626

2727
override fun onBindViewHolder(holder: ListViewHolder, position: Int) {
2828
with(holder) {
29-
val (movieId, movieName) = listMovieApi[position]
29+
val (_, movieName) = listMovieApi[position]
3030
binding.movieGenreText.text = movieName
3131
genreColoringApi(holder, movieName)
3232
if (movieName == science) {

app/src/main/java/com/dicoding/moviecatalog/adapter/api/TvShowApiAdapter.kt

+8-6
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,17 @@ class TvShowApiAdapter(private val listTvShowApi: ArrayList<TvShowListResponse>)
3333

3434
override fun onBindViewHolder(holder: ListViewHolder, position: Int) {
3535
with(holder) {
36-
val (FirstAirDate, Id, Name, Episode, Seasons, Language, Overview, Poster, Vote, Popularity) = listTvShowApi[position]
36+
val (FirstAirDate, Id, Name, _, _, _, _, Poster, Vote, _) = listTvShowApi[position]
3737
val tvShowImage =
3838
itemView.context.getString(R.string.movieDb_static_image) + Poster
3939
val releaseDate = inlineVariable.setReleaseDate(FirstAirDate)
40-
binding.tvshowTitle.text = Name
41-
binding.tvshowReleaseDate.text = releaseDate
42-
binding.tvshowRatingText.text = Vote.toString()
43-
binding.separateRatingText.visibility = View.GONE
44-
binding.tvshowDurationText.visibility = View.GONE
40+
with(binding) {
41+
tvshowTitle.text = Name
42+
tvshowReleaseDate.text = releaseDate
43+
tvshowRatingText.text = Vote.toString()
44+
separateRatingText.visibility = View.GONE
45+
tvshowDurationText.visibility = View.GONE
46+
}
4547
Glide.with(itemView.context)
4648
.load(tvShowImage)
4749
.apply(

app/src/main/java/com/dicoding/moviecatalog/adapter/api/TvShowGenreApiAdapter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class TvShowGenreApiAdapter(private val listTvShowApi: ArrayList<TvShowGenreList
2626

2727
override fun onBindViewHolder(holder: ListViewHolder, position: Int) {
2828
with(holder) {
29-
val (movieId, movieName) = listTvShowApi[position]
29+
val (_, movieName) = listTvShowApi[position]
3030
binding.movieGenreText.text = movieName
3131
genreColoringApi(holder, movieName)
3232
if (movieName == science) {

app/src/main/java/com/dicoding/moviecatalog/adapter/local/TvShowAdapter.kt

-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ import com.dicoding.moviecatalog.activity.DetailShowActivity
1212
import com.dicoding.moviecatalog.data.source.remote.response.tvshow.TvShowListResponse
1313
import com.dicoding.moviecatalog.databinding.ItemsTvShowBinding
1414
import com.dicoding.moviecatalog.utils.InlineVariable
15-
import java.text.DateFormat
16-
import java.text.SimpleDateFormat
17-
import java.util.*
18-
import kotlin.collections.ArrayList
1915

2016
class TvShowAdapter :
2117
RecyclerView.Adapter<TvShowAdapter.TvShowViewHolder>() {

app/src/main/java/com/dicoding/moviecatalog/api/ApiConfig.kt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.dicoding.moviecatalog.api
22

3+
import com.dicoding.moviecatalog.BuildConfig
34
import okhttp3.OkHttpClient
45
import okhttp3.logging.HttpLoggingInterceptor
56
import retrofit2.Retrofit
@@ -8,8 +9,11 @@ import retrofit2.converter.gson.GsonConverterFactory
89
class ApiConfig {
910
companion object {
1011
fun getApiService(): ApiService {
11-
val loggingInterceptor =
12+
val loggingInterceptor = if (BuildConfig.DEBUG) {
1213
HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)
14+
} else {
15+
HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.NONE)
16+
}
1317
val client = OkHttpClient.Builder()
1418
.addInterceptor(loggingInterceptor)
1519
.build()

app/src/main/java/com/dicoding/moviecatalog/data/source/Repository.kt

+9-9
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,6 @@ import retrofit2.Response
2222
class Repository private constructor(private val remoteDataSource: RemoteDataSource) :
2323
DataSource {
2424

25-
companion object {
26-
@Volatile
27-
private var instance: Repository? = null
28-
fun getInstance(remoteData: RemoteDataSource): Repository =
29-
instance ?: synchronized(this) {
30-
instance ?: Repository(remoteData).apply { instance = this }
31-
}
32-
}
33-
3425
override fun getAllMovies(): MutableLiveData<ArrayList<MovieListResponse>> {
3526
val resultAllMovies = MutableLiveData<ArrayList<MovieListResponse>>()
3627
remoteDataSource.getAllMovies(object : RemoteDataSource.LoadMoviesCallback {
@@ -295,4 +286,13 @@ class Repository private constructor(private val remoteDataSource: RemoteDataSou
295286
})
296287
return resultGenreTvShowApi
297288
}
289+
290+
companion object {
291+
@Volatile
292+
private var instance: Repository? = null
293+
fun getInstance(remoteData: RemoteDataSource): Repository =
294+
instance ?: synchronized(this) {
295+
instance ?: Repository(remoteData).apply { instance = this }
296+
}
297+
}
298298
}

0 commit comments

Comments
 (0)