Skip to content

Commit 13f89ee

Browse files
committed
cleaning up
1 parent 282f849 commit 13f89ee

File tree

6 files changed

+15
-70
lines changed

6 files changed

+15
-70
lines changed

app/src/main/java/com/riyaldi/gamekuy/detail/DetailActivity.kt

Lines changed: 15 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,13 @@ import androidx.activity.viewModels
66
import androidx.appcompat.app.AppCompatActivity
77
import androidx.core.content.ContextCompat
88
import androidx.core.view.isVisible
9-
import androidx.lifecycle.lifecycleScope
10-
import androidx.lifecycle.map
119
import com.bumptech.glide.Glide
1210
import com.google.android.material.appbar.AppBarLayout
1311
import com.riyaldi.core.data.Resource
1412
import com.riyaldi.core.domain.model.Game
1513
import com.riyaldi.gamekuy.R
1614
import com.riyaldi.gamekuy.databinding.ActivityDetailBinding
1715
import dagger.hilt.android.AndroidEntryPoint
18-
import kotlinx.coroutines.flow.map
19-
import kotlinx.coroutines.launch
2016
import kotlin.math.abs
2117

2218
@AndroidEntryPoint
@@ -25,7 +21,6 @@ class DetailActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListener
2521
private val detailViewModel: DetailViewModel by viewModels()
2622

2723
private lateinit var binding: ActivityDetailBinding
28-
private lateinit var dataGame: Game
2924

3025
companion object {
3126
const val EXTRA_GAME = "extra_game"
@@ -42,66 +37,25 @@ class DetailActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListener
4237
val game = intent.getParcelableExtra<Game>(EXTRA_GAME)
4338

4439
if (game != null) {
45-
var isFav = true
46-
47-
lifecycleScope.launch {
48-
isFav = detailViewModel.isFavorite(game.id) as Boolean
49-
}
50-
Toast.makeText(this@DetailActivity, isFav.toString(), Toast.LENGTH_SHORT).show()
51-
52-
if (isFav) {
53-
var isChanged = false
54-
55-
detailViewModel.getDetailFilm(game.id).observe(this, { detailGame ->
56-
when (detailGame) {
57-
is Resource.Loading -> showLoading(true)
58-
is Resource.Success -> {
59-
dataGame = detailGame.data as Game
60-
61-
if (dataGame.isFavorite != isFav && !isChanged) {
62-
detailViewModel.setFavoriteGame(dataGame)
63-
setFavoriteState(dataGame.isFavorite)
64-
isChanged = true
65-
}
66-
67-
populateData(dataGame)
68-
showLoading(false)
69-
40+
detailViewModel.getDetailFilm(game.id).observe(this, { detailGame ->
41+
when(detailGame) {
42+
is Resource.Loading -> showLoading(true)
43+
is Resource.Success -> {
44+
val dataGame = detailGame.data as Game
45+
setFavoriteState(dataGame.isFavorite)
46+
populateData(dataGame)
47+
showLoading(false)
48+
binding.fabAddFavorite.setOnClickListener {
49+
detailViewModel.setFavoriteGame(dataGame)
7050
setFavoriteState(dataGame.isFavorite)
71-
binding.fabAddFavorite.setOnClickListener {
72-
detailViewModel.setFavoriteGame(dataGame)
73-
setFavoriteState(dataGame.isFavorite)
74-
}
75-
}
76-
is Resource.Error -> {
77-
Toast.makeText(this, "error : ${detailGame.message}", Toast.LENGTH_SHORT).show()
78-
showLoading(false)
7951
}
8052
}
81-
})
82-
} else {
83-
detailViewModel.getDetailFilm(game.id).observe(this, { detailGame ->
84-
when (detailGame) {
85-
is Resource.Loading -> showLoading(true)
86-
is Resource.Success -> {
87-
dataGame = detailGame.data as Game
88-
89-
populateData(dataGame)
90-
showLoading(false)
91-
92-
setFavoriteState(dataGame.isFavorite)
93-
binding.fabAddFavorite.setOnClickListener {
94-
detailViewModel.setFavoriteGame(dataGame)
95-
setFavoriteState(dataGame.isFavorite)
96-
}
97-
}
98-
is Resource.Error -> {
99-
Toast.makeText(this, "error : ${detailGame.message}", Toast.LENGTH_SHORT).show()
100-
showLoading(false)
101-
}
53+
is Resource.Error -> {
54+
Toast.makeText(this, "error : ${detailGame.message}", Toast.LENGTH_SHORT).show()
55+
showLoading(false)
10256
}
103-
})
104-
}
57+
}
58+
})
10559
}
10660
}
10761

app/src/main/java/com/riyaldi/gamekuy/detail/DetailViewModel.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,4 @@ import com.riyaldi.core.domain.usecase.GameUseCase
99
class DetailViewModel @ViewModelInject constructor(private val gameUseCase: GameUseCase): ViewModel() {
1010
fun getDetailFilm(id: Int) = gameUseCase.getDetailGame(id).asLiveData()
1111
fun setFavoriteGame(game: Game) = gameUseCase.setFavoriteGame(game)
12-
suspend fun isFavorite(id: Int) = gameUseCase.isFavorite(id)
1312
}

core/src/main/java/com/riyaldi/core/data/GameRepositoryImpl.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,6 @@ class GameRepositoryImpl @Inject constructor(
7474
}
7575
}.asFlow() as Flow<Resource<Game>>
7676

77-
override suspend fun isFavorite(id: Int): Boolean? {
78-
79-
return localDataSource.getGameById(id)?.first()?.isFavorite
80-
}
81-
8277
override fun setFavoriteGame(game: Game) {
8378
val gameEntity = DataMapper.mapDomainToEntity(game)
8479
gameEntity.isFavorite = !gameEntity.isFavorite

core/src/main/java/com/riyaldi/core/domain/repository/GameRepository.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ interface GameRepository {
88
fun getGames(): Flow<Resource<List<Game>>>
99
fun getFavoriteGames(): Flow<List<Game>>
1010
fun getDetailGame(id: Int): Flow<Resource<Game>>
11-
suspend fun isFavorite(id: Int): Boolean?
1211
fun setFavoriteGame(game: Game)
1312
suspend fun searchGames(query: String): Resource<List<Game>>
1413
suspend fun insertGame(game: Game)

core/src/main/java/com/riyaldi/core/domain/usecase/GameUseCase.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ interface GameUseCase {
88
fun getGames(): Flow<Resource<List<Game>>>
99
fun getFavoriteGames(): Flow<List<Game>>
1010
fun getDetailGame(id: Int): Flow<Resource<Game>>
11-
suspend fun isFavorite(id: Int): Boolean?
1211
fun setFavoriteGame(game: Game)
1312
suspend fun searchGames(query: String): Resource<List<Game>>
1413
suspend fun insertGame(game: Game)

core/src/main/java/com/riyaldi/core/domain/usecase/GameUseCaseImpl.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class GameUseCaseImpl @Inject constructor(private val gameRepository: GameReposi
99
override fun getGames() = gameRepository.getGames()
1010
override fun getFavoriteGames() = gameRepository.getFavoriteGames()
1111
override fun getDetailGame(id: Int) = gameRepository.getDetailGame(id)
12-
override suspend fun isFavorite(id: Int): Boolean? = gameRepository.isFavorite(id)
1312
override fun setFavoriteGame(game: Game) = gameRepository.setFavoriteGame(game)
1413
override suspend fun searchGames(query: String): Resource<List<Game>> = gameRepository.searchGames(query)
1514
override suspend fun insertGame(game: Game) = gameRepository.insertGame(game)

0 commit comments

Comments
 (0)